[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45809] trunk/blender/source/blender/ blenkernel/intern/anim.c: Fix for particle dupli group relative offsets.

Lukas Toenne lukas.toenne at googlemail.com
Fri Apr 20 14:55:57 CEST 2012


Revision: 45809
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45809
Author:   lukastoenne
Date:     2012-04-20 12:55:57 +0000 (Fri, 20 Apr 2012)
Log Message:
-----------
Fix for particle dupli group relative offsets. The relative transforms of objects in the instanced group were not scaled according to the particle size, which would be expected when rendering as 'Whole Group'. Requested by Francesco Siddi (fsiddi) over IRC.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/anim.c

Modified: trunk/blender/source/blender/blenkernel/intern/anim.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/anim.c	2012-04-20 12:55:44 UTC (rev 45808)
+++ trunk/blender/source/blender/blenkernel/intern/anim.c	2012-04-20 12:55:57 UTC (rev 45809)
@@ -1407,17 +1407,16 @@
 			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




More information about the Bf-blender-cvs mailing list