ゲーム開発備忘録

ゲームプログラマー UE4・5向けの記事を書いておりますので見ていただけるとありがたいです。

【ゼロからアンリアルエンジン5】㉓キャラクターの死亡時にラグドール化する

目次

 

はじめに

注意

UE5Preview2の現在の情報です。

今後のアップデートによりUIや機能が変更される可能性があることをあらかじめご理解ください。

 

解説

ラグドールとは

ラグドールとは関節の制約がついたメッシュが物理計算で動くものです。

死亡したりしたときに脱力して地面に崩れ落ちる表現で使います。

 

試しにGame/Mannequin/Character/Mesh/にあるSK_Mannequin_PhysicsAssetを開いてみましょう。

f:id:namiton:20220330111043p:plain

 

このような物理アセットを編集するウィンドウが出てきます。

f:id:namiton:20220330111208p:plain

 

ケルトンツリーから骨ごとに対応したコリジョンがセットアップされています。

f:id:namiton:20220330111257p:plain

 

また、骨ごとの回転などの制限がコンストレイントとして設定されています。

例えば頭と首のコンストレイントは画面のように設定された可動範囲が表示されます。

f:id:namiton:20220330111544p:plain

今回は詳しく説明しませんがコンストレイントの詳細からどの軸に対してどれくらいの回転の制約を付けているかを設定できます。

f:id:namiton:20220330112436p:plain

 

では、ラグドールが実際にどのように動作するか、

上の矢印アイコンからシミュレートしてみましょう。

f:id:namiton:20220330111737p:plain

 

すると重力に従って倒れるのが分かります。

f:id:namiton:20220330111830p:plain

 

Ctrlキー+右クリックで人形のように操作することができます。

f:id:namiton:20220330111959p:plain

 

確認が終わったらもう一度同じボタンを押して終了させます。

f:id:namiton:20220330112213p:plain

今回は死亡したらこのラグドール状態にしてみたいと思います。

 

②死亡時にラグドール化する

BP_ThirdPersonCharacterを開きDisableMovementの後ろに2つノードを追加します。

f:id:namiton:20220330113423p:plain 

メッシュの当たり判定をラグドールに切り替えて、重力を適応するだけです。

f:id:namiton:20220330113144p:plain

 

SetCollisionProfileName

任意のコンポーネントコリジョン応答をプリセットで上書きする。

f:id:namiton:20220330113936p:plain

▼Meshのコリジョンプリセット

f:id:namiton:20220330114040p:plain

 

SetSimulatePhysics

重力に従うかの設定

コリジョン応答にブロックがなかったりするとエラーをはくので注意

f:id:namiton:20220330114225p:plain

 

実行してみましょう。

死亡時ラグドールになっていたら成功です!

f:id:namiton:20220330114604p:plain

 

最後に

UE4やUE5向けの記事を書いています。

皆様の応援が投稿のモチベーションになりますので

コメントやTwitterのフォローなどしていただけるとありがたいです。

それではよきゲーム開発を。