読者です 読者をやめる 読者になる 読者になる

Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 メッシュ形状をそのままスタティックメッシュのコリジョンとして利用する方法

スタティックメッシュには複数コリジョンを生成する方法が用意されています。

1つめはDCCツール(MayaやBlenderなど)でメッシュオブジェクトに名前をつけてコリジョンとして利用する方法です。これは名前の指定が必要であり、更に外部ツールを必要とするため手間は一番かかりますが、最も自由度の高い生成方法です。

Unreal Engine | FBX スタティック メッシュ パイプライン

2つめはUE4内でオートコンベックスコリジョンツールを利用して、自動的なコリジョンを生成する方法です。おそらく最も利用しやすい方法であり、かつ軽量なコリジョンが生成できます。が、作れる形状には限界があります。

Unreal Engine | スタティックメッシュ コリジョン リファレンス

今回はこれとは別のもうひとつの方法を解説します。

メッシュ形状をそのままコリジョン化する

3つめの方法はスタティックメッシュエディターを開いて、スタティックメッシュのプロパティを変更するだけです。スタティックメッシュ設定の"Collision Complexity"を"Default"から"Use Complex Collision As Simple"に変更します。

f:id:alwei:20160505193751p:plain

これだけでメッシュの形がそのままコリジョンになります。ただしスタティックメッシュエディター内ではコリジョン表示をオンにしていてもそのコリジョンは表示されません。実際にコリジョン形状を確認するためにはゲームプレイ中にコンソールコマンド、"show Collision"を入力することで確認可能です。

f:id:alwei:20160505194132p:plain

デメリット

この方法は最も正確なコリジョン形状を生成できますが、デメリットもあります。複雑なコリジョンを生成する可能性が高いために、"Simulate Physics"などを利用した物理シミュレーション時にはコリジョンが適用されません。特に被破壊性メッシュなどとは相性が悪いです。利用する際も物理が必要なのかをよく考えて利用しましょう。

コリジョンの形状は基本的にシンプルが一番です。ほとんどの場合はオートコンベックスコリジョンによる自動生成が軽量で最も扱いやすいです。