4.26 Preview Control Rig Backward Solving

Can anyone provide details on how to setup the mannequin rig for backward solving?
Bit annoying most of the deprecated nodes have to be manually replaced. No problems there though. I got a bit of a way through it.
I don’t think you can just set transform from a bone, to control in global space.

I was having a similar issue with the Setup Event node. I was trying to set initial control transforms/locations from initial bone positions with little luck. Maybe a wire got crossed when they updated the nodes?

I have not come across any problems using nodes, as far as I could tell. What I’m asking for is guidance on how to implement backward solving, from bones, onto controls.
They’ve released this preview stuff with next to nothing for reference. It could totally transform my workflow. As such, pretty much everything I’m doing is on pause, until I can evaluate how these features are supposed to work. I’m pretty sure none of this has been covered in streams.

I’m also pretty sure Setup Event has already been in use for a while now in Fortnite, so I doubt they would have broken something and not noticed. I’m less concerned about that, but also eventually want to use it for the same purpose of handling characters with differing proportions.

Okay it does seem like that’s a new node as well, watching the video again, it makes out like there was going to be a separate graph to handle this.

Hmm, actually I don’t think this really is very complicated, probably would have taken me less time to continue testing, instead of making a post. :o
I’m sold, now I’ll have to move my project to a preview build… :eek:

How are you setting up the backward solve for IK joints? I’m unclear as to how to position the pole vector? Any guidance?

Is there any new documentation for it? Also what the heck does the Setup node do, I can’t seem to figure out exactly what kinds of things should be done with it?

[Edit] Nevermind, it seems to work the way you’d expect. Still need to figure out backwards solving though

It’s pretty straight forward. Often you can take the transform of the bone, and apply it to the control, in global space (and make sure propagate to children is turned on). It gets trickier with the IK nodes. Here’s an example of what I did for the mannequin’s arm/leg IK:

1 Like

The Example of Ctrl Rig is really useful but I don’t imagine to setup this everything per SkeletalMesh that I import for game. I have setup all controls for bones and specific rotations for them without 3 spines. They use specific values for min/max rotation value also Pole vector and effector is executed with get control transform notes. I really wish copy all data from RIg to another one but in this case is impossible because my other characters will use other skeleton and hierarchy with similar names. This workflow takes me a lot of times but it’s still better than Unity.

Thanks, yes after playing with it for a bit, it seems pretty straightforward and works the way you’d expect it to work. Nice example with computing the pole vector - I was thinking a simple way could also be to position the PV control as if it were a child of the elbow (Daryl Obert from Maya had an example doing this with HumanIK baking to a custom rig). It doesn’t give a “true” pole vector position but it does bake the arm angle correctly.

1 Like

Yes, that’s a nice option re the pole vector. I don’t really need exact fidelity when using this.
I’m also not totally sold on using pole vec for arm constraints at least, versus other options.

Note: I find that it is good to leave a little play room with the pole vector vs right at the source elbow (so aligned with the elbow but straight back a little and still planar with the shoulder/elbow/wrist). If you took dakitten’s example with the two vectors (one from wrist to elbow and one vector from shoulder to elbow), and added an additional amount past the elbow for each, as well adding an offset perpendicular for each… then take the average of the two locations it would always put it straight back behind the elbow… ( the extra perpendicular offset ensures that when the arm is straight, it doesn’t move to the other side and flip ).

1 Like

Option 2 is to project a closest point on the line (line = shoulder to wrist, and point is the elbow) That gives you the direction vector… now just add an offset value starting at the elbow in the direction of that vector (the vector created by that closest point, to the elbow). This however could flip if the arm is allowed to be perfectly straight.

1 Like