[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12564] trunk/blender/source/blender/src/ meshlaplacian.c:

Joe Eagar joeedh at gmail.com
Mon Nov 12 11:11:00 CET 2007


Hi.  I've noticed there seems to be a major bug in mesh deformers.  
Pixar's method is supposed to provide affine invariance; e.g. if you 
rotate the entire cage it won't change the shape.  However, this is not 
true for blender's implementation of it.

This is really bad as it prevents using mesh deformers to directly 
deform a character.  You should be able to have an armature drive a 
cage, which deforms the mesh (Pixar has some videos on this).  This is 
how Pixar seems to do their rigs; armature deforms cage, cage deforms 
mesh, and a third armature handles twisting limbs (thus why they came up 
with dynamic binding).

Currently the modifier produces shrinkage, which basically brings it 
down to mean value coordinate's level.

Joe

Brecht Van Lommel wrote:
> Revision: 12564
>           http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12564
> Author:   blendix
> Date:     2007-11-12 10:12:37 +0100 (Mon, 12 Nov 2007)
>
> Log Message:
> -----------
>
> Mesh Deform Modifier
> ====================
>
> Forgot to uncomment line again for the weight threshold before I committed,
> this should save some time and memory space.
>
> Modified Paths:
> --------------
>     trunk/blender/source/blender/src/meshlaplacian.c
>
> Modified: trunk/blender/source/blender/src/meshlaplacian.c
> ===================================================================
> --- trunk/blender/source/blender/src/meshlaplacian.c	2007-11-12 08:07:57 UTC (rev 12563)
> +++ trunk/blender/source/blender/src/meshlaplacian.c	2007-11-12 09:12:37 UTC (rev 12564)
> @@ -1617,7 +1617,7 @@
>  
>  				/* dynamic bind */
>  				for(b=0; b<mdb->size3; b++) {
> -					if(mdb->phi[b] >= 0.0f) { //MESHDEFORM_MIN_INFLUENCE) {
> +					if(mdb->phi[b] >= MESHDEFORM_MIN_INFLUENCE) {
>  						inf= BLI_memarena_alloc(mdb->memarena, sizeof(*inf));
>  						inf->vertex= a;
>  						inf->weight= mdb->phi[b];
>
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>
>   



More information about the Bf-committers mailing list