Resist

Resist は、ジョイントが最終的なソリューションで最初の角度を維持する機能をコントロールします。

 

たとえば、左の図では、緑色のロケータが、左手首のジョイントに対応するエフェクタの位置を表します。

 

通常、手首エフェクタの Reach Translation の値を設定すると、まず腕が伸びます。腕をそれ以上伸ばすことができない場合は、エフェクタの Pull 設定が機能し、キャラクタのスケルトンの他のジョイント チェーンに作用して手首ジョイントをエフェクタの位置に到達させます。

 

しかし、肘ジョイントの Resist 値を設定すると、そのジョイントが最終的なソリューションで元の角度を維持しようとします。

この場合、手首ジョイントをエフェクタに届かせるために腕を伸ばすことはできません。そのため、エフェクタの Pull が機能します。 手首をターゲット ポイントに移動するには、ボディの他の部分を傾かせる必要があります。

Resist 値は、HumanIK の Pull エンジンによって考慮されます。 インバース キネマティック ソルバを使用するときのジョイントの Resist 設定の効果を確認するには、ボディ パーツを IK ソルバに渡された最初の HIKCharacterState で曲げ、スケルトン階層の下位にあるエフェクタが、割り当てられた Pull 値と Reach Translation 値の結果として、曲がったジョイントを伸ばすように作用している必要があります。

たとえば、上記の図では、左手首をターゲット位置に移動するときに肘の Resist 値が考慮されるようにするには、Pull 値と Reach Translation 値を使用して左手首を設定する必要があります。同様に、肩ジョイントに設定された Resist 値の効果を確認するには、肘または手首のエフェクタ(肩を伸ばすために機能している方)に Pull 値と Reach Translation 値を適用する必要があります。

Resist 設定が可能なジョイント

すべてのエフェクタに Resist 値を設定することが可能ですが、それらの Resist 値は次のジョイントに対してのみ考慮されます。