Home Technical Talk

SOLVED: Curve based, Joint-bound rig setup for Unreal

ninthtale
polycounter lvl 7
Offline / Send Message
ninthtale polycounter lvl 7

I’m using joints attached to curves to control the eyebrow, eyelid, and mouth deformations.

My nodes are as follows:

curveShape.worldSpace > pointOnCurveInfo.position > joint.translate

What this allows is, for example keying the bones’ position along a curve. This works really nicely in making the eyelid bones curve around the eye instead of using blendshapes that move vertices from point A to point B, causing geometry clipping when you’re working with large eyes.



I’ve run into a problem I blindly didn’t anticipate though:
The pointOnCurveInfo node is only just that: information of points on the curve. It holds no rotational information, so when the system is parented such that it follows the head, the bones remain oriented to their plane. This creates nasty deformations whenever the head is turned in any direction.


No form of constraint seems to take care of this problem.

Is there any way to keep the bones attached to their curves as I have it while having them inherit proper rotation? I’d like the flexibility of curves, but UnReal demands joints for deformations…

SOLUTION

I was able to make the following setup:

In the Node Editor, connect curveShape.worldSpace > pointOnCurveInfo.position > locator

Constrain the bone itself to the locator with a pointConstraint

Directly parent the bone to the joint whose orientation it needs to inherit—in this case, to the upperJaw bone.

This informs the bone to inherit its rotation from its parent joint and its translation from the locator, which is bound to the curve.

Replies

  • ninthtale
    Options
    Offline / Send Message
    ninthtale polycounter lvl 7

    SOLVED!

    I was able to make the following setup:

    In the Node Editor, connect curveShape.worldSpace > pointOnCurveInfo.position > locator

    Constrain the bone itself to the locator with a pointConstraint

    Directly parent the bone to the joint whose orientation it needs to inherit—in this case, to the upperJaw bone. This might prove a bit tricky with the mouth curve/joint system since it will need to be split between the upper and lower jaws (the only real problem will be the mouth corners, though, but I'll edit with however I figure that out, too).

Sign In or Register to comment.