公開日:2025/05/16  更新日:2025/05/16

UE5のコリジョン設定について

UE5でのゲーム制作ではアクタ同士が触れあった際に「ぶつかる」、「すり抜ける」といったコリジョン(衝突判定)を作る必要がある。

コリジョン設定について、今回の記事ではサードパーソンのテンプレートを使って解説していく。

UE5のコリジョン設定の目次

コリジョンとは
スケルタルメッシュとスタティックメッシュ
コリジョン設定
コリジョンプリセットがDefaultの場合
Simulate Physics
目次にもどる

UE5のコリジョンとは

UE5のコリジョンはメッシュ(3Dモデル)に衝突判定を作るのに使われる。

サードパーソンのテンプレートでゲームを再生してみよう。

キャラが床の上に立ち、移動して壁やCubeにぶつかるとすり抜けずにぶつかる。

UE5のコリジョン

キャラ・壁・Cubeといったメッシュ(3Dモデル)を覆うような形でコリジョン設定が行われているおかげだ。

実際に確認してみよう。

コンテンツドロワーのAll→コンテンツ→ThirdPerson→BlueprintsのフォルダにあるBP_ThirdPersonCharacterのブループリントをビューポードにドラッグ&ドロップしよう。これでキャラをレベル上に追加できる。

UE5のコリジョン

そして、「表示」→「コリジョン」の項目に✓を入れてみる。

UE5のコリジョン

BP_ThirdPersonCharacterの3Dモデルのコリジョンが可視化される。

UE5のコリジョン

「内側にある緑色の線」と「外側にあるグレーの線」の2つのコリジョンがあることが確認できる。環境によって違う色で出るかもしれないけど、内側と外側の2種類コリジョンがあることがわかればOK。

また障害物や壁なども観察してみよう。

UE5のコリジョン

「紫の線」のコリジョンがあることが確認できる(コリジョンは1種類)。

ゲーム制作していく中で、様々な素材アセットをダウンロードしゲーム内に入れて使用していくことになる。

これらの素材には最初からコリジョン設定が行われていることが多い(時々、自分で設定しなければならない場合もあるが・・)。

目次にもどる

スケルタルメッシュとスタティックメッシュ

UE5のメッシュ(3Dモデル)は以下の2つに分類できる。

スケルタルメッシュ

アニメーションが行うために内部に骨が入っているメッシュのこと。歩く・攻撃する・ジャンプするといったアニメーションを行うことが可能。

人間やモンスターなどのキャラはスケルタルメッシュとなっている。

スタティックメッシュ

骨が入っていないメッシュのこと。歩く・攻撃する・ジャンプするといったアニメーションが行えない。

壁・床・箱・机・椅子といった障害物にはアニメーションの必要がないため、スタティックメッシュで作られている。

後述するが、メッシュによってはコリジョン設定されている場所が異なる場合もあるので注意しよう。

目次にもどる

コリジョン設定

レベル上のキャラ(先ほど作ったBP_ThirdPersonCharacterでOK)を選択して詳細ビューのコリジョンの項目をみれば設定を確認することができる。

UE5のコリジョン

最初からいくつかのコリジョンプリセットが用意されている。BP_ThirdPersonCharacterの場合はコリジョンプリセットがCharacterMeshになっている。

注目したいのはすぐ下の「Collision Enabled」と「Object Type」と「コリジョンレスポンス」。選ばれているコリジョンプリセットによってこの3つが異なってくる。

UE5のコリジョン

「Collision Enabled」で他のアクタのコリジョンを検知するかを選択できる。選択肢は以下の通り。

No Collision

他のアクタのコリジョンを検知しない。衝突しても何も起こらない。

Physics Only

物理的に動くアクタに対して、コリジョンを検知。

Collision Enabled

空間クエリと物理的に動くアクタに対して、コリジョンを検知。

Probe Only

物理的に動くアクタのコリジョンを検知。だが衝突の物理的な挙動は検知しない。

Query and Probe

空間クエリと物理的に動くアクタのコリジョンを検知する。衝突の物理的な挙動は検知しない。


「Object Type」で自身のオブジェクトタイプを指定できる。選択肢は以下の通り。

WorldStatic

移動しないアクタに使用。例えば壁・床・棚など。

WorldDynamic

アニメーション・物体の運動などで移動する可能性があるアクタに使用。例えばトラップ・ドア・宝箱など。

Pawn

操作するプレイヤーなどに使用。

Vehicle

車両に使用。

Destructible

破壊不能のアクタに使用。


「コリジョンレスポンス」ではコリジョンを検知した時の反応を設定できる。

選択肢は以下の3つ。

無視する(Ignore)

他のアクタと接触した際にすり抜ける。検知もしない。

オーバーラップ(Overlap)

他アクタと接触した際にすり抜ける。衝突したことは検知。

衝突したアクタのコリジョンレスポンスが「オーバーラップ」または「ブロック」になっていた場合はOverlap Eventを発生させることができる。

ブロック(Block)

他アクタと接触した際にぶつかる。衝突したことを検知。

衝突したのを検知するHit Eventを発生させることが可能だ。

同様にその下でコリジョンレスポンスの細かい設定が可能。

「トレース反応」ではカメラやライントレースに対する反応を設定。

「オブジェクト応答」ではObject Typeに対する反応を設定。


BP_ThirdPersonCharacterのコリジョンプリセットが「CharacterMesh」なのを確認してほしい。これは内側のコリジョンである。

UE5のコリジョン

BP_ThirdPersonCharacterの子要素のコンポーネント(部品)としてCapsule Componentがある。これを選択して詳細ビューを確認するとコリジョンプリセットはPawnである。外側のコリジョンだ。

UE5のコリジョン

一時的にCapsule ComponentのコリジョンプリセットをOverlapAll(その名の通り、コリジョンレスポンスは全てオーバーラップ)に変えてみる。

ゲームを再生すると、床をすり抜けてBP_ThirdPersonCharacterが落ちていくのを確認できる(再生後すぐなので、開始時に操作キャラから見れる位置にBP_ThirdPersonCharacterを配置しよう)。

UE5のコリジョン

次にCapsule Componentのコリジョンプリセットを元に戻し、内側にあるBP_ThirdPersonCharacter自体のコリジョンを一時的にCharacterMesh→OverlapAllに変えてみよう。

再生しても、すり抜けは発生しない。外側にCapsule Componentのコリジョンがあるためである。

目次にもどる

コリジョンプリセットがDefaultの場合

スタティックメッシュのアクタの場合、コリジョンプリセットがdefaultとなっている場合がある。

例えばコンテンツドロワーのスターターコンテンツのPropsフォルダからSM_CornerFrameをドラッグ&ドロップしてレベル上に配置しよう。

UE5のコリジョン

スターターコンテンツがなく、追加方法がわからない場合は以下の記事を確認してほしい。

スターターコンテンツの追加

このコンテナのアクタを選択して詳細ビューをみてみよう。コリジョンプリセットはdefault。下にコリジョン設定を行うための項目も存在しない。

UE5のコリジョン

だが、ゲームを再生すると操作キャラの足をコンテナに乗せることが可能。コリジョン設定は行われている(ただし厳密には足を乗せられるのは別の設定も絡んでいる。それは別記事で紹介するかもしれない)。

UE5のコリジョン

実はdefaultの場合はスタティックメッシュ側に設定されているコリジョン設定を使うことになるのだ。

コンテナのアクタを選択し詳細ビューのスタティックメッシュの項目を確認すると以下のマークがある。

UE5のコリジョン

このマークを押すとこのアクタに使われているスタティックメッシュを検索可能。検索でSM_CornerFrameが出てくるのでダブルクリック。

開いた画面の詳細ビューのコリジョンプリセットは「BlockAll」。その名の通りコリジョンレスポンスは全てブロックとなっている。よって、キャラの足とコンテナがぶつかり、足を乗せることができたのだ。

UE5のコリジョン
目次にもどる

Simulate Physics

Simulate Physicsにチェックをつけることで、コリジョンで衝突が起きた際にアクタが物理的に動けるようになる。

先ほど使用したコンテナのアクタを選択して詳細ビューの物理の項目にあるSimulate Physicsにチェックを入れてみよう。

UE5のコリジョン

この状態で再生して操作キャラでコンテナに触れてみると、サッカーボールのように吹っ飛んでいくのが確認できる。

UE5のコリジョン

アンリアルエンジンの基本まとめへ戻る

page top