【UE4】銃を持った時の左手の位置調整

UE4で、プレイヤーや敵などに銃を持たせるとき、たいていは右手に銃をアタッチしているかと思います。

片手で持って撃つモーションだったらそれで終わりでいいのですが、両手で構えるタイプのモーションでやりたい場合、左手も銃の適切な位置に合わせないと不自然な見た目になってしまいます。

既に先人たちがたくさん資料を書いていますが、HandIKを使うことで対応ができます。

画像1


しかし、これだけだとなかなか左手が意図通りの位置に行きません。

そこで、

画像2

武器のスケルトンに「左手のアタッチ先」(名前は任意のものでok)のソケットを追加


画像3

画像4

AnimationBPにて、キャラクターの武器のソケット位置を取得。(GetSocketTransformノード)

Transformを分解して、Locationを変数化。


AnimGraphで、TwoBoneIKノードを作成。

画像6

プロパティで、IKBoneに左手にあたるボーン名を指定。

エフェクタはWorldSpace


画像5

先ほど変数化したLocationを、TwoBoneIKノードのEffectorLocationに繋ぐ。



画像7

画像8

画像9

画像10

こんな感じ。

ロケランはモーションも違うんですが、上のライフル系の武器は同じモーションで左手位置になるソケットがそれぞれ違う位置になってます。

今まで苦労してたのが嘘みたいに簡単にできました。


この記事が気に入ったらサポートをしてみませんか?