🗒️

【UE5】AimノードとAimConstraintノードの違い

に公開

UEのコントロールリグで特定の方向を向かせるノードとして「Aim」と「AimConstraint」というノードがあります。

UEの説明文

Aim

ボーンの主軸と副軸の回転をグローバルターゲットに合わせます。

AimConstraint

アイテムの目標軸がグローバルターゲットにアイテムの方向を指定します。

どちらもターゲットの方向を向かせるという機能を持っているようです。
ただAimの方はボーンに対しての使用を主目的としているのに対し、
AimConstraintの方は「アイテム」という言葉から、もう少し広い範囲に使えそうな印象です。

機能の違い

対象の指定やAimとUpの軸方向の設定など、文言の違いはあれどほぼ同じように設定可能です。
しかしいくつかAimConstraintにしかできない機能があります。

1.複数ターゲットの指定とウエイト値の設定

Parentsの横の+を押すことでターゲットを増やして複数指定することができます。
さらにそれぞれのターゲットがどのくらい影響するかウエイト値も設定できます。

例えば2つコントローラーを指定してそれぞれのウエイト値を0.5にすると、
どちらの影響も半分づつ受けるため、結果として2つのコントローラーの中間を向きます。

2.オフセットの保持

MayaなどのDCCツールを使っていると馴染みがあると思いますが、
コンストレインを設定する際にポーズを保持して設定することができます。

例えばデフォルト位置が顔より上にあるコントローラーに対してコンストレインした場合、
オフセットなしだとコントローラーの場所を向きますが、
オフセットありだとデフォルトの顔向きを維持したままコンストレインできます。

3.回転軸のフィルタリング

回転させたくない軸を指定することができます。

まとめ

基本的な機能は同じですがAimConstraintにしか無い機能をがあるようです。
シンプルな仕組みであればAimでいいかもしれませんが、複雑なことを行う予定があるのであれば、最初からAimConstraintを使用しておいた方がいいかもしれません。

Discussion