CrossViewとは
こちらの記事をご覧ください。
開発をはじめるにあたり
Unityを使って作りたい内容は決まっていたけど、プログラミングに少しブランクがあったので、復習を兼ねて書籍でお勉強しようと思いました。
書籍
購入した書籍は、次の通りです。
- 『Unity 3Dゲーム開発ではじめるC#プログラミング 』
スクリーンショット
操作方法
- WASDキーまたは上下左右の矢印キーで、前後の移動と左右の方向転換を行います。
- マウス左ボタン押下で、弾を発射します。
- 敵(Enemy)は、3発弾を受けると消えます。
- Spaceキーでジャンプします。
- フィールドの四隅にある回転するアイテムをすべて取得すると、勝ち。
- 敵(Enemy)に見つかると追いかけてくる。追いつかれるとHPが減り、0になれば負け。
復習と変更点
本に書いてある通り、実際にUnityでコードを書いて試してみつつ、以下のような変更を行ってみました。
- Enemyをプレハブ化して、試合開始時に塔の上に出現するようにした。
また、弾を受けてEnemyが消えた時に、新たなEnemyが再度出現を繰り返すようにした。 - Enemyは、Playerを見つけた時にPlayerが居た「座標」に対して向かってくるだけだったが、OnTriggerStay()を実装して、逃げるPlayerを追うように変更した。
- Enemyは、発見したPlayerを追っている間は、ボディーの色を変更するようにした。
- Enemyは、追っていたPlayerが検知範囲から逃げ出した時、直前に目指していたパトロールルートに戻るようにした。
- Playerは、ジャンプ処理はFixedUpdate()ではなくUpdate()の時点で実行するようにした。
- Playerの撃つ弾が、物体をすり抜けてしまう場合があったので、BulletのRigidbody->Collision Detection=Continuousに変更した。
書籍の感想
- これからC#を学習しようとする人向けの入門書としては良いと思います。
- Unityによるアプリ開発の内容では、ところどころ、心もとない部分がありました。
サンプルコード
変更したコードは、次の場所にアップロードしました。
以上です。