もくじ
今回、私が学習に使用したUnityバージョンは全て2019.2.0f1以降である。
Unityの寺子屋 定番スマホゲーム開発入門
難易度:初級から中級
ボリューム:サンプルゲームが2つ
内容:2Dゲーム
出版年:2017年
Unityバージョン:2017
ページ数:カラー350ページ
価格:セールなら内容相応
評価:★★★★☆
出版社Webページ: MdN
AmazonのKindle版の価格が通常2,700円ぐらいであるが、定期的にセールをしており半額ほどの値段で購入できるときがある。それを狙うというのもありだろう。
本書は、Unityのバージョン2017を使用して解説されている。2019でも問題なく進められた。本書でUnity 2019を使用する範囲での新旧バージョンによる主な違いは下記のようなところだった。
- インストールはUnity Hubで行う。
- Android Studio (SDK)を個別にインストールする必要がない。
- PrefabはProjectウィンドウの中で直接編集することが可能になった。
UnityのC#スクリプトに関する初歩的な説明はないが、その代わりC#の基本解説のドキュメントをPDFで配布してくれている。
本書で取り上げられているサンプルゲームはモバイル向けゲームの2種類。縦型と横型を1種類ずつ。難易度は初級者に程よい感じである。
クリッカーゲームのサンプルとして作成したThe TempleのUnity Editor画面
2つ目に取り上げられているサイドビューアクションゲームのサンプルはとても良くできていて、本サンプルを応用して定番の横スクロール型アクションゲームをある程度オリジナルで開発できるほど完成度が高い。
Unityによるモバイルゲーム開発 - 作りながら学ぶ2D/3Dゲームプログラミング入門
難易度:中級
ボリューム:サンプルゲームが2つ & その他
内容:2D & 3Dゲーム
出版年:2018年
Unityバージョン:2017 (日本語版は2018)
ページ数:カラー363ページ
価格:内容相応
評価:★★★★★
出版社Webページ: O'Reilly Japan
本書は元々オライリーから出版された英語書籍を日本語に翻訳したUnityでモバイルゲームを開発するための入門書である。日本語版で対応しているUnityバージョンは2018.2となっていた。本書のメインの内容として2Dゲームと3Dゲームをひとつずつ取り上げてチュートリアルを進める。
第1部はUnityのインストールなどの基本が記載されている。第2部の2Dゲームのチュートリアルとして作成するゲームのタイトルは「Gnome's Well」である。ノーム(小人)が井戸に入り底にある宝物をロープで降りて取るというゲーム。以下は本チュートリアルで使用した一部コンポーネントである。通常入門レベルではColliderやRigidbodyのみが多いが、ローブにぶら下がるという表現を作るためにこれらのコンポーネントを使っている。物理計算が必要な表現も簡単に作成できる。
Hinge Joint 2D:関節のような接続点を表現
Spring Joint 2D:バネのような表現を付加
ちなみに2Dゲームで使用するサンプルのサウンドファイルは音がおかしいが、とりあえず効果音が無くてもなんとかなるのでよしとした。
次に第3部として3Dゲームの開発チュートリアルに移る。ここで3Dモデルをいくつか扱うのだが、Blenderをインストールしていないとサンプルファイルの3DオブジェクトをUnityに取り込めなかった。私はインストールしていなかったので最初シーンに読み込めないのがなぜかわからなかった。
2Dゲームと3DゲームでUnityの標準コンポーネントの機能であるパーティクルエフェクト(Particle System)の設定方法を学べる。プログラムせずにある程度のパーティクル表現が可能。
3Dゲームのサンプルとして作成する「Rockfall」というゲームだが、これは宇宙空間のシューティングゲームとなる。なかなか良いサンプルである。
iPhoneのUnity Remoteアプリを使用してテストしている様子
第4部はUnityの高度な機能が取り上げられる。その一つにシェーダーが取り上げられている。サーフェースシェーダーとバーテックスフラグメントシェーダーを簡単なサンプルで学習する。シェーダーを理解するには他の書籍で補完が必要だろう。そのほか、ライティング、プロファイラー、GUI、カスタムインスペクター、アセットストアなど簡潔に記されている。
16章ではカスタムウィザード、カスタムエディターウィンドウ、カスタムプロパティードロアー、カスタムインスペクターを学べる。簡単な例を実際に試しながらUnityエディターをカスタマイズする方法を見ることができる。他の入門書籍ではここまで触れているような本はないので貴重かもしれない。
Unityではじめる2Dゲーム作り徹底ガイド
難易度:中級から上級
ボリューム:入門用のサンプルが2つとメインのサンプルゲームが1つ
内容:2Dゲーム
出版年:2014
書籍内のUnityバージョン:4.x
私が学習で使用したUnityバージョン:2019.2
ページ数:モノクロ655ページ
価格:内容相応
評価:★★★★☆
出版社Webページ: SB Creative
本書は2014年の出版なので現在(2019年)より5年前の書籍となる。本書の2DゲームサンプルのC#のコードには現在では対応していないスクリプトの書き方が含まれていた。自分でUnityの公式スクリプトリファレンスやネット上の情報を調べて修正可能だが、初心者の方には少し難しいかもしれない。私はKindle版で学習したが、紙のページの場合、655ページもあるぐらいだし、少し古い仕様の記述が多く読み替えや確認が多く発生して全て終わるまで大分時間が掛かった。
そのかわり、2Dグラフィックスの作成に関するヒントやSorting Layerの使い方、Sprite画像のスライスの方法、ターゲットとなるデバイス別の画面解像度など、あまり他の入門書で言及していない内容が含まれているので、多少古い書籍ですが、役に立つ内容は多いと思う。
本書ではMecanimというアニメーション機能について詳しく説明がある。現在、Unityの公式マニュアルではMecanimという用語は使用していないようなので注意。主なコンポーネントであるAnimation、Animator、Scriptを使ってキャラクターのアニメーション表現をコントロールする機能になる。
本格的なゲーム作りに進むと3種類の敵キャラクターのアニメーションを複数作成するよう学習が進行する。通常の入門書なら1種類の敵キャラクターの1つのアニメーションしか学習できないが、簡単なものも含めて全部で10パターン以上のアニメーションを試すことができるようになっている。正直なところ、著者の説明はだんだんと詳細を省略するような感じになっていくのだが、反復練習のような形式になっており最後にはアニメーションの作り方がなんとなく分かるようになると思う。今まではUnityでアニメーションできるのは画像イメージ程度だと思っていたのだが、実際はオブジェクトの位置・色やコライダーのオンオフ・サイズ・位置など色々なものをアニメ化できることを知り大変良かった。
次にアクションゲームのノウハウとしてアフォーダンストリガー(恣意的なNPCのアクション発生装置)、カメラとNPCキャラクターによるゲームメカニクス、ドッグパイル(NPC用マーカー装置)、コンバットAI(難易度調整や位置調整やフォーメーション機能)が取り上げられている。ここで取り上げられているノウハウは最新のゲームプログラミング技術にしては古い感じがするが、個人開発のオリジナルゲーム作りにとても参考になるだろう。
さらにスコア表示やステータス表示のためのインタフェース作成、エフェクトの作成を学習する。エフェクトの作成では、アニメーションを利用する方法、スクリプトで作成する方法、パーティクルシステムを使う方法、Tweenスクリプトを学習する。そして、具体的な実際のゲームステージ作成に進んでいく。2Dアクションで利用できるパズル要素やギミックを色々と紹介しておりとても役に立つと思うが、このゲームステージ作成のサンプルがなかなか長い。
この本に掲載されているC#スクリプトのプログラム中の変数名の英語に誤字や脱字みたいなのが多く少し気になった。英語の文章を読むわけではないので問題ないが、意味を理解しやすいように英単語を使っていると思うので何だかもったいないなと思った。
サンプルゲームであるNinjaSlasherXをUnity Editor画面で実行している様子
もし本書の学習が進め辛いと感じたら下記の順番で色々と試すと良い。下記の方法のいずれかでほぼ解決すると思うが、もしエラーが出てどうしようもない場合は、重要な機能でなければそのプログラム部分だけ削除(コメントアウト)してしまえば良い。
1.Unityに触れたことがない場合は、最新の他の入門書を読む。
2.プログラム仕様が変更されている部分をなんとなく把握する。
3.著者のサンプルファイルと比較する。
4.Unity公式のスクリプトリファレンスで調べる。