書評『Unity5 3D/2Dゲーム開発実践入門 作りながら覚えるスマートフォンゲーム開発』

「Unity5 3D/2Dゲーム開発実践入門 作りながら覚えるスマートフォンゲーム開発」を読み終えました。

Unity5でスマホゲームを作ろう、という本です。Android、iPhoneが対象です。もちろんPCゲームにも使えます。

内容

Illumiball

1つ目のゲームはIllumiballです。

スマホを傾けてすべてのボールをボールと同じ色をした穴にいれます。

各ボールは重力に従って落下し、ボール同士や壁と衝突したときには跳ね返ります。それぞれ大きさに応じた重さを持っており転がり方や跳ね返り方が変わります。また各ボールにはマテリアルで色がつけてありPointLightで発光します。ボールを入れる穴はSpotLightで光り、ボールが入ったことをコライダーで検知します。

CandyDozer

2つ目のゲームはCandyDozerです。

ゲーセンでおなじみのメダル落としのキャンディ版です。メダルの代わりにキャンディを落とします。

缶やキャンディなどのオブジェクトにはテクスチャが張り付けられています。キャンディは動的に作成され空から重力に従って落ちてきます。台から落ちたキャンディは動的に消滅します。

キャンディは四角型や丸形があり物理特性に従ってキャンディ同士やプッシャーとぶつかると跳ね返ったり押し出されたりします。キャンディは何度も使用するためプレファブ化して再利用します。プッシャーは常に決められた範囲を前後に移動しています。

ゲーム中はAudioMixerを使用してBGMが流れ、キャンディがうまく前面に落ちると星のパーティクルが現れ効果音がなります。

Nejiko

3つ目のゲームはNejikoです。

前から後ろにスクロールします。前から迫ってくる敵を左右に移動かジャンプでよけます。

このゲームにはタイトル画面もあります。

このゲームではキャラクターが登場し、走る・ジャンプ・ダメージを受けた時にAnimatorを使ったアニメーションを行います。キャラクタにはCharacterControllerが配置してあり、他キャラとの接触や地面との接触などを検知できます。画面にはスコアである進んだ距離とライフが表示されます。

ライフがなくなるとゲームオーバーです。タイトル画面があり、ハイスコアが表示されます。床を次から次に動的生成、削除することにより前後スクロールします。画面にはボタンもあり、それを使った操作も可能です。

Azarashi

最後のゲームはAzarashiです。これのみ2Dゲームとなっています。

空飛ぶアザラシを操作して障害を避けながら進んでいきます。

背景が横スクロールし、障害物が右から現れます。スプライトによりキャラクターが表示されAnimatorでアニメーションします。

この2Dキャラクターには2D用のコライダーとRigidBodyがセットしてあり、3Dと同じように重力に従って落下し地面や障害物にぶつかります。地面や障害物にぶつかると画面全体が白くフラッシュしぐらぐらっと揺れるエフェクトが発生します。

やはり最初はこの手の形式の本がいいですね。手順通りに進めていけば作れるやつ。この手の本を2,3冊読めば大体基本的な操作などはわかるようになります。大事なところはどの本でも共通に書かれていますので復習にもなります。

私はこの本を2冊目として読んでます。

VR化

UnityのSteamVR Pluginを使うことでVR化も簡単にできます。Azarashi以外をVR化してみました。

※これは私が勝手にやっただけで、書籍ではVR化はありません。

Illumiballです。

う~ん。VRの意味はなさそうです。

CandyDozerです。

カメラの位置を変えて台の上に配置しました。見上げると自分の上からキャンディが落ちてきます。迫力です。まあゲームとしては意味ありませんが…

Nejikoは改造して何段階もジャンプできるようにしました。と、いっても1行コメントアウトするだけです。

NejikoController.csのJump関数

これで多段ジャンプができるようになります。かなりジャンプしてみました。

前から見るとこんな感じです。

高いとこまでジャンプすると胃がふあっとなります。このふあっと感って”エアタイム”っていうんですね。知りませんでした。

NejikoはVRに向いているようでこれだけでも楽しめました。これをベースに初代スーパーマリオのような横スクロールアクションゲームVRを作ったら面白いかもしれません。

感想

3Dゲーム3つ、2Dゲーム1つを手順に従って作成していく形式です。全て実際に作ってみてスマホ(Android)で動くことを確認できました。

第1章でUnityのインストール方法からスマホへのデプロイまで丁寧に解説してます。Unityそのもののインストールはダウンロードしてインストーラを起動するだけなので簡単ですが、スマホ向けの開発環境は追加でいろいろと作業があるため助かります。特にアンドロイドはあれやこれやと追加でインストールしたり設定したりでややこしいです。

この手のステップバイステップで丁寧に説明している本はUnityのバージョンが変わってしまうと画面や機能などが変わったりしてつらいことになるので旬なうちに買う方がいいですね。

あと、書籍にはない内容ですが、3つのゲームをVR化してみました。Unityの場合VR化するだけなら簡単ですが、ゲームとして面白くするためにはひと工夫必要ですね。