続 UE4 ラグドール化してから元に戻す方法
前に投稿したブログで無理やり実装した箇所の解決策がわかったので、これもまた残しておこうと思います。
前回の記事↓
今回できること↓
①Meshのコリジョン設定を見直す
- 初期設定のままだと床をすり抜けてしまいますのでコリジョンプリセットをCustomにします。
- CollisionEnabledをCollisionEnabledに設定します。
- CapsuleCollisionに反発されると困るので、Pawnは無視に設定します。
②ラグドール化する
- ラグドール化したいBPに処理を追加します。
- FlipFlopは実行されるたびにAとBを切り替えてくれるノードです。
- Aが実行されたときはMeshのSimulatePhysicsをTrueに設定してMeshをラグドール化します。
- Bが実行されたときはMeshのSimulatePhysicsをFalseに設定します。
- MeshをCapsuleComponentにアタッチします。(Transformは全てKeepWorldです。)
- MeshのLocationとRotationを初期値(Local)に戻すため、SetWorldLocationAndRotationでCapsuleComponentとの相対位置に設定します。
- LocationとRotationにそれぞれ引いている数はComponentのMeshに設定したLocationとRotationです。