GetHorizontalDotProductToとは??

今回「GetHorizontalDotProductTo」という
気になるノードを見つけたので

どういうノードなのかを解説します。

f:id:Free_Gamer:20190911104133p:plain

このノードは

 

OtherActorが、ターゲットの前面・後面のどちら側にいるのかを
「1」~「-1」の値で返してくれます。

 

・・・よくわかんないですよね。すいません。

 

とりあえず実際に使ってみましょう!

 

 

~OtherActorの作成~

「ThirdpersonCharacter」をコピーし

「OtherActor」という名前を付けます。

f:id:Free_Gamer:20190911110607p:plain


「OtherActor」を以下のようにレベルに配置します。

「ThirdpersonCharacter」と平行な位置に配置します。

f:id:Free_Gamer:20190911110717p:plain



~レベルBPの編集~

レベルBPを開き

イベントグラフに以下の処理を作成します。

f:id:Free_Gamer:20190911111328p:plain

「Qキー」を押した時

GetHorizontalDotProductToの返す値を表示します。

 

実際にプレイしてみましょう。

f:id:Free_Gamer:20190911111734p:plain

f:id:Free_Gamer:20190911111802p:plain

ほぼ「0」に近い数字が返されましたね。

 

今度は「ThirdpersonCharacter」の向きを

「OtherActor」の方向に向けます。

f:id:Free_Gamer:20190911112448p:plain

 

これでプレイしてみましょう。

f:id:Free_Gamer:20190911112829p:plain

f:id:Free_Gamer:20190911113236p:plain

今度は「1」が返ってきました。

 

どういう条件で値が返されるかというと・・・

f:id:Free_Gamer:20190911114748p:plain

上から見た図です。

 

ターゲット(ThirdpersonCharacter)の前面に

OtherActorがいる場合「1」を返す。

ターゲット(ThirdpersonCharacter)の後面に

OtherActorがいる場合「-1」を返す。

 

というノードなのです!

 

なので、ターゲット(ThirdpersonCharacter)の真横に

OtherActorがいた場合は

「0」に近い値を返す

といった感じになります。

f:id:Free_Gamer:20190911115620p:plain

 

 

この「GetHorizontalDotProductTo」ノードを使えば

OtherActorがプレイヤーの前面・後面どちらにいるのかを

簡単に判定できます。

f:id:Free_Gamer:20190911120215p:plain

 

youtu.be

 

お役に立てれば幸いです。

 

 

それではまた!^^ノシ