本日は破壊回です。
ストレス解消。
UE4ではDestructibleMesh(非破壊メッシュ)という破壊することができるMeshを
簡単に作成することができます。
※UE4のクロスシミュレーションや物理挙動は、Nvidia社のNvidia Phys APEXに関連するとかしないとか。
サンプルやチュートリアルでも結構例があるのですが、
具体的にどう使えるか試してみました。
=============================================
① DestructibleMeshを作成
ContentBrowserから破壊対象となるMeshを選択、右クリックで[Create Destructible Mesh]を選択します。今回はイスを破壊するので、イスのStaticMeshを選択します。
するとDestructible Mesh Editorが開きます。
② パラメータの設定
Destructible Mesh Editorでパラメータの設定を行います。
主要な項目は赤字の箇所で、今回は赤枠の箇所を設定します。
これでなんらかの物理反応があれば破壊するようになります。
設定が終わったらアセットを保存するのですが、その前に「FractureMesh」ボタンを押しておきます。このボタンを押すことで、被破壊物であることを認識させます。ボタンを押すと3秒ほど読み込みが行われ、完了後にアセットを保存します。
③ World上に配置
あとはWorld上に配置するだけです。
破壊したときにParticleを発生させたり、Soundを発生させることもできます。
対象を選択し、[Detail]->[DestructibleComponent]の[Fracture Effect Override]にParticleとSoundを設定すればOKです。
(DestructibleMeshEditorからも設定できるのですが、設定が外れる、Overrideするかどうかの設定はComponentに直接設定しないとダメみたい)
重力の影響も受けるようにするには[Simulate Physics]を有効にします。
これで設定完了です。
実行すると重力の影響を受けて破壊することが確認できます。
また、的などのように当たったら壊れるような表現をする場合は、当てる物(玉など)にCollisionを設定してあげる必要があります。
使い方次第では、破壊せずに転がしたり、破壊連鎖することができます。
MeshをDestroyするだけでも十分ゲームとしては問題ないと思いますが、
演出の幅を広げる手段としても有効です。