読者です 読者をやめる 読者になる 読者になる

コスパ最強!!一人暮らしの簡単節約料理レシピ

超絶安い!超絶簡単!多分旨い!めんどくさがりな一人暮らしに最適なレシピを紹介

【C#】Unity入門者から抜け出すためのおすすめ本7選+α

おすすめのプログラミング本

f:id:kakashibennett:20160501005601j:plain

皆さんこんにちは!
はらぺこグリズリーでございます。

以前筆者は将棋について熱く語った記事を書きました
cheap-delicious.hatenablog.com
上記の記事の最後に、ちょろっと「おすすめのUnity本についてもいつか記事を書いてみたい」なんて書いてしまいました。

そしたら意外にも「いつも美味しい料理参考にしております!ところでUnity記事を書くご予定はありますでしょうか?」「はらぺこさんUnity本の記事まだですか?」というお問い合わせを数多く頂きました。
本当にありがたい限りでございます。

実は筆者Unity本はけっこう読み漁っており、
f:id:kakashibennett:20160501005309j:plain
しかもこんなお問い合わせを頂いた日には、これは書くしかないなと思い、今回はUnityの入門者や初心者向けのおすすめの本について筆を取らせて頂きます!


そもそもUnityって何?

f:id:kakashibennett:20160430141756j:plain

簡潔に申し上げると、Unityはとってもカンタンにゲームが作れてしまうゲーム開発ツールです。
キャラクターとか信号機とかがドラッグアンドドロップとかで配置できちゃうので直感的に操作もしやすいです!
しかもUnityは基本無料です。(有料版もありますが、ほとんどの機能が無料で使えます)

今まではゲーム会社独自のゲームエンジンなどを使わないとそれなりのゲームが作れない時代でしたが、
このUnityの存在によって一般人でも無料で手軽にゲームが作れるようになり、「Unityはゲーム開発の民主化をもたらした!」とまで言われています。

このUnityはスマホアプリなどのカジュアルゲームからPS4やPS3、Wii Uなどの本格的なゲームまで作ることができるクロスプラットフォームであるというのも大きな特徴です。

有名どころでは、CMでおなじみのコロプラの「魔法使いと黒猫のウィズ」や「白猫プロジェクト」もUnityで開発されています。

今回取り扱ったUnity参考書は全てC#

f:id:kakashibennett:20160430150345p:plain
Unityでは3種類のプログラミング言語、C#、JavaScript(型付、正しくはUnityScript), Boo(Pythonライク)がサポートされています。
選択肢が多いことは大変素晴らしいことなのですが、だからこそどの言語を使うべきかというのは非常に重要な問題です。

JavaScriptはあんまりおすすめしません

Webプログラマーの方々はおそらく書き慣れたjsを選択したくなるのではないでしょうか。
しかしUnityで書く場合はJavaScriptはあまりおすすめできません。

理由は3つあります。

・UnityのJavaScriptはUnity独特の仕様(静的型付)なのでWebで書くJavaScriptとは異なる。故に書き慣れている方ほど混乱する可能性が高い。

・先ほど申し上げたようにUnity独特のJavaScriptであるため、学習するための情報も調べにくい。

・C#では利用できるのに、JavaScriptでは利用できない機能があり、なんだかんだC#を使うことになる。

以上の理由から筆者はUnityにおいてJavaScriptはおすすめしません。

Booはそもそもサポートがなくなる可能性がある

次にBooですが、Unity5からUnityを起動して新しくProjectViewからスクリプトを作る時に選択肢からBooが消えました。
f:id:kakashibennett:20160428212125p:plain
f:id:kakashibennett:20160428212134p:plain
.boo拡張子を自分で作れば一応使うことはできますが、jsよりはるかに情報も利用者も少ないBooが消えるのはもはや時間の問題だと思います。
よってBooも選択肢としては厳しいです。

UnityではC#1択

上記の理由により、Unityで使うプログラミング言語はC#1択だと思います。
C#はUnityでも非常に書きやすいですし、情報量もかなり豊富です。

今回紹介させて頂く参考書も、全てC#で書かれた本です。
下手にjs本を触るよりC#1本で学習した方が効率的です。
なので、入門書として有名なひよこ本も素晴らしい本だとは思うのですが、jsで書かれているので今回は紹介しません。

それでは筆者のおすすめの本をご紹介させて頂きます。

Unityどころかプログラミングって何?

見てわかるUnity4 C#超入門

この本はUnityだけでなくプログラミング初心者および入門者にもおすすめできる本です。
前半部分は「intって何?文字列って美味しいの?」といったUnity以前のプログラミングの基礎的なところからしっかり解説してくれています。
そして後半部分はVector3やGameObject、「Transform」と「transform」の違いなどUnity独特のクラスやプロパティについて図解しながら実際に簡単なゲームを作れるようになっています。
この1冊でC#の基本とUnityの基本を押さえられるので入門者や初心者にはかなり良書の1冊だと思います。

ちなみに「見てわかるUnity5 C#超入門」という最新のUnity5に対応した書籍もありますが、
こちらの本の方が入門者向けにしっかりと書かれている印象です。

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

この本もUnity入門には最適な本です。しかもUnity5対応本!
この本はなんとUnityのダウンロードの仕方という初歩の初歩から始まり
簡単な2Dゲームと3Dゲームの作り方、そして最終的にはストアへのアップ方法まで学べてしまう1冊です。
これ1冊でUnityに関する包括的な知識が学べますね。

本書で作る4種類のアプリでは、各章で3D物理エンジン と衝突、Prefab、GUI、 2D物理エンジンなど様々分野に焦点をあてて説明しているため、
体系的に理解することができます。

もちろんUnity5の新機能についても書いてあるので、Unity5対応の本としても優れています。
ちなみにUnity5対応の本が続々と出版されていてもっとUnity5の本をご紹介したかったのですが、
現状で本気でおすすめできるUnity5関連の本は筆者の中でこれだけです。

Unityの入門者向けは正直この2冊で十分網羅できると思います。


Unity入門、初心者から次のレベルアップにおすすめの本

Unityで作るスマートフォン3Dゲーム開発講座

この書籍は幅広いジャンルのゲームを実際に作りながらUnityの理解を深めてくれる書籍です。
初っ端からいきなり3Dシューティングゲームを作ったりと結構ちゃんとしたゲームを作れます。
具体的には本書ではシューティングゲーム、パズルゲーム、ピンボールゲーム、ラジコンカーゲームなどバリエーション豊富に書いてあります。
ちょっと敷居が高い気がするかもしれませんが、全ページオールカラーで図解も見やすいので安心です。
これ1冊やることでかなりUnityについての理解が深まります。

このUnity本はある程度UnityやC#の基本が分かってから次のレベルに行きたい人には最適な本です。

Unityではじめる2Dゲーム作り徹底ガイド スマートフォンでも遊べる本格ゲーム開発に挑戦

Unityは3Dゲームを作るゲームエンジンとして広く認知されていますが、実際にゲームを作る場合はほとんどが2Dです。
3Dモデリングは非常に難易度が高くてそもそも作れる人が少ない上に、
処理が重くなったりドローコールが増えてしまうなど様々な問題が生じる可能性が上がります。
流行りのソシャゲもほとんど2Dですし、例えば有名なスマホアプリ「クラッシュオブクラン」のような一見3Dに見えるゲームでも実装上の画像は2Dを使っていたりします。

つまり実際にゲームを作ろうとした時にはUnityの2D機能をうまく使える能力が必須になってきます。
そんな中、現状でもっともUnity2Dについて詳しく書かれた本が本書です。

この本ではUnityにおける2D機能の使い方をかなり詳細に書いてくれています。
この本で作るゲームは1種類と上記の本と比べると物足りない気がするかもしれませんが、
タイトルに「本格ゲーム開発」と書いてある通り、出来上がるゲームのクオリティは紹介した中では1番高いです。
普通に商品として成立するレベルのゲームが作れます。

解像度設定やUnity2D特有のコンポーネントについてなど、
2Dならではのことについて丁寧に説明されているのでとても理解が深まります。

図解もたくさんあり、丁寧な作りなので、現状のUnity 2Dを学べる本ではもっともクオリティが高い本です。

やっぱりゲームは洗練されたUIにしたい!

UnityゲームUI実践ガイド 開発者が知っておきたいGUI構築の新スタンダード

ある程度Unityに詳しくなってくるとゲームのUIについてもっと改善したくなります。
そして、UIというのはゲーム以外にもサイトやwebサービスあらゆる面でとても重要な部分です。
この本はゲームのUIを作るのに完全に特化していて、しかもUnity向けという非常に貴重な本です。
具体的にはUnityの4.6からの機能uGUIの基礎から応用的な使い方について解説されています。

説明も冗長な表現はないので分かりやすいです。
筆者はこの本のおかげでダサいレイアウトがバッチリ決まるようになりました。


白熱バトルのオンラインゲームを作ってみたい!

Unityゲーム開発 オンライン3Dアクションゲームの作り方

章ごとにゲームを作るのではなく、1冊を通してネットワークを使ったマルチプレイの3Dアクションゲームを作る内容です。
Unityのネットワーク機能についてちゃんと書かれている数少ない貴重な書籍です。
13章のOnGUIで実装する部分については、まだUnityでuGUIが出る前だったので、この章に関しては読み飛ばしても良いと思います。
この本で作るゲームはUnityの入門書でよくあるキューブを落としたりするゲームと比べるとかなり難易度が上がりますが、
「俺は絶対ネットゲームを作りてえんだ!」という人には絶対におすすめの1冊です。



コードは書けるけどゲームの企画が苦手...

ゲーム作りのはじめかた Unityで覚える企画からレベルデザインまで

こちらは大手ゲーム会社のバンダイナムコさんが出版した本。

アイデアの考え方、企画書の書き方、プログラムの書き方までを包括的に取り扱っています。
著者が現役のゲームプランナーということもあり
具体的で広範囲に渡って書いてくれているという印象の本です。

「最初の一歩」として「自分だけのオリジナルゲーム」を完成させるきっかけになるのではないかと思います。

ちなみに

ゲームの作り方 Unityで覚える遊びのアルゴリズム

ゲームの作り方 Unityで覚える遊びのアルゴリズム

ゲームの企画や作り方についてはこちらもありますが、
上記の本の方が簡単で分かりやすいのでそちらの方をご紹介させて頂きました。

最近おすすめされた本

Computer Graphics Gems JP 2015 - コンピュータグラフィックス技術の最前線

実はUnity 最大の公式カンファレンスイベント「Unite 2016 Tokyo」
japan.unity3d.com
に筆者も行ってきまして、
そこでお会いしたほとんどの方に上記の本をめちゃくちゃおすすめされました。

Unity関係ないけど絶対に無駄にならない本

実例で学ぶゲームAIプログラミング

AIを実装するにあたって三角法やベクトル、質量など数学や物理の基礎からしっかり学べる本です。
様々なAIについて解説されているのですが、
中でも序盤に書いてあるステート駆動エージェントの設計は知識として知っておくだけでも幅広く応用が利きます。


ゲームプログラマになる前に覚えておきたい技術

この本は大手ゲーム会社セガの新人研修用に使われたカリキュラムをまとめた内容です。
本の開発環境はWindowsとDirectXで、プログラミング言語はC++です。
ゲームプログラミングの初級者を中級者以上にすることを目標にした本ですが、
内容はかなり網羅的で実際に現場で働いている人でもこの本の内容をしっかり理解できている人は少ないと思います。
学生時代に読んでおけば間違いなく他の人と差をつけることができます。



今更読んだのですが、この2冊は正直もっと早く読んでおけばよかったと思うほど素晴らしい内容です。
この2冊をちゃんと理解して読破できればおそらく今後ゲーム作りに困ることはないでしょう。


アセットストアで買えるおすすめのエフェクトやスクリプト

なんだかんだUnityでは1から実装するよりアセットストアで買ったほうが圧倒的にラクで早いものもあります。
ついでにいくつか筆者が実際に買って良かったおすすめのアセットをご紹介します。

FingerGestures

f:id:kakashibennett:20160428174200p:plain
フリックとかスワイプってUnityの標準機能で実装されていない割に意外と実装が面倒なんですよね。
そのくせ使用頻度はめっちゃ高い。
FingerGesturesを使えばいとも簡単に実装できちゃいますよ!
https://www.assetstore.unity3d.com/jp/#!/content/1044

iTween

f:id:kakashibennett:20160428175402p:plain
https://www.assetstore.unity3d.com/jp/#!/content/84
Unityにおけるtransformのpositionやscale、rotationなどの各プロパティを自在にアニメーションさせることができるAssetです。
すごい高機能なのになんと無料。

Magic Sword FX Pack

f:id:kakashibennett:20160428175250p:plain
https://www.assetstore.unity3d.com/jp/#!/content/28950
RPGや対戦ゲームなどで使う電撃や炎、水しぶきや吹雪、爆発などこれ1個で全て完結しちゃいます。
パーティクルってパラメータがめちゃくちゃあるので、正直買っちゃったほうが早いです。

Particle Scaler

f:id:kakashibennett:20160428175645p:plain
パーティクルって複雑で単純にtransformのscaleをいじるだけじゃ大きさ全く変わらないんですよね。
そこでこのAsset。これで簡単にエフェクトの大きさが自由自在です。
https://www.assetstore.unity3d.com/jp/#!/content/4400

NGUI

f:id:kakashibennett:20160428175942p:plain
https://www.assetstore.unity3d.com/jp/#!/content/2413
UnityのUIといえばやっぱりコレ。
グリッドやパネル、フォント、スクロールなどあらゆるUnityのUIを制御できる超優秀アセット。
なぜこんなに便利なのに日本語の書籍がほとんどないのか不思議なくらい。
機会があったらNGUIをめちゃくちゃ詳しく解説したいです。

それでも本はちょっと...という方はまずは動画で

Unityやってみたいけど、いきなり本を買うのは敷居が高いという方もいらっしゃるかと思います。
そこで最後にUnity学習におすすめの動画を1本ご紹介致します。

iPhoneゲームを20分間で作る【メダルプッシャー編】

www.nicovideo.jp

よくドットインストールのUnity講座もおすすめされていますが、
初心者が1つ3分とは言え26本の動画をいきなり視聴というのは少し酷かもしれません。

まず筆者が入門者に第一におすすめしたいのがこの動画です。
たった20分で全くの0の状態からメダルプッシャーのゲームを作ってしまうという動画です。

動画としてもかなり面白いのですが、この動画を見るだけでオブジェクトに物理演算を適用してくれるRigidbodyコンポーネントや当たり判定のコライダーの付け方、
衝突判定のOnCollisionEnterやOnTriggerEnter、オブジェクトを生成するためのプレハブの使い方などの
Unityを学ぶ上で必須の基礎全てを視覚的に分かりやすく理解できます。

たった20分という短い時間でこれだけ凝縮した内容が見れるものは他にありません。
実際にこの動画は某大手ゲーム会社の研修内容でデザイナーもエンジニアも最初に必ずやる内容になっています。
プロの方たちでも研修で扱うぐらい素晴らしい動画なんです。

まずはとりあえずこの動画を通しで1回見て、その後この動画の通りに実際に作ってみましょう。
おそらく最初は20分では到底作れませんが、これやるだけでUnityの入門書籍に入る前の準備段階としては十分だと思います!


いかがでしたでしょうか!
たくさんあるUnity本の中から筆者が厳選したものをご紹介させて頂きました。
どの本も素晴らしいですし、中には実際に著者さんにお会いした方もいらっしゃいます。

「Unity本ってかなりたくさん出版されていてどれを買って良いか分からない!」
という方や
「Unityのアセットを試しに使ってみたいけどいいのがない!」という方の参考になれば幸いです。

最後に ゲーム作るってめっちゃ楽しいよ!

「もちろん作るからには多くの人にやってもらいたい!」って思うかもしれません。
でもまずは、自分が楽しめるゲームを楽しく開発できればそれでいいかなって筆者は思います。
難しいことは考えずとりあえず作ってみましょう!!

クオリティだって全然低くていいです。
筆者なんてUnityを初めて触って1週間程度で作ったゲームはひどいクソゲーです。(きっかけは美味しいトマトソースが完成してテンションmaxでトマトを題材にしたキャラクターを作ろうという謎の発想から)

Google play トマ犬さん! 激ムズ横スクロール死にゲー
トマ犬さん! 激ムズ横スクロール死にゲー
制作: はらぺこグリズリー
評価: 4.9 / 5段階中
価格: 無料 (2016/4/30 時点)
posted by: AndroidHTML v3.1

こんなクソゲーだってとりあえず作ってみれば、運が良くメディアに取り上げられることだってあるんです。
cheap-delicious.hatenablog.com


クソゲーだっていいんです。
まずは自分が作りたいものを作って自分自身が楽しみましょう!

ゲーム作りってやると分かるんですが、めちゃめちゃ面白いですよ!!
「ここにこういうギミックを作るとどうなるんだろう?」とか「敵の動きはここでこうする方が面白いかな?」
って考えるだけでもワクワクしますよ!