前回の記事からの続き
UE4のDestructible Meshを使ってみる その1(?) - ぼっちプログラマのメモ
自由落下からの破壊…だけではつまらないので、
Destructible Meshに弾を当てて破壊します。
こんな感じ
方法はたぶん2種類
色々と試した結果、以下の二通りで実現可能です…たぶん。
- 物理に任せる方法
- BluePrintのHitイベントを使用する方法
説明には、FPSのテンプレートを使用します。
物理に任せる方法
physics神に全てを任せる方法です。
物理を有効にするだけなので、とても楽ちん。
FPSテンプレートの場合だと、弾のBluePrint (MyProjecttile) 内の
コンポーネントにあるCollisionComponentのSimulate Physicsを有効にします。
以上。これだけ
Hitイベントを使用する方法
↑の方法はとても楽なのですが、物理を有効にしたくない場合は
使うことが出来ません(プレイヤーなど)。
その場合は、BluePrintのHitイベントを使用します。
まず、Hitイベントが発行されるように、コンポーネントにある
CollisionのSimulation Generates Hit Eventsを有効にします。
次に、以下の画像のようにノードを組み立てます
- 何かに当たった際に (イベントHit)
- その相手が破壊可能なオブジェクトなら (キャスト)
- 相手に対してダメージ1を与える (Apply Damage)
これでDestructible Meshを破壊することができるのですが、
さらに、破壊後の破片に対しての処理も実装する必要があります…
(試しに破片に対して撃った際の挙動を比較してください。
物理版では破片を弾き飛ばしますが、Hitイベント版では破片は動きません)
肝心の実装方法についてですが…まだ分かっていません…ダレカタスケテ!
(分かり次第、追記なり別記事を用意します。中途半端で申し訳ないです…)
Hitイベントは破片でも来ているんだけどなぁ…
Add Impulse系じゃダメなんだよなぁ…何を使えばいいんだろう…