Fraenk
Jan. 29, 2024 06:15:15
Hi,
I'm still trying to adapt my Maya-TD-workflow to Houdini by learning Apex and KineFX which in general works great. Although there are still some hick ups where I'm not sure if I did something wrong, or it's a bug, or it's just the wrong way of thinking. Anyway ... I was weight painting a simple tube with just 3 joints using the CaptureLayerPaint-SOP. Life was good until renaming the joints of my skeleton -> all the weights are broken. This surprises me to be honest cos I thought to do something simple like a renaming (which happens quite some time when prototyping) especially with all the proceduralism in mind. But again ... I'm pretty sure I DID something wrong.
Thank you so much again!
Best wishes
Frank
ASquirrel
Jan. 29, 2024 06:58:40
if you try to rename your joint post-painting, the skinning information that is stored per point has no way to know that you changed the name of the joint, as the skinning information is associated by name. (the geometry and the skeleton are to fully independant data that relate to each other only by the attribute matching)
if you want to rename your joint and have the skinning follow up, you need to edit the skinning data and rename the joint name there as well, you can use the capture attrib unpack/pack to decompose the skinning information into an array of id and an array of float (weight)
you'll also have a list of bone as a detail attribute, simply rename the bone in that detail array, and then repack it.
attached a little scene we an exemple.
Fraenk
Jan. 29, 2024 06:59:12
Solved it by simply renaming the joints after the weight-paint and done. But thank you so much for this example. I'll check this out right away. It also makes completely sense since in Houdini joints are "just" points right? And not specific transform-type/objects like in Maya.
This forum is so excellent cos all of you wizards are lightning-fast with response and extremely supportive anyway how noob-like the questions are. Thank you!
tamte
Jan. 29, 2024 13:00:24
you can also use Attribute String Edit SOP to edit boneCapture attribute directly without the need to unpack capture weights
you'd need to specify it as boneCapture* instead of just boneCapture for it to work
raincole
Jan. 29, 2024 19:05:54
tamte
you can also use Attribute String Edit SOP to edit boneCapture attribute directly without the need to unpack capture weights
you'd need to specify it as boneCapture* instead of just boneCapture for it to work
Whaaaaaaaaaaat
TIL
The captureWeight attribute really works in a mysterious way.