UnrealEngine4で特定のオブジェクトとの当たり判定をなくす方法

自キャラと特定のオブジェクトや敵キャラとは当たり判定を起こしたくないというときの対処法を書きたいと思います。

今回は、自キャラと特定の敵Aとの当たり判定を起こさないような設定をしてみたいと思います。

object channelsを作成する

まず、object channnelsを作成します。
オブジェクトチャンネルを作成するには、以下のように進みます。

UnrealEditorからプロジェクト設定 → コリジョン(左メニュー) → Object Channels項目

ue4でobject channelsを登録する

より、新規のオブジェクトチャンネルボタンをクリックし、名前を入力します。
例えば、自キャラとの当たり判定をなくしたいオブジェクトの場合は、ignorePlayerなど、
適当な名前をつけます。

デフォルト応答には、基本レスポンスとなる応答方法を入力します。
これらは後に変更可能です。

object channelsを適応する

特定の敵AのBlueprint Editorに入り、Collisionを起こしているオブジェクトのCollision項目を変更します。

私の例では、特定の敵がPaperSpriteActorクラスでRenderComponentに当たり判定を持たせているので、
RenderComponentを選択し、Collisionの項目を設定します。

Collisionの項目の中から、コリジョンプリセットをCustomに変更し、
ObjectTypeを先ほどオブジェクトチャンネルに登録したignorePlayerに設定します。

ue4でobject typeを登録する

これで、敵側の設定は完了しました。

自キャラがAとの当たり判定を無視するようにする

続いて、自キャラのblueprint editor画面に入ります。

同じくCollisionの項目からコリジョンプリセットをCustomに変更します。

すると、コリジョンレスポンスの欄にobject channelsに登録したignorePlayerが表示されているので、
無視するにチェックを入れます。

ue4で特定のオブジェクトとの当たり判定を無視する

これで、特定の敵Aと自キャラとの当たり判定をなくすことができました。

UnrealEngine4.23で確認しています。

初版:2020/4/11

このエントリーをはてなブックマークに追加