演算子ノードを使って移動先のロケーションを計算する
今回は、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」ノードなどが使えますね。
他の記事を探す
他の記事も気になる方は、以下の記事の目次を確認ください。