diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-04-02 05:36:40 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-04-02 05:36:40 +0400 |
commit | fb994b3c857bdf3a7313da046580c0fb76e8b620 (patch) | |
tree | 95fdc8fbc6f871fe5ae0e3d60eb62342e9daa86f /source | |
parent | 3f6158eedc5657917972ba70f1a3038104a4f066 (diff) |
fix [#26727] Make Proxy ignores group offset
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index ca31cd1b0b1..56a209eca60 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1563,6 +1563,9 @@ void object_make_proxy(Object *ob, Object *target, Object *gob) if(gob) { ob->rotmode= target->rotmode; mul_m4_m4m4(ob->obmat, target->obmat, gob->obmat); + if(gob->dup_group) { /* should always be true */ + sub_v3_v3(ob->obmat[3], gob->dup_group->dupli_ofs); + } object_apply_mat4(ob, ob->obmat, FALSE, TRUE); } else { @@ -2556,6 +2559,9 @@ void object_handle_update(Scene *scene, Object *ob) Object *obg= ob->proxy_from->proxy_group; invert_m4_m4(obg->imat, obg->obmat); mul_m4_m4m4(ob->obmat, ob->proxy_from->obmat, obg->imat); + if(obg->dup_group) { /* should always be true */ + add_v3_v3(ob->obmat[3], obg->dup_group->dupli_ofs); + } } else copy_m4_m4(ob->obmat, ob->proxy_from->obmat); |