アマゾンバナーリンク

Unityの無料アセットで地雷を作る方法

こんにちは!ジェイです。今回は地雷の作り方を教えて欲しいというリクエストがあったので、無料アセットのみで作れる地雷の作り方を解説します。

地雷を作る下準備

まずは以下の2つのアセットをダウンロードします。AT-Mineは地雷の形をしたアセットで、True Explosions!はパラメーターを変える事によって、様々な爆発するエフェクトを作る事ができるアセットです。

そして、地雷を踏むキャラクターは誰でもいいのですが、UnityChanに踏んでもらいます。

UnityChanを動くようにする

上記のアセットのインポートが終わったら、Herarchy→3DObjetct→Pleaneで床を作って、Asset→Unity-chan!Model→Prefabs→unitychanをHerarchyにドラッグ&ドロップする。

Assets→weapons→models→at_maine→at_mine_LOD0をHerarchyにドラッグ&ドロップします。地雷は小さいので、Scaleをすべての値を2倍してます。

そして、以下を参照にしてUnitychanを操作できるようにしてください。

地雷の設定

次に画面に設定した地雷に対して以下の手順でコンポーネントを追加します。

  1. at_mine_LOD0をAddComponentでParticle ComponentとPseudo Volumetric ComponentとExploderの3つのスクリプトをアタッチ
  2. Particle ComponentのEffects ContainerにExplosioinを選択(アセット)
  3. Pseudo Volumetric ComponentのVolumetricを選択(アセット)
  4. Exploderのチェックを外す(これを忘れるとすぐに爆発します)
  5. 値を以下の画像の様に設定

爆発させるスクリプトを作成

以下のスクリプトをUnitychanに設定しmyMineにat_mineLOD0のオブジェクトをアタッチすれば完成です。

今回はオブジェクトの形通りの当たり判定にしましたが、子オブジェクトにモデルのColliderとRigidbodyをアタッチしておいて、空の親オブジェクトに当たり判定用のColliderのみ用意して、ColliderのisTriggerにチェックを入れ、OnTriggerEnterで衝突判定をすれば、モデルの形と当たり判定の大きさを別にすることもできます。

public class FootMine : MonoBehaviour
{
    //GameObject型で変数myMineを宣言します。
    public GameObject myMine; // at_mineLOD0のオブジェクトをアタッチする
   //Exploder型の変数exploderで宣言します。
    Exploder exploder;

    void Start()
    {
        //GetComponentでExploderコンポーネントにアクセスして、
        //変数exploderで参照します。
        exploder = myMine.GetComponent<Exploder>();  
    }

   private void OnCollisionEnter(Collision collision)
   {
     //キャラクターがat_mine_LOD0に接触した時の処理
       if (collision.gameObject.name == "at_mine_LOD0")
       {
         //キャラクターが接触したらExploderのチェックを有効にして爆発させます。
         exploder.enabled = true;
         //at_main_LOD0を0.2秒後に消滅させます。
           Destory(myMine, 0.2f);
       }
   }
}

実行結果