【UE5.4】爆速で作る四足歩行Rig（猫）

## 0.用意するもの
・UE5.4（5.3～5.6までならおそらく互換性あり、それ以下のバージョンはやや結果が違う可能性あり）
・四足歩行の動物のSkeletalMesh（今回は猫）
動物系は大体同じようなボーン構成をしていることが多いです。

※動物によって特に後ろ足の曲がる方向には差があり、FullBodyIKの調整をする際は結果がいい感じになるように調整してください

環境
UE5.4.4
Windows11


## 1.覚えておいて損をしないControlRigのショトカ
#### リグの追加と親からの解除
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/d58d29e6-3e05-41c2-87b9-e48840d95f4d.png)

コントロールリグは親となるボーンを選択→リグを追加で追加するが、そのまま親子付けして利用することはほとんどない。親から解除までセットで行う。
「Ctrl+N」で選択中のボーンにリグの追加、「Shift+P」で親からの解除をを行えるので一気にやってしまうのが推奨。この記事で追加して解除と言ったら大体これをやっています。

## 2.作成/FullBodyIKの追加
今回は手足や腰の位置を決めるのにFullBodyIKを使用します。~~人型じゃないので。あとFullBodyIKだと早いし楽。~~

この6箇所にリグを追加して親から解除します。
・腰（PelvisとかRootとかとにかく全部のスタート地点になっている腰ぐらいにあるボーン）
・左右前後の足
・（好みに応じて）手と首の付け根（好みに応じてHeadでも可）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/94d77d03-3963-4b6f-82dd-f33de2aa53af.png)

リグのギスモ（赤い掴むやつのこと）の見た目は右の詳細から変えられるのでお好みに
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/cdd08f1f-2259-4e8c-a557-a84189f8144f.png)

FullBodyIKノードを追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/1e0af38c-3b8d-49eb-a422-6da32d10050a.png)
Rootに腰骨を入力

Effectorsを6個追加
先ほど追加したリグを取得（左の一覧からD&Dして取得）とリグのもとになったボーンをIKのBoneに入れてTransformにつなげる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/3a9331cc-cc78-4893-8204-83bb422c235e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/a85c6a91-b6c3-441e-8d96-62e000a624e1.png)

こんな感じ

このままだと足を曲げても曲げても第一関節が体にめり込み第二関節が曲がらないすごい絵ができてしまうのでボーンのどれだけ曲がれるかを調整する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/3d19e876-12e9-4063-b698-9e2b9a63fec5.png)

Effectorの下にあるBone Settingを２つ追加。ここからIKされたときの曲がりやすさや角度制限などを設定できる。
後ろ足分の4つを追加。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/3ae4ac09-93b0-4463-a018-95d7a275513f.png)
第一関節のRotation Stiggnessを0.9（ほぼ曲がらない）に設定。（※曲がらないわけではない）

第二関節はボーンの入力だけで設定なし
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/1dd4d184-06f4-403e-ac25-3134dfe1a92b.png)
なぜかこれで差が出る。

![スクリーンショット 2025-05-26 160427.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/28af3356-27e6-4202-aad5-63ae2f2da2b3.png)
↑あり

![スクリーンショット 2025-05-26 160446.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/c59b75ca-33e4-4775-a1b2-75a8597cd022.png)
↑なし（股関節が埋まりすぎている）

※ここのBoneの調整は本当のお好みなので自分が納得できる範囲でこだわってください

## 作成/足の回転(頭の回転）
現状足先のリグを回しても回転しないので、一緒に回転するようにしていく

Rotation Constraintノードを追加する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/fda69974-0369-4d89-82e8-0b1389250e52.png)
Nameに手のボーンを入力する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/49b98cd1-2fc8-4a4f-9f7a-6989cf867939.png)
Parents
を開いて、Typeをコントロール、Nameを回転の基盤にしたいリグにする

このままだと手だけ一回転したりするので前腕も回るようにする
先ほどと同じようにボーンとリグを入力して、今度は捻り以外の回転を入力したくないのでFilterを開く。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/5291298f-c8e4-4b4c-a102-fd11598edf16.png)

Y（※ボーンの作り方によるので要調整）軸のみの回転を反映するようにする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/8fe4fd80-8926-43a7-bcff-1254acb1990e.png)

前腕もひねられるようになった
これをつけたい足の分だけつける
もし頭の回転もしたい場合、頭用にリグを追加することで同じように回転させることができる）

## 作成/尻尾を揺らす

尻尾の作り方はいくつかある
・[SplineRigでがっちり制御したり](https://qiita.com/tukigaselio/items/83c74ed52b75ba649aa5)
・[IKでコントロールしたり](https://qiita.com/tukigaselio/items/9c6237d3383d737b07cf)

今回はAimでリグの方向をいい感じに尻尾が向く仕組みを作る。
尻尾の先端にリグを追加して親から解除。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/d39e656f-dfc2-4071-8738-0a81567bdd30.png)
Aimノードを追加する。AimノードはTargetの方向にAxisで入力されている軸を向けてくれる優れもの
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/3487fc18-9d1f-44ab-8580-7d395561206a.png)
リグを取得してTargetに入力（分解はTransformを開くことでできる）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/8352106e-c50d-4566-aeeb-22c14ff3e8d2.png)

#### 軸について
軸はSkeletalMeshを開いて向けたいボーンを確認し、ボーンの流れを見ることで確認できます。（マイナスの場合、-1になる）これをAxisに入力してください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/3a1242c9-b45b-46be-87f3-a9e463c3d292.png)

ギスモを動かすと、Aimに入れたボーンが曲がることが確認できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/7f165d46-3d4e-4243-8bbd-3c1405cb5ccb.png)

ねじれが出てしまったりとおかしくなる時
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/03372b8e-90cd-4929-8f11-f2c328e4867d.png)
SecondaryのAxisを開いて、Zを0にしてください


尻尾が一直線の猫は（あまり）いないので曲がるようにしていく。ついでに時間差をつけて揺れるようにしてみる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/5260e39d-b8b8-491e-801c-37087f370ed8.png)
尻尾のボーン数ぶんAimノードを用意

今度は直接リグから位置を取るのではなく間にSpring Interpolateノードを挟んでおく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/e3b684c6-4e7f-4e64-94c3-869f9f828176.png)
Strengthで引っ張る強さを調整できる（あまり体感変わらないので気持ち）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/1970300c-958e-4ee1-8bdf-048d9ad9d826.png)

Critical Dampingを1以下にすると揺れ、1以上で移動遅延を起こすことができる。
今回は揺れで0.5に設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/dcac5d5b-4af9-4ff5-8bf6-6a961ef5d134.png)

AimのWeightの値でどれだけ追従するかを入力できる。今回は0.2でとういつ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/d9797b36-5874-42ac-8f9d-fcb0affff6cd.png)


こんな感じで少しだけ慣性っぽさが出る。
![SetTrans_CtrlRig 2025-05-26 16-38-02.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/2dc19542-7ac1-4868-8443-b9ffbd5d2cae.gif)
全部手で制御するよりも違和感が少なくてGood
ただ床に尻尾がついているような表現は難しいので、やりたい人はSpline Rigとかで頑張ってみてください。

## 作成/耳を動かす
耳はシンプルに

耳のボーンにリグを追加＆親から解除。
肩と耳が分離すると困るので耳は肩（ある人は親）の子にしておきます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/4d097e55-1ec5-42d3-874e-f535605cfb2e.png)


リグを取得して角度だけ入力。
それ以外は耳のBoneから取得。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/4b73c646-78b8-48f8-89b0-71d3edb163d7.png)


簡単四足歩行リグの完成！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/3d463583-cd27-47b8-bb69-cedcbfaa8f71.png)

## 3.アニメーション作成
シーケンサーでSkeletalMeshのコントロールリグから自作したリグをシーケンサーで使うことができる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/634b7c5d-e361-416c-bfd5-a8eaaed120a0.png)

入力をするとこんな感じに

![CatGroom - Unreal Editor 2025-05-26 17-17-28.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/2186e3b1-4ffd-4765-b8a7-60d2ad0a7293.gif)

動物Rigもいいぞ