演算子ノードを使って移動先のロケーションを計算する
今回は、Get Actor Forward VectorノードやGet Forward Vectorノードを使わずに、指定先の位置(ロケーション)を計算する方法を備忘録にします。
※作業環境:UEバージョン5.3.2
備忘録
三角関数を利用した位置の計算方法をまとめます。
まずは基準の座標(トランスフォーム)を取得します。
今回はプレイヤーの座標にします。
「Get Actor Transform」ノードで、プレイヤーのトランスフォームを取得します。
次に角度を決めます。
「Get Actor Transform」ノードの「Return Value Rotation」ピンを分割して3つに分けます。
今回は「Yaw」軸の角度を設定していきます。
プレイヤーの「Yaw」角度に値をプラスして角度を指定します。
上の写真の通り、今回は5つの方向を設定しています。
このプラスした状態の値を変数にセットして扱います。
上の写真を例にすると、指定する角度は「Fire Ice Rotation」の変数にセットしています。
三角関数の公式を使ってXとYの座標を決定します。(Z座標は変更無しとします)
三角関数の公式を使った計算は、こんな感じ
現状のプレイヤーの位置に計算した値を足して、指定した位置になります。
あとは計算したXとYの値をロケーションに割り当てればOKです。
何かを生成したいなら「Spawn Actor from Class」や「Spawn Emitter at Location」ノードなどが使えます。
位置を変更したいだけなら「Set Actor Location」や「Set World Location」ノードなどが使えます。
他の記事を探す
他の記事も気になる方は、以下の記事の目次を確認ください。