UE4レビュー4_光線検出

ゲーム内に相互作用を必要とするオブジェクトがある場合、光線検出を使用して、キャラクターとオブジェクトが条件を満たす(向き合っている、特定の距離内にあるなど)かどうかを判断できます。

最初に像を作成し、2つのパーティクルシステム、煙と火、回転するテキストを追加します。

彫像に近づき、正面を向いた状態でマウスの左ボタンを押すと、煙、炎、テキストがアクティブになります。

像の青写真:

 

  

 

 彫像の設計図は上記のとおりで、ゲームの最初は煙、火、テキストは見えません。

すべてアクティブな関数を記述しました。受信値がtrueの場合、3つの値が可視に変更され、テキストを回転するかどうかを制御するテキスト回転ブール値もtrueに変更されます。

 

次に、光線の検出があります。アイデアは、最初に光線の開始点としてキャラクターにスロットを作成し、次にコントロールの回転をビューの方向として使用することです。

この方法で放出される光線の開始点はスロットであり、終了点はベクトル*制御回転の長さ+スロットの開始点です。手順は次のとおりです。

キャラクターのスケルトンで頭を見つけ、socket_headという名前のスロットを作成します(図に示すように、必ずしも頭ではなく、ハンドルを通してスロットの位置をカスタマイズできます)

 

 

ロールブループリントのトレースを右クリックすると、光線検出の多くの機能が見つかります。ここでは、チャネルごとにライントレースを使用します。

レイの開始点と終了点は上記で決定され、ここでのレイの長さは400です。出力は、レイがブロックされているかどうかのブール値です。レイがブロックされている場合、レイをブロックしているオブジェクトは強制的にステータスに変換されます。変換が成功した場合、それは像のブロックです。光線の後で、そのactive all関数を呼び出して、煙、火、およびテキストをアクティブにします。

 

 

 ちょうどこのようにゲームに入った:

 

 閉じて、マウスの左ボタンをクリックしてアクティブにします。

 

 

通常の選択はコントロールの回転であるため、画面の中央を彫像に合わせる必要があることに注意してください。

法線は他の方向も選択できます。たとえば、以下はシーン内のマウスの3次元座標に基づいており、方向はカメラへのポイントです。

 

 

 描画デバッグタイプをオンにして、レイの特定の場所を確認することもできます。

 

 

別の例として、法線方向を常にキャラクターの前方向にすることで、コントロールを回転させても光線の放出方向が変化しないようにします。

 

おすすめ

転載: www.cnblogs.com/reluctante1/p/12719734.html