ネリスさん備忘録

主にUE4の備忘録を残すよ!

【UE4】敵がプレイヤーキャラクターからみて正面にいるかどうかを調べる!

キャラクターの正面方向にいる敵を自動的にロックオンして追尾する攻撃をしたいなぁ

なんて考えているとき、色々考えたけど結局こういう形に落ち着いた。

f:id:LunaNelis:20200601023858p:plain

 

今回はMultiSphereTraceForObjectsノードで取得したActorの配列を

ForeachLoopで順番にチェック

 

で、まずは自分のキャラクターの座標と相手の座標をFindLookRotationノードで

自→相手の向きを計算する。

今回は上下については不問とするので、チェックするのはZ軸のYawだけでOK

 

自キャラのYawと引き算をして、その絶対値が小さければ小さいほどキャラクターの正面に近い相手となる。

(帰ってくる数値は度)

 

そして、「<45」のようにすれば指定した角度内の相手だけを抽出できる。

これを使うことで、コーン型範囲内の敵をロックするといったことができたりする。

 

近い敵をロックオンとかはよく記事にあるんだけど、キャラの正面かどうかって地味ーな内容ってあんまりなかった気がする。

 

何かには使えるでしょう。