takomk2
(takomk2)
1
UE5.3の質問です
以下画像のような武器をプレイヤーキャラクターにアタッチし、プレイヤーが狙っている敵を狙うようボーンのRotationを調整したいと考えてます
画像の例では砲身のボーンでヨー方向の回転を、土台部分でピッチ方向の回転を与えたいです
現状の方法として、PosableMeshを使う方法とアニメーションBPでボーンのトランスフォームを操作する方法を検討しております
今後、異なるSkeletonをもった武器メッシュを実装する可能性があるため、個別にアニメーションBPを作る手間を考えると
PosableMeshでの実装を行いたいと考えており、試したのですが明後日の方向を向いてしまってうまくいっていない状況です
以下の点について、知恵をお貸しいただきたいです
・そもそもPosableMeshの使用法が間違っているのでしょうか
→SetBoneRotationのComponentSpaceを使用しても、相対回転を与えられる訳ではないのでしょうか
・「異なるSkeletonを持った武器メッシュに、ターゲットの方向を向けさせたい」という需要に対して、より良い方法がありましたらご教授いただきたいです
tukigase
(tukigase)
2
Set Bone Rotation By Nameにおいて
・World Spaceの場合 : 親のActorの回転などを加味して角度を入力します
・Component Spaceの場合 : 親のActorの回転を無視してあくまでComponent空間上で角度を入力します
なにが違うのかというと
Actor自体に Z+90°が入っていると仮定します
FindLookAtで求めた角度はZ+20です
この時、WorldSpaceでは実質的にZ+70°になります
一方ComponentSpaceではZ+110°になります
つまるところ
WorldSpaceはActorの角度を無視して「必ず」目標を向くようになります。
今回はGet Actorを使用しているため、WorldSpaceの方がいいかと思います。
また、アニメーションにそこまで詳しいわけではありませんのでもし間違っていたらすみませんが
BoneのRotationと通常のRotationはやや扱いが違うのかそのまま入れると違う方向を向くことがあります。
SK_Manequinを使用してBoneが目標を向くBluePrintを組んでみました
参考にしてください