Multi Line Trace (レイキャスト) by Channel を使用する

Multi Line Trace by Channel Blueprint ノードを使って Visilibity チャンネルに反応するすべてのアクタを戻し、その名前をプリントします。

Choose your operating system:

Windows

macOS

Linux

コンテンツ

MultiLineTraceByChannel は、所定のラインに沿ってコリジョン トレースを実行し、指定した Trace Channel に反応するオブジェクトのみを返しながら、最初にブロックするヒットを含めてそこまでに遭遇するすべてのヒットを返します。つまり、コリジョンを持つ多くの アクタ または コンポーネント で、トレースの開始と終了との間の指定した Trace Channel に Overlap するもの全てを受け取ることを意味します。しかし、指定した Trace Channel を Blocks する最初のヒットでは、そのアイテムだけを受け取ります。トレース チャンネルのオーバーラップやブロックに関係なく全アイテムを受け取る場合は、 MultiLineTraceByObject ノードを使用します。以下では、 MultiLineTraceByChannel を設定します。

ステップ

  1. トレースをセットアップするために使用した LineTraceByChannel の手順に従います。

  2. LineTraceByChannel ノードを、 MultiLineTraceByChannel ノードに置き換えます。

  3. Out Hits ピンを引き出して ForEachLoop ノードを追加します。

    GHT2B_18.png

    複数のアクタがヒットするので、それぞれに何かを行わせます (この例ではアクタを画面にプリントします)。

  4. Array Element を引き出して、 Break Hit Result を追加します。 Hit Actor を引き出して Get Display Name (Object) を追加して Print String に接続します。

    画像をクリックすると画面表示が大きくなります。

    配列がヒットしたそれぞれのアクタが文字列で表示されるようになります。

結果

物理アクタの正面にガラスの窓があります。

GHT2B_17.png

物理アクタ (キューブ) の Visibility Block に設定されていますが、ガラスの窓は 被破壊メッシュ で、コリジョン設定での Visibility に対する Trace Response Overlap となっています。オブジェクトを貫通 (破砕) して敵にもヒットさせたい場合に使用することができます。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル