2016年2月2日火曜日

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

Unityの使い方を勉強するためにソシム社の『Unity5 3D/2Dゲーム開発実践入門 作りながら覚えるスマートフォンゲーム開発』という書籍を購入した。


この書籍がとても良かったので、同じくUnity初学者の方に参考になればと思いレビューしてみることにした。

本書はUnityエディターの基礎的な使い方を段階を追って学べる。
使用するスクリプトはC#だが、C#の文法等については詳しく解説されていない。しかし、サンプルゲームのプログラムリストは全て本書に書かれているので、ただそのスクリプトを打ち込むだけで、サンプルゲームを組み上げることはできる。また、C#の経験がなくとも何らかのプログラミング言語の経験があるなら、見よう見まねで理解できる範囲に収まっていると思う。


本書ではIllumiball、Candy Dozer、Nejiko Run、Flappy Azarashiの4つのサンプルゲーム作りを通して、実に上手くUnityの機能を段階的に学べるようになっている。

サンプルゲーム Illumiball

Illumiballは物理演算を使った3Dゲームで、3つのボールを転がしてゴールに入れるとクリアというルールになっている。

主に学べること
  • プリミティブを使ってのゲームオブジェクトの作成
  • ゲームオブジェクトとコンポーネントの関係
  • マテリアルの設定
  • Emission(発光)カラーの使い道
  • ライティング
  • 点光源(Point Light)
  • オブジェクトの親子構造
  • カメラのアスペクト比の設定
  • スクリプトの作成
  • キーボード入力操作
  • スマフォデバイスの加速度センサー
  • スマフォデバイスのOrientation設定(端末の向き)
  • グローバルイルミネーション(GI)
  • 3D物理エンジンの使用
  • 当たり判定によるイベント制御
  • スマフォデバイスへのゲームの転送

ざっと書き出してみただけでもこれだけあるが、順を追って丁寧に解説されているので焦らなくていい。嬉しいのが早々にスマフォ(実機)への転送方法が示されていることだ。iOSの場合はAppleのDeveloper Program(有料)に加入しなければ実機への転送はできず、加入方法など詳細は割愛されている。その辺りの情報はネットなどでいくらでも得られるのだし、それで良いと思う。

実はこのゲームは、本書の最初のサンプルゲームにもかかわらず、一番実機での動作が重い。原因はGIの使用と、3つの点光源を使用しているためだと思うが、初心者が初めてこれを見せられると「うわっ、Unityって遅い!」とネガティブな気持ちになってしまうかもしれない。

実は最初、IllumiballをiPod touch5で実行した時に、フレームレートが5fpsぐらいしか出なかったので幻滅しかけた。しかし、画面をよく見るとフル解像度(640x1136)でレンダリングでされているのに気がついた。ネットで調べて、これを320x568でレンダリングするようにスクリプトを追加したら、30fpsで動かせるようになったのでひとまず安心した。

何はともあれ、3Dゲームを制作して、それを実機に転送するまでが、こんなにも簡単に出来てしまうことに驚いた。本書の解説の上手さもあると思うが、改めてUnityの学習コストの低さに驚かされた。

サンプルゲーム Candy Dozer

Candy Dozerはゲームセンターにあるコインドーザーゲームのキャンディ版で、こちらも物理演算を使った3Dゲームだ。プッシャーにうまくキャンディを押し出させて獲得するルールになっている。

主に学べること
  • Unityパッケージのインポート
  • マテリアルの設定
  • 3D物理エンジンの使用
  • プレファブを利用してオブジェクトを動的に生成する
  • オブジェクトの削除
  • 乱数の利用
  • コルーチン
  • パーティクルシステム
  • BGM、効果音の再生

サンプルゲーム Nejiko Run

Nejiko Runは直線を走り続ける主人公を、左右移動とジャンプで障害物を回避するゲームだ。

主に学べること
  • Unityパッケージのインポート
  • キャラクターのボーンアニメーションの仕組み
  • キャラクターの動作の制御(CharacterController)
  • プロジェクターによる影の表示
  • レイヤーの設定
  • ステージの自動生成
  • シーンギズモの表示
  • uGUIを使ってユーザーインターフェースを作る
  • シーンの切り替え
  • Invoke関数
  • データの保存

サンプルゲーム Flappy Azarashi

Flappy Birdタイプのゲームのアザラシ版で、本書唯一の2Dゲームだ。

主に学べること
  • Unityパッケージのインポート
  • 2Dスプライトの使用
  • スプライトアニメーションの作成
  • 2D物理エンジンの使用
  • 2Dの当たり判定
  • エディターの2Dと3Dモードの変更
  • スプライトアトラス(テクスチャーアトラス)について
  • SortingLayerの使用

以上4つのゲーム作りを通して、Unity5の基本的な使い方や機能を体験できる。
尚、本書にはスクリプトエディターMonoDevelopは日本語入力に対応していないと書かれているが、Unity5.3になって対応されたので、これからUnityを学ぼうとしている初心者の人にとっては、とても良いタイミングなのではないだろうか。


関連記事

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...