Unreal Engine初心者です.
アニメーションBPのイベントグラフで[Play Animation]ノードを使いたいです.
その際,SkeletalMeshComponentをターゲットに設定する必要があると思うのですが,アニメーションBPでターゲットを参照する方法がわかりません.
自分なりに調べ,[TryGetPawnOwner]ノードを利用して色々試してみたのですが,そもそもノードの使い方が間違っていたのか,Getすることができませんでした.
アニメーションBPのイベントグラフでSkeletalMeshComponentを直接参照し,[PlayAnimation]ノードを利用することは不可能なのでしょうか?それともアニメーションBPやクラスBPなどの設定が間違えているのでしょうか?
わかる方がいらっしゃいましたらご回答お願いいたします.
TryGetPawnOwnerから取得したPawnからSkeletalMeshComponentを取るには、それがSkeletalMeshComponentを所持しているクラスであることを確定させなければなりません
そのPawnはCharacter想定でしょうか?
であれば、CharacterにCastすればそこからMesh(SkeletalMeshComponent)の参照が取得できます
あるいはGetOwningComponentを使用してください
AnimBPのOwningComponentは確実にSkeletalMeshComponentになります
ご回答ありがとうございます。
なるほど、Characterにcastさせるのですね。。
T_SumIsakIさんが教えてくださった方法はこのような接続方法であっていますでしょうか?
この接続方法が正しければ、イベントPlay時に指定されたアニメーションを再生することができるのでしょうか?
そのとおりです
ただ、AnimSequenceを一番最初の画像のように BlueprintUpdateAnimation
で再生するのはおすすめしません
AnimSequenceを扱うのであれば、StateMachineなどAnimGraph上で扱えないかどうか検討したほうがトラブルが少ないです
AnimMontageの場合は、今回のようにイベントで呼ぶ形になるので、今回と同様に設定してみてください
1 Like