たびたびお世話になります。 キャラクターの背中にアローコンポーネントを設置してその方向に推進力を発生させようとしています。 キャラを上方向に浮かすことはできたので、キャラを-90度回転させて横に倒したときにアローコンポーネントも回転させて、推進力を前に向けようとしていますが、キャラを-90度回転させても推進力が働く方向が変わらず、上に浮いただけで前に進みません。 アローコンポーネントはキャラのボーンにアタッチしています。 どなたかご教授ください。よろしくお願いします。
AddForceに与える推進力の方向がWorld座標系に対しZ方向に固定されているように見受けられます
AddForceのForceVector入力はWorld座標系です
現在入力しているVectorは、Characterの向きやArrowComponentの向きを一切考慮していないため、Characterの向きがどうであろうと向きが変わることはありません
なお、ControlRotationから取得しているではないか、という反論があるかと思いますが、
ControlRotationのPitchを0にして使用している以上、そのUpVectorは常にWorld軸に対して上(0, 0, 1)を示します
これを乗算するとZ成分しか残りませんね?
推進方向としてRotation成分を取るのであれば、ArrowComponentのWorldRotationを取るべきでしょう
加えて、UpVectorではなくForwardVectorを使用することをおすすめします
ArrowComponentのForwardVectorは見た目通り矢印の方向になるため、感覚的にもわかりやすいかと思います