【Unity/Playmaker】衝突時にオブジェクトを破壊する方法

このチュートリアルでは、3Dモデルが他のオブジェクトと衝突した際に破壊する設定について解説します。このためには、”is_Trigger”設定を使用し、そのトリガーの状態によってアクションが発生するよう設定します。今回のチュートリアルでは、銃弾が球体に命中した際に、球を破壊するよう設定します。以前の記事でコントローラーの設定方法や銃弾を発射できるようにする設定などについて解説していますので、未読の方はそちらもご覧ください。 ではまず、3DのSphereを作成します。これがtarget objectとなります。このSphereにcolliderを設定し、Is Triggerを選択状態にしてください。これで、この球は当たったものをブロックしません。ただし、colliderが設定されたオブジェクトが触れると、球のcolliderがそれを判定します。

 

今回使用するTRIGGER EVENTと、当たり判定に関しては、以下の記事を参照します。

次に、球へFSMを追加します。今回、私はゲーム内で球へ銃弾が当たった際に球の破壊アクションを発生させたいため、Trigger Eventアクションでdieを設定し、Dyingステートへ移行するよう設定しました。 Dyingステートへは、Destroy Selfアクションを追加しました。 銃弾の作成方法については前回の記事ですでに解説しました。銃弾のprefabがRigid bodyを持ち、colliderが設定されていることだけ確かめましょう。 後はprefabをそのままSTYLYへアップロードするだけです。これで銃から銃弾を撃てば、球を破壊することができます。球以外に、例えば敵キャラへ同じ設定を行い追加し銃で撃つことができます。