Hey everyone.
So I'm working on a character and I've finished setting up the skeleton, I plan on using APEX to do the rigging and animation.
However I've been stumped on dealing with the weight painting. I don't want to do it manually (mostly because joint capture layer crashes randomly), so I decided to separate the character mesh into different pieces with a group workflow.
I noticed that joint biharmonic capture refused to weight paint eyebrows_middle or any other joint with that kind of middle, end name instead it opts to just weight one and ignore the rest, so I found that Joint proximity capture works much better.
So basically I'm facing two problems.
1). How do I combine the bone capture from the separated pieces back into the original single mesh (I tried to use the attribute composite from the kinefx tips and tricks video but I couldn't get the node to work at all)?
2). When I weight a piece I saw most people used a smooth node to smooth the bone capture, but when I try it, it just increases the weight pass it's initial point and one joint deforms almost the entire mesh no matter how low I set it.
How do I smooth the capture procedurally?.
Any help would be appreciated guys
Weight Painting.
967 9 1- Escanut
- Member
- 9 posts
- Joined: Aug. 2021
- Offline
- raincole
- Member
- 537 posts
- Joined: Aug. 2019
- Offline
Escanut
1). How do I combine the bone capture from the separated pieces back into the original single mesh (I tried to use the attribute composite from the kinefx tips and tricks video but I couldn't get the node to work at all)?
Enumerate SOP to generate an id attribute before you separate mesh into pieces, then Attribute Copy from captured pieces to uncaptured original mesh.
Escanut
2). When I weight a piece I saw most people used a smooth node to smooth the bone capture, but when I try it, it just increases the weight pass it's initial point and one joint deforms almost the entire mesh no matter how low I set it.
How do I smooth the capture procedurally?.
Smooth SOP should work for boneCapture. Report a bug if it doesn't.
But honestly Houdini is probably the worst app to do weight painting ever. Just use something else. As you observed, Joint Capture Layer/Joint Capture Paint crash a lot and SideFX never bothered fixing them. It's the evidence that practically no studio uses them in production.
Edited by raincole - Aug. 4, 2024 20:59:54
- Escanut
- Member
- 9 posts
- Joined: Aug. 2021
- Offline
raincoleEscanut
1). How do I combine the bone capture from the separated pieces back into the original single mesh (I tried to use the attribute composite from the kinefx tips and tricks video but I couldn't get the node to work at all)?
Enumerate SOP to generate an id attribute before you separate mesh into pieces, then Attribute Copy from captured pieces to uncaptured original mesh.Escanut
2). When I weight a piece I saw most people used a smooth node to smooth the bone capture, but when I try it, it just increases the weight pass it's initial point and one joint deforms almost the entire mesh no matter how low I set it.
How do I smooth the capture procedurally?.
Smooth SOP should work for boneCapture. Report a bug if it doesn't.
But honestly Houdini is probably the worst app to do weight painting ever. Just use something else. As you observed, Joint Capture Layer/Joint Capture Paint crash a lot and SideFX never bothered fixing them. It's the evidence that practically no studio uses them in production.
That's unfortunate, what app would you recommend?
I only use blender and Maya.
- raincole
- Member
- 537 posts
- Joined: Aug. 2019
- Offline
- goldfarb
- Staff
- 3459 posts
- Joined: July 2005
- Offline
if JointCaptureBiharmonic is giving youtroubles I would just do it maualy
place down a TetConform and feed your mesh into it
place down a Bone Capture Lines and feed you joints into it
place down a Bone Capture Biharmonic
feed the original mesh into the first input
the result of the tetconform into the second input
I have ALWAYS found this to be a better result than any other capture method I used
there is a (kinda old) tutorial here:
https://www.youtube.com/watch?v=vinCWv20Ib4 [www.youtube.com]
you can skip down to 01:44:30
place down a TetConform and feed your mesh into it
place down a Bone Capture Lines and feed you joints into it
place down a Bone Capture Biharmonic
feed the original mesh into the first input
the result of the tetconform into the second input
I have ALWAYS found this to be a better result than any other capture method I used
there is a (kinda old) tutorial here:
https://www.youtube.com/watch?v=vinCWv20Ib4 [www.youtube.com]
you can skip down to 01:44:30
- raincole
- Member
- 537 posts
- Joined: Aug. 2019
- Offline
goldfarb
if JointCaptureBiharmonic is giving youtroubles I would just do it maualy
place down a TetConform and feed your mesh into it
place down a Bone Capture Lines and feed you joints into it
place down a Bone Capture Biharmonic
feed the original mesh into the first input
the result of the tetconform into the second input
I have ALWAYS found this to be a better result than any other capture method I used
there is a (kinda old) tutorial here:
https://www.youtube.com/watch?v=vinCWv20Ib4 [www.youtube.com]
you can skip down to 01:44:30
But... this is just exactly what JointCaptureBiharmonic does, isn't it? Why would it be better?
- PHENOMDESIGN
- Member
- 166 posts
- Joined: May 2021
- Offline
raincole
But... this is just exactly what JointCaptureBiharmonic does, isn't it? Why would it be better?
With skinning weights the weights are references to something internal. The bone calculates weights (line) based on a line and the other uses the joint position (point). That means when the weight blends it calculates from the point in a Joint Capture. The Bone Capture calculates from the line points. I think this gives a more accurate distribution of the weights.
So the JointCapture is making it "move based on an internal point" and the BoneCapture is making it "not move based on an internal line".
Edited by PHENOMDESIGN - Aug. 8, 2024 16:40:40
PHENOM(enological) DESIGN;
Experimental phenomenology (study of experience) is a category of philosophy evidencing intentional variations of subjective human experiencing where both the independent and dependent variable are phenomenological. Lundh 2020
Experimental phenomenology (study of experience) is a category of philosophy evidencing intentional variations of subjective human experiencing where both the independent and dependent variable are phenomenological. Lundh 2020
- raincole
- Member
- 537 posts
- Joined: Aug. 2019
- Offline
PHENOMDESIGNraincole
But... this is just exactly what JointCaptureBiharmonic does, isn't it? Why would it be better?
With skinning weights the weights are references to something internal. The bone calculates weights (line) based on a line and the other uses the joint position (point). That means when the weight blends it calculates from the point in a Joint Capture. The Bone Capture calculates from the line points. I think this gives a more accurate distribution of the weights.
So the JointCapture is making it "move based on an internal point" and the BoneCapture is making it "not move based on an internal line".
I highly doubt it as JointCaptureBiharmonic is just a thin wrapper around BoneCaptureBiharmonic. So it doesn't make sense to claim one gets a better result than the other unless you specify how you do it differently.
@goldfarb didn't specify it: he just described how JointCaptureBiharmonic works internally: BoneCaptureLine + TetConform + BoneCaptureBiharmonic. It is informative but it'll sure get the same result as JointCaptureBiharmonic. Does he supply a different set of parameters to TetConform than JointCatpureBiharmonic's default? To BoneCaptureLine? No way to know, as this critical piece of information is mentioned nowhere.
Edited by raincole - Aug. 9, 2024 01:06:31
- PHENOMDESIGN
- Member
- 166 posts
- Joined: May 2021
- Offline
@goldfarb's video link and I believe answers the question:
PHENOM(enological) DESIGN;
Experimental phenomenology (study of experience) is a category of philosophy evidencing intentional variations of subjective human experiencing where both the independent and dependent variable are phenomenological. Lundh 2020
Experimental phenomenology (study of experience) is a category of philosophy evidencing intentional variations of subjective human experiencing where both the independent and dependent variable are phenomenological. Lundh 2020
- goldfarb
- Staff
- 3459 posts
- Joined: July 2005
- Offline
yes, I go through it in the tutorial
but the main difference is that jointcapturebiharmonic:
does a bunch of stuff that you don't know about and don't have much control over (and I'd argue don't need)
hides everything from you - so you don't know what is going on, and can't figure out how to fix something if it doesn't give the results you expect.
the biharmonic capture in Houdini is the best that I've ever used, and with some planning, breaking up your mesh into logical pieces, using different resolution tet meshes (see the tutorial) etc will give you the best results
but the main difference is that jointcapturebiharmonic:
does a bunch of stuff that you don't know about and don't have much control over (and I'd argue don't need)
hides everything from you - so you don't know what is going on, and can't figure out how to fix something if it doesn't give the results you expect.
the biharmonic capture in Houdini is the best that I've ever used, and with some planning, breaking up your mesh into logical pieces, using different resolution tet meshes (see the tutorial) etc will give you the best results
-
- Quick Links