KineFX - Remove all skin weighting of particular joint(root)

   2763   3   2
User Avatar
Member
11 posts
Joined: June 2017
Offline
Hey SideFX forum folks,

Is there a way to procedurally remove all skin weighting of a particular joint after Bone Capture Biharmonic? I know you can manually paint reduce/remove/smooth weights afterwards via a Capture Layer Paint, but is there a way to do this procedurally?

In my case, I'm trying to remove all skin weighting from the root joint. The rig hierarchy needs to stay consistent for game-engine (Unreal) purposes, so I can't blast the root joint out before the skinning process. Any ideas here?

Thanks for your time,
Mark

Attachments:
remove_root_bone_weight.png (2.7 MB)

Lead Unreal Technical Artist @ Silver Spoon Animation (part of AE.Live) // portfolio: realtimemark.fun // artstation: @mmmark
User Avatar
Member
84 posts
Joined: July 2018
Offline
Yeah. You can use the Capture Attribute Unpack node to convert the capture weights into a format that is more easily accessible with VEX. You end up with two long detail arrays that give you the index of each joint. Once you identify the bone's index in the array (use find() to get the index in the array). Then you'll see each point has two point attributes: an index array that shows which joints are influencing it and their relative weights. Search for the index of the root joint from the detail array and set its weights to 0.

https://www.sidefx.com/docs/houdini/nodes/sop/captureattribunpack.html [www.sidefx.com]

It's a little counter-intuitive, and to be honest I still find weighting easier to do by hand with weight painting, but if you can do it. Post a hip file if the documentation isn't clear.
Edited by made-by-geoff - Aug. 17, 2022 21:29:28
madebygeoff.com
User Avatar
Member
9374 posts
Joined: July 2007
Offline
you can also use Capture Correct SOP and type the name of the joint you want to remove from weights into Regions to Remove

however if any of the points were 100% weighted to that joint they will become unweighted, all other points will normalize to other joints that were influencing them
Tomas Slancik
CG Supervisor
Framestore, NY
User Avatar
Member
11 posts
Joined: June 2017
Offline
Hey Geoff + Tamte,

Thanks for the replies. I've seen a Brundlethwaite tutorial on Modifying Weight Data post capture, but that was a lot for what I was hoping could be a pre capture edit. I asked this same question on the cgwiki discord, and Matt Estela kindly responded with some tips for how I could approach modifying pre + post capture data for my use case.

The one I went with was using a group selection in the Bone Capture Lines. This group selection excluded the root, while including only the joints in the leg/hip area. This worked great for me since I only needed the leg + hip area joints influencing the capture since I'm trying to skin weight pants to a rig.

Hope this thread helps anyone else looking to do the same thing(s).
Mark
Edited by mmmark - Aug. 17, 2022 23:09:57

Attachments:
remove_root_bone_weight_success_setup.png (25.8 KB)
remove_root_bone_weight_success_setup_2.png (28.5 KB)
remove_root_bone_weight_success.png (1.7 MB)

Lead Unreal Technical Artist @ Silver Spoon Animation (part of AE.Live) // portfolio: realtimemark.fun // artstation: @mmmark
  • Quick Links