摇摆和扭转概览
在3D旋转的语境中,摇摆(Swing)和扭转(Twist)是旋转的两个分量,它们共同描述了变换在空间中的方向。
扭转是围绕指定轴(扭转轴)旋转。 扭转不会改变轴本身的方向,只会围绕该轴旋转。 摇摆是去除扭转分量后剩余的旋转。 摇摆会改变扭转轴在3D空间中的方向,但不围绕该轴旋转。
摇摆和扭转共同构成了变换的完整旋转。 通过以这种方式分解旋转,我们就可以单独隔离并控制各个部分。这在矫正(次要)变形系统中尤为有用。
为让DNA导出器正常工作,摇摆和扭转设置必须使用绑定骨架中的关节作为输入或输出。
摇摆和扭转节点
Maya绑定中的摇摆和扭转设置使用SwingTwistEvaluator节点。 该节点在Maya中创建的方式和其他节点一样,在节点编辑器中输入名称即可。
输入参数
该节点需要一个或两个关节(变换)的旋转数据。 它使用两个旋转输入:
| 参数名称 | 说明 |
|---|---|
起始关节(X、Y、Z)(Start Joint (X,Y,Z)) | 起始变换的旋转(关节旋转)。 |
末端关节(X、Y、Z)(End Joint (X,Y,Z)) | 末端变换的旋转(关节旋转)。 |
设置参数
| 参数名称 | 说明 |
|---|---|
摇摆混合(Swing Blend) | 摇摆部分在旋转中的"跟随"比例。
|
扭转混合(Twist Blend) | 为n个扭转关节添加n个扭转混合值。 扭转混合[0]……扭转混合[n]值 逐个为扭转关节分配其"跟随扭转"的程度 — 在0%和100%扭转之间的混合值。 |
从末端(From End) | 扭转计算可从指定的末端关节开始。 默认从起始关节开始。 示例:前臂的扭转会将从末端设为True,而上臂/肩部会将其设为False,因为前臂扭转会以腕部作为扭转计算的基点。 |
输出参数
| 参数名称 | 说明 |
|---|---|
摇摆(X、Y、Z)(Swing (X,Y,Z)) | 输出最终的摇摆旋转 — 连接到摇摆变换的旋转。 |
扭转(X、Y、Z)(Twists(X,Y,Z)) | 输出最终的扭转旋转 — 连接到扭转变换的旋转。 |
扭转[n](Twists[n]) | 根据扭转混合[n]的值输出各扭转变换的最终扭转旋转。 |