Cz_mirror Game開発備忘録

週末にUnity でゲーム開発をしています。ゲーム開発を通じて得た情報の備忘録として活用するブログになります。

【Unity】 Captulionの捕獲処理に伴うゲームオブジェクトのレイヤー変更について

Captulionでは昔ナムコからリリースされていたギャラガというゲームに出てくる時期を捕獲してくる敵キャラのように、キャプチャービームを敵に当てることで捕獲することができます。その際に敵キャラのゲームオブジェクトのレイヤーを変えることで、敵機と区別するための処理を加えています。

 f:id:godhandevilleg:20180212131922p:plain

 レイヤーの変更方法について

f:id:godhandevilleg:20180110204257j:plain

 

Captulionでは以下のような記述で捕獲した敵をSlaveというレイヤーに設定しています。これにより捕獲した敵のゲームオブジェクトのレイヤーを変更することができ、レイヤーによって特定の攻撃に対しての当たり判定などが設定することがしやすくなります。

gameObject.layer = LayerMask.NameToLayer("Slave");

捕獲キャラの判定について

捕獲した敵はレイヤーの変更と共に、slaveというフラグを立てて、捕獲状態を判定しています。slaveがついている場合は、捕獲状態として、

 

自機と同様に敵キャラの攻撃を受けるようにして、反対に敵キャラを攻撃した時はダメージを与えられるようにします。捕獲キャラの攻撃が当たらないように自機に対しても接触をしないようにしています。

Captulionでは以下のようなレイヤーを作りました。今回のバージョンでは導入はしなかったのですが、捕獲した敵のレイヤーも作ることで、後に捕獲した敵のみが攻撃できるような仕組みも取り入れることも考えていました。

f:id:godhandevilleg:20180129010439p:plain

f:id:godhandevilleg:20180129011619p:plain

 ゲームオーバー時の捕獲キャラの自爆について

ゲームオーバー時はslaveキャラを自爆させるために以下のような記述で、ダメージを与えることで自爆させています。

void FixedUpdate ()

{
        if (gameController.GetGameOver() == true)

        {
            if (slave)

            {
                Damage (9999);
            }

            return;
        }

}

 

以下iOSシューティングゲームCaptulionになります。よかったらプレイしていただけますととても嬉しいです。

Captulion

Captulion

  • Kazushige Mori
  • ゲーム
  • 無料