Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/blender/blenkernel/intern/anim.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/anim.c b/source/blender/blenkernel/intern/anim.c
index 55b3a3f3e42..b547fedebb5 100644
--- a/source/blender/blenkernel/intern/anim.c
+++ b/source/blender/blenkernel/intern/anim.c
@@ -1407,17 +1407,16 @@ static void new_particle_duplilist(ListBase *lb, ID *id, Scene *scene, Object *p
if (part->ren_as==PART_DRAW_GR && psys->part->draw & PART_DRAW_WHOLE_GR) {
for (go= part->dup_group->gobject.first, b=0; go; go= go->next, b++) {
+ copy_m4_m4(tmat, oblist[b]->obmat);
+ /* apply particle scale */
+ mul_mat3_m4_fl(tmat, size*scale);
+ mul_v3_fl(tmat[3], size*scale);
/* group dupli offset, should apply after everything else */
- if (!is_zero_v3(part->dup_group->dupli_ofs)) {
- copy_m4_m4(tmat, oblist[b]->obmat);
+ if (!is_zero_v3(part->dup_group->dupli_ofs))
sub_v3_v3v3(tmat[3], tmat[3], part->dup_group->dupli_ofs);
- mult_m4_m4m4(tmat, pamat, tmat);
- }
- else {
- mult_m4_m4m4(tmat, pamat, oblist[b]->obmat);
- }
+ /* individual particle transform */
+ mult_m4_m4m4(tmat, pamat, tmat);
- mul_mat3_m4_fl(tmat, size*scale);
if (par_space_mat)
mult_m4_m4m4(mat, par_space_mat, tmat);
else