Unreal Engine 5のコントロールリグで、Full Body IKノードを使う際の設定項目です。
IKリグのフルボディIKと、ほぼ共通です。
※エフェクタ=コントロールという認識で書いています。
Effectors
Position Alpha:
ボーンの位置を、対応するコントロールの位置に反映する強さです。1で最大限近づきます。
Rotation Alpha:
ボーンの回転を、対応するコントロールの回転に反映する強さです。1で最大限近づきます。
Strength Alpha:
ボーンを、対応するコントロールが引っ張る強さです。0にすると全く引っ張らなくなりますが、他のコントロールの動きに対する抵抗は少し残ります。
Pull Chain Alpha:
値を0より大きくすると、スケルトンを内部的にチェーンとして扱い、計算結果を改善します。
ロボットアームのような、複雑な拘束があると、良い計算結果にならない場合があります。
Pin Rotation:
公式ドキュメントから引用すると、「エフェクタ トランスフォームの回転 (1.0) と入力ボーンの回転 (0.0) の間にエフェクタ ボーンの回転をブレンドします。」とのことです。
Rotation Alphaとの違いは、まだ明確に把握できていません。
以下の結果から、Pin Rotationはボーンの初期姿勢(ルートボーンの姿勢?)を反映する強さで、Rotation Alphaはコントロールの回転を反映する強さ、という認識です。
Rotation Alpha:0、Pin Rotation:1の時、コントロールの回転は対応するボーンに反映されず、ボーンの初期姿勢を維持するように、繋がったボーンとの角度は変化します。
Rotation Alpha:0、Pin Rotation:0の時、コントロールの回転は対応するボーンに反映されず、繋がったボーンとの角度を維持するように、対応ボーンの姿勢は変わります。
Rotation Alpha:1、Pin Rotation:0の時、両方の値が0の場合と同じです。Rotation Alphaは機能しません。
Bone Settings
Rotation/Position Stiffness:
コントロールの移動、回転の影響を調整します。1にすると影響が強くなります。
X/Y/Z、Min X/Y/X、Max X/Y/Z:
各軸の回転角度制限を設定します。
Freeは、自由に回転します。
Limitedは、設定した範囲で回転します。
Lockedは、回転しません。
Use Preferred Angles:
IK目標を操作した際に、優先する回転軸、角度の設定有無です。
Preferred Angles:
どの軸の回転を優先するかを調整します。
各軸の設定した角度に近づくように、ボーンが動くようになります。例えば、X、Yを0にしてZを設定すると、Z軸周りの回転を優先してボーンが動きます。
Excluded Bones
選択したボーンを、Full Body IKノードの影響から除外します。
角度制限をしても、ボーンは多少動くため、ボーンを全く動かしたくない場合に使用します。
Settings
イテレーション:
IK計算の反復回数に関わる値です。値を大きくすると目標位置に収束しやすくなりますが、計算コストが増加します。
質量乗数:
全てのボーンの、回転と平行移動に対する抵抗力に関わる値です。値が大きいほど抵抗が大きくなります。基本的には、0~10の間の値にします。
伸縮を許可:
ボーンの平行移動を許容します。ボーンの端点同士の距離変化の許容?
ルートの動作:
ルートボーンの平行移動を制御します。
Pin to Input以外は、ルートボーンの平行移動を許容します。
Pre Pullは、IK目標の移動の平均を使って、ルートボーンの平行移動を制限します。Freeに比べて計算が収束しやすくなります。
Pin to Inputは、ルートボーンの平行移動と回転をロックします。ルートボーンのボーン設定は無効になります。
Freeは、ルートボーンが自由に動きます。ボーン設定がある場合は、それに従います。計算が収束しにくくなります。
ルートの事前プル設定:
Root BehaviorがPre Pullの時の設定です。値が大きいほど、ルートボーンの平行移動と回転が大きくなります。
グローバルプルチェーンアルファ:
すべてのエフェクタのPull Chain Alphaに対する乗数です。
最大角:
各ボーン設定の反復計算ごとの最大回転角度です。値が大きいと計算の自由度が高くなり、発散しやすくなります。
過度の緩和:
計算を収束しやすくするために、各ボーン設定の拘束に倍率を掛けます。
以上です。
コメント