Clusters on a Skinned mesh!


#1

Hey all,
I have a character and it has a lot of clusters on it that make nice deformations.
They work well, except for when the character is rotated. Then, even though they deform well, their translation order is changed.
(e.g. If at 0,0,0 the X axis moves on X axis, Z on Z, Y on Y… and then I rotate it by 90 degrees on Y, then Y is good but X moves on Z and Z moves on X, and if I rotate by 180 degrees then X will move on -X…)

The clusters were connected in the connection editor to relevant controllers, and some are parented to body controllers, but most are parented to locator, which is Point on Poly constrained to the different vertices on the mesh.

I was suggested to put the clusters on a blendshape, but I couldn’t get it to work with the Point on Poly, and I need the controllers to stick to the mesh.
Or maybe some sort of an expression could fix it…

Any ideas?
Thanks much!
Carmel


#2

There is a trick you could try - using the connection editor, connect the control’s parentInverseMatrix attribute to the cluster node’s bindPreMatrix, and then set the cluster to relative. But since the controls are attached to the mesh that the clusters are deforming, this will create a cycle…

To avoid a cycle, you could copy the mesh, and feed the original’s ‘outMesh’ into the copy’s ‘inMesh’ attribute. Then if you apply your clusters to the copy, and attach the controls to the original, the clusters should work.


#3

Thanks!
I will definitely try this if I get stuck again,
But I managed to figure it out on my own!
All I had to do was orient constraint the locator (with the point on poly) to a joint or a controller that moves with the appropriate part of the mesh.
Thanks much :slight_smile: