公開日:2025/06/28  更新日:2025/06/28

UE5のLine Trace By Channel

UE5でレイキャスト(レイを飛ばして情報を得る)が可能なノードの一つがLine Trace By Channelだ。

Line Trace By Channelは直線のレイを飛ばすという最も基本的なもので、使用機会も多い。

詳しく詳細を紹介していく。

Line Trace By Channelの一覧目次

Line Trace By Channelの詳細
Line Trace By Channelの使い方
目次にもどる

Line Trace By Channelの詳細

UE5のLine Trace By Channel

Startにはレイを放つ最初の位置を入力する。

Endにはレイが終了する位置を入力する。

Trace Channelには接触判定を行うコリジョンチャンネルを入力する。

デフォルトではTrace ChannelはVisibilityとなっており、Cameraに変更することも可能。

この各Trace Channelの設定はコリジョンのコンポーネントを選択して詳細タブで確認できる。

UE5のLine Trace By Channel

以上のようにコリジョンのVisibilityが無視にチェックが入っており、Trace ChannelにVisibilityを選択していた場合、Line Trace By Channelでレイを撃ってもそのコリジョンは検知できない。

例えば、キャラなどは検知できなくしておき、壁などを検知できるようにしておく。そうすれば敵キャラの視線が壁で遮られているかどうか判断する処理を作ることができる。

コリジョン設定についてよくわからない場合は、以下の記事で詳しく紹介しているので確認してみてほしい。

コリジョン設定

コリジョンチャンネルは増やすこともできる。

一番上のメニューから編集を選択し、プロジェクト設定を選択。

UE5のLine Trace By Channel

左メニューからコリジョンを選択。

UE5のLine Trace By Channel

以下の画面になる。

UE5のLine Trace By Channel

Object Channelsではオブジェクト同士の接触判定のチャンネルを作成可能。その下のTrace Channelsでトレースチャンネルを作成できる。

今回はトレースチャンネルを作りたいので、Trace Channelsの新規のトレースチャンネルを選択。

名前を今回はLineOfSightとした。承認ボタンを押せば作成される。

UE5のLine Trace By Channel

以下のようにLineOfSightのコリジョン設定が可能となり、Line Trace By ChannelのTrace ChannelからもLineOfSightを選べるようになる。

UE5のLine Trace By Channel

ノードの説明に戻る。

UE5のLine Trace By Channel

Trace Complexには✓を入れない場合は単純なコリジョンをテスト。✓を入れると複雑なコリジョンをテストし詳細な衝突検出をする。

Actors to Ignoreには接触判定を無視するアクター配列を入力する。

Draw Debug Typeで処理を行った際に画面に結果を表示するかどうか。

None…表示しない。

For One Frame…1フレームだけ表示。

For Duration…少しの時間表示。

Persistent…ずっと表示。

Ignore Selfにチェックを入れると自分自身を接触判定の対象から外す。

レイで検知したいのは自分以外であることがほとんど。基本的にチェックを入れる。

目次にもどる

Line Trace By Channelの使い方

今回はキャラが向いている方向にLine Trace By Channelでレイを飛ばしてみる。

以下のようにノードを配置した。

UE5のLine Trace By Channel

Startにはキャラの位置をGet Actor Locationでとってきて入力。

Endには、Get Actor Forward Vectorでキャラの前方向のベクトル(長さが1の単位ベクトルになる)を取得し、10000をかけてある程度の長さにしてやり、それをキャラの位置へ足し算することで生まれた座標を入れる。

これでキャラの位置から、キャラの前方向に10000進んだ位置へレイが飛ぶ処理が作れる。

UE5の基本まとめへ戻る

重要ノード一覧へ戻る

page top