GetHorizontalDotProductToとは??
今回「GetHorizontalDotProductTo」という
気になるノードを見つけたので
どういうノードなのかを解説します。
このノードは
OtherActorが、ターゲットの前面・後面のどちら側にいるのかを
「1」~「-1」の値で返してくれます。
・・・よくわかんないですよね。すいません。
とりあえず実際に使ってみましょう!
~OtherActorの作成~
「ThirdpersonCharacter」をコピーし
「OtherActor」という名前を付けます。
「OtherActor」を以下のようにレベルに配置します。
「ThirdpersonCharacter」と平行な位置に配置します。
~レベルBPの編集~
レベルBPを開き
イベントグラフに以下の処理を作成します。
「Qキー」を押した時
GetHorizontalDotProductToの返す値を表示します。
実際にプレイしてみましょう。
ほぼ「0」に近い数字が返されましたね。
今度は「ThirdpersonCharacter」の向きを
「OtherActor」の方向に向けます。
これでプレイしてみましょう。
今度は「1」が返ってきました。
どういう条件で値が返されるかというと・・・
上から見た図です。
ターゲット(ThirdpersonCharacter)の前面に
OtherActorがいる場合「1」を返す。
ターゲット(ThirdpersonCharacter)の後面に
OtherActorがいる場合「-1」を返す。
というノードなのです!
なので、ターゲット(ThirdpersonCharacter)の真横に
OtherActorがいた場合は
「0」に近い値を返す
といった感じになります。
この「GetHorizontalDotProductTo」ノードを使えば
OtherActorがプレイヤーの前面・後面どちらにいるのかを
簡単に判定できます。
お役に立てれば幸いです。
それではまた!^^ノシ