bone capture region nodes can also deform the geo?

   1437   4   1
User Avatar
Member
63 posts
Joined: Aug. 2013
Offline
While experimenting with editing capture regions on an already captured mesh, I discovered on accident that changing the parameters of both the capture and deform region of a bone also changed not only the region of influence of a mesh, but also how the mesh was deformed by the bone itself. This led to my building this (attached) scene (and the OpenGL-rendered-MP4-export-then-GIF-converted image) demonstrating one nifty benefit this has on correcting LBS volume loss artifacts by delaying a bones cregion rotation by half, but I'm not really sure how this is working in terms of what Houdini is doing to compute the deformation. The documentation on node doesn't have any information on if a cregion node has its own matrix, or if the values of the parameter get converted to a matrix for the bone, or for just the deform node, or if something else happens altogether. Can anyone here provide some light on this, please?

Attachments:
captureDeformOffset.gif (310.6 KB)
captureDeformRegion_LBS_rotTrick_005.hipnc (139.3 KB)

User Avatar
Member
475 posts
Joined: July 2005
Offline
Hi,

afaik the capture regions are used to set the point weights of each corresponding bone. If a point is not in the influence area, the weight is set to -1 (to be ignored). After all weights are calculated, the (valid) weights will be normalized (divided by the sum), so that the weight sum over all bones for each point is one. After this the points can be transformed using a their weights to create a weighted average of all single operations (each single operations are usually matrix transformation of the single bones). But if you use only one bone alone, the weights are always 1 because the sum has to be 1, so rotating the bone is just a simple rotation for the points or the points are not even influenced.

Attachments:
captureDeformRegion_LBS_rotTrick_005X.hipnc (141.4 KB)

User Avatar
Member
63 posts
Joined: Aug. 2013
Offline
…So there basically isn't a way to get the matrix being generated from the “rig adjustment(s)” that the cregion node is making? The only option is to use make and/or explode and/or crack transform commands while keeping track of op path references (another Maya nightmare)? Those attributes definitely help the final deformation more than dual-quaternion/BBW methods, especially in terms of creative control–it's almost reminiscent of Sony's maliciously-patented “Offset Curve Deformation” system, but might not be worth the hassle in a pipeline (which is something I have about zero familiarity as far as Houdini usage is concerned) if channel/parameter tweaking is the only access we have to cregion transformations.

(PS why don't expressions update in the timeline like keyframes do? The boneDeform node updates fine, but I have to manually change a(ny non-keyed) parameter on the cregion node or its bone container object to update the controls' visualization to the correct transformation…)

Attachments:
captureDeformRegion_LBS_rotTrick_005X_25.hipnc (250.9 KB)
2018-09-08_11-31.png (201.3 KB)
2018-09-08_11-31_1.png (195.1 KB)
2018-09-08_11-32.png (210.4 KB)

User Avatar
Member
475 posts
Joined: July 2005
Offline
Hi,

sorry I've misunderstood your question a bit. For me it looks like there is no way to get the transformation matrix from the cregion node (but i can be wrong). But I think there are several new interesting bone animation techniques. I saw several papers and I hope we will see some of them implemented in the next future versions of houdini.
User Avatar
Member
63 posts
Joined: Aug. 2013
Offline
Okay, thanks. I'm constantly looking out for new research projects/papers/code on skinning, but from what I've read and heard, implementation and integration are usually years behind (if they happen at all) as already-established pipelines tend to be really inflexible and unforgiving to sudden changes…I still like to experiment with what's already available, though…

Oh, and I also wanted to clarify that it did not take 20 file iterations to get to my last attachment. It's just that 5 is my favorite number, and I hate it when I finish on a number that isn't a multiple of 5, so I decided to just save in 5x increments from now on…
  • Quick Links