ue/book/plan/05_chair.md
2025-02-22 11:32:32 +09:00

4.0 KiB

replicated interaction kit vol 3

その後、動作が気に入らなかったのでreplicated interaction kit vol 3というassetを購入しました。しかし、キャラの背丈が合わない場合の調整が難しく、あまりおすすめしません。

また、用意されているものすべてを使わないと設定できません。難易度は高めです。具体的にはBP_Chair, BP_InteractKitVol3, ABP_Manny, BP_ThirdPersonCharacterを使ってGASPのCBP_SandboxCharacterに組み込みます。

/Content/InteractionKitVol3/Blueprint/Blueprint/BP_Chair --> map(level)
/Content/InteractionKitVol3/Blueprint/ActorComponent/BP_InteractKitVol3 --> CBP_SandboxCharacter[Component]
/Content/InteractionKitVol3/Demo/ThirdPerson/Blueprints/BP_ThirdPersonCharacter --> CBP_SandboxCharacter[key-E, key-Space]
/Content/InteractionKitVol3/Demo/Characters/Mannequins/Animations/ABP_Manny --> CBP_SandboxCharacter[Set Anim Instance Class]

もしanimを作りたい場合は、/Content/InteractionKitVol3/Demo/Characters/Mannequins/Rigs/RTG_UE5toUE5を利用してください。

まずcomponentをCBP_SandboxCharacterに入れて、ABPを呼び出す方法があります。GASPのPre CMC Tickの処理に注意してください。InteractionKitVol3を使用する場合は停止しなければなりません。

しかし、ABPを呼び出して椅子から降りるときにもとに戻す方法では、その後動作がおかしくなります。

椅子から降りるとなにかにぶつかる

椅子から降りるとなにかにぶつかるようになるのは、/Content/InteractionKitVol3/Blueprint/ActorComponent/BP_InteractKitVol3Set Collision Response to Channelの処理が原因です。

この処理をすべて削除しましょう。

しかし、座っている間は動けるようになるので、IA_Moveに処理を入れます。

背の低いキャラを座らせる

椅子とアニメーションを改造してちょうどいいように座らせることができます。矢印の向きが座る方向になります。これを逆にしてください。

色々と問題が多いです。collisionを一時的に無効化する処理を削除しているため、mannyは椅子と距離が離れています。これ以上近づけると、逆に椅子の上に浮き上がってしまうためです。

Enable Auto Blend Outを使わない

ABPを利用せずGASPと統合する方法を紹介します。

そのままだと椅子に座ったあとにすぐ立ち上がってしまいます。これを修正するには/Content/InteractionKitVol3/Animations/AnimationMontage/AS_F_Startに以下の設定を行います。

/Content/InteractionKitVol3/Animations/AnimationMontage/AS_F_Start

  1. Enable Auto Blend Outをfalseにする
  2. 終了時に通知でEndという名前を作る
  3. /Content/InteractionKitVol3/Blueprint/ActorComponent/BP_InteractKitVol3を修正する

Enable Auto Blend Outにすると終了を受け取れなくなります。なので通知から受け取って処理するように書き換えます。

これで正常に椅子に座る、椅子から降りる、という動作ができるようになりました。