MultiLineTraceByChannel は、所定のラインに沿ってコリジョン トレースを実行し、指定した Trace Channel に反応するオブジェクトのみを返しながら、最初にブロックするヒットを含めてそこまでに遭遇するすべてのヒットを返します。つまり、コリジョンを持つ多くの アクタ または コンポーネント で、トレースの開始と終了との間の指定した Trace Channel に Overlap するもの全てを受け取ることを意味します。しかし、指定した Trace Channel を Blocks する最初のヒットでは、そのアイテムだけを受け取ります。トレース チャンネルのオーバーラップやブロックに関係なく全アイテムを受け取る場合は、MultiLineTraceByObject ノードを使用します。以下では、MultiLineTraceByChannel を設定します。
ステップ
トレースをセットアップするために使用した Line Trace By Channel の手順に従います。
LineTrace By Channel ノードを、Multi Line Trace By Channel ノードに置き換えます。
Out Hits ピンを引き出して For Each Loop ノードを追加します。
複数のアクタがヒットするので、それぞれに何かを行わせます (この例ではアクタを画面にプリントします)。
Array Element を引き出して、Break Hit Result を追加します。Hit Actor を引き出して Get Display Name (Object) を追加して Print String ノードに接続します。
配列がヒットしたそれぞれのアクタが文字列で表示されるようになります。
結果
物理アクタの正面にガラスの窓があります。
物理アクタ (キューブ) の Visibility は Block に設定されていますが、ガラスの窓は 被破壊メッシュ で、コリジョン設定での Visibility に対する Trace Response は Overlap となっています。オブジェクトを貫通 (破砕) して敵にもヒットさせたい場合に使用することができます。