Unreal Engineでアクタとの当たり判定を行う(Event ActorBeginOverlapイベントを追加する)方法について解説
Unreal Engineでアクタとの当たり判定を行う方法について解説します。
当たり判定の検出にはいくつか方法がありますが、この記事ではEvent ActorBeginOverlapというイベントを追加して当たり判定を検出する方法について説明します。
Event ActorBeginOverlapイベントとは?
Event ActorBeginOverlapとは、「アクタに対して他のアクタが重なったことを検出すると動き出すイベント」のことです。
特定のエリアに入ったことを検知したり、アクタ同士が重なったことを検知して何かをさせたい時に使います。
次にEvent ActorBeginOverlapをBlueprintで使う方法を解説していきます。
ステップ1:アクタの追加
まず、新しいブループリントアクタを作成します。
コンテンツブラウザで右クリックし、「新規作成」→「ブループリントクラス」を選択します。
「アクタ」をベースクラスとして選択し、新しいブループリントを作成します。
ステップ2: コリジョンコンポーネントの追加
次に、アクタにコリジョンコンポーネントを追加します。
作成したブループリントアクタをダブルクリックして開きます。
左側の「コンポーネント」タブで「追加」をクリックし、「Box Collision」を検索してBox Collisionを選択して追加します。
追加したBox Collisionコンポーネントを選択し、Unreal Engineの画面の右側の「詳細」タブで「Generate Overlap Events」の設定を検索して、有効になっていることを確認します。
「Generate Overlap Events」にチェックが入っていなかったら、チェックを入れておきましょう。
ステップ3:Event ActorBeginOverlapノードを追加する
次にアクタのイベントグラフを開きます。
イベントグラフ内で右クリックをして「Event ActorBeginOverlap」を検索し、Event ActorBeginOverlapノードを追加します。
この追加したイベントノードに処理をつなげていくことで、他のアクタと重なった時の処理を実装することができます。
ステップ4:Event ActorBeginOverlapノードに処理を追加する
「Cast To XXX」のノードを繋げ、白ピンからも線を繋ぎます。
Castが成功すれば、さらにその次のノードに処理が移ります。
重なったのが指定したものと違うアクタの場合は、「Cast To XXX」ノードの「Cast Failed」のピンに処理が流れます。
これで特定のアクタと重なった時の処理を実装することができます。
ここではPirnt Textしているだけですが、ゲームに応じて「重なったらダメージを受ける」「重なった相手を弾き飛ばす」といった動作を実装してゲームを作り上げていきます。
以上、Unreal EngineでEvent ActorBeginOverlapを使ってアクタとの当たり判定を行う方法について解説しました。
皆様の開発が順調に進むことを願っております。
それではまた。
コメント
コメントを投稿