Mikimemo

個人的な技術・開発メモやポエム

Unity入門書の改訂版を書きました。

この度、Unityの入門書「Unity 3D/2Dゲーム開発実践入門 Unity 2019対応版」を執筆しました。 こちらは以前執筆した「Unity5 3D/2Dゲーム開発実践入門」の改訂版になります。 全国書店では本日2/20くらいから、アマゾンでは明日2/21に発売で、 ページ数やコラムは増量しましたが、お値段は据置でとてもお得です。

Unity 3D/2Dゲーム開発実践入門 Unity 2019対応版

Unity 3D/2Dゲーム開発実践入門 Unity 2019対応版

  • 作者:吉谷 幹人
  • 出版社/メーカー: ソシム
  • 発売日: 2020/02/21
  • メディア: 単行本

ということで、改訂を経た本書のおすすめポイント等を紹介したいと思います。

特徴1 :Unityの基礎知識に特化!体系的に学べる!

本書は、読者の方にUnityユーザーとして「ひとり立ち」してもらうことを目的にしています。 「ひとり立ち」とは、何か目標がある時に、 知っている知識をベースにいろいろ試してみたり、 適切なドキュメントを読みにいったり、コミュニティで質問したりして、 最終的には実現することが出来る状態です。 逆に「ひとり立ち」できていない状態というのは、 「何をしていいか・何から始めていいかわからない」状態ともいえます。

Unityは本当に素晴らしいゲームエンジンで機能も豊富なのですが、 それ故に覚える機能や操作がたくさんあるのも事実です。 また、ゲームというジャンルはRPG、アクション、パズル、2D、3D、VRなど、多岐に渡る技術や作り方が存在しています。 そのため、単に特定の機能やジャンルの作り方にフォーカスした説明では、 幅広い要件に対応出来る力が身につきにくいと考えています。

そこで、本書では出来る限りUnityやゲーム開発のコアとなる部分にトピックに絞り込み、 それらを、適切な広さと詳しさで体系的に説明することにしました。 C#の文法や、特定ジャンルのゲームロジックを細かく解説するよりも、 純粋なUntiyの知識の部分を450ページの中に「ギュッ」とつめこんであります。 それらも、これからUntiyと共に過ごす方(例えば自分でゲームを作ってリリースしたいとか、ゲームエンジニアとして働くとか) に必要だと思う機能を一覧化した後、ピックアップして構成を練っています。

全体の流れと紹介・利用機能を以下にざっくりまとめてみました。

f:id:miki05:20200220003720p:plain

また、発展的な内容や機能もコラムとして掲載しました。 これらのコラムでは詳しい利用方法までは紹介していませんが、 「こんな機能あるんだー」ぐらいにみてもらうことで、 いざ必要になった時のとっかかりにしてもらえたらと思っています。

特徴2:それっぽいゲームが作れる!

本書では、学習の途中で作成するサンプルゲームが「面白いこと」を重要視しました。 本書のコアコンテンツは4つのサンプルゲームをつくりながら、 Unityの機能や作法を学んでいくストーリーになっています。 4つのサンプルは、ほぼフルスクラッチで作成しますが(コードも全て誌面に掲載してあります)、 それなりにゲーム性があったり見栄えがよかったりします。 出来上がったゲームを自分のスマホに入れて、 他の人に遊んでもらいたくなる程度のものが仕上がります。

f:id:miki05:20200217003655p:plain

「面白い」を作るという、ゲーム開発はちょっと特殊な行為のように感じます。 言い方を変えると「面白い」と向き合う行為かと。 誰しもがゲーム開発をしていると「作っているこのゲームは面白いのだろうか?」と思うことがあるはずです。 それでも、開発を進めてリリースして、誰かに楽しんでもらうところまで漕ぎ釣られるのは、 「面白い」を作ることが「面白い」と感じるからだと思います。 そんな、ゲームを作るという面白さを体験してもらわなければ入門書として意味がない!という思いから、 サンプルのゲームは面白い・だけどちゃんとUnityの機能も学べるということを目指しました。

特徴3:ゼロからリリースまでアプリ開発事情をカバー!

本書のもう一つの特徴は、 スマートフォン向けの開発を全面的にカバーしているということです。 決してそれ以外のプラットフォームで参考にならないわけではないですが、 モバイルプラットフォームでリリースまでに必要なトピックをふんだんに取り入れています。

  • 実機環境構築
  • ゲームデザイン
  • インプット制御/加速度センサー
  • マルチアスペクト・解像度対応
  • リリース設定(アイコン・スプラッシュ・64bit対応)
  • 本番ビルド・ストア提出
  • セーフエリア対応
  • 動画広告の埋め込み

実際にリリースのことを考えると、 プラットフォームとの連携や事情を考慮しながら進める部分が結構あります。 これらは、あんまりまとまった情報としては無いように感じますし、 数年おきに新しい概念が登場したりしてキャッチアップが大変です。 Unityを利用すると、さっとスタンドアローン向けでexeやappをビルドすることができますが、 つまずいてしまう部分ってこういう泥臭いところだったりするんですよね。 本書は、そんな泥臭さの部分を代表的なプラットフォームかつ、 お手軽に試せるモバイルを例として、かなり実践的に扱っています。

特徴4:「これからも」Unityのスタンダードに対応!

本書はUnity2019.3をメインターゲットにしており、 比較的近年導入された「基本部分」に関わるトピックにも対応しています。

  • リリースサイクルとサプスクリプションモデル
  • Unity Hub
  • ネステッド・プレハブ
  • フラットデザイン・エディターUI

特に2018.3で導入されたネステッド・プレハブは、 全てのUnity上の作業を根本的に変化させる可能性を秘めており、 Unity2019.3でのエディターUIのデザイン変更も見た目が刷新されたインパクトある出来事でした。 本書は、数年おきに起きた全てのUnityユーザーが知るべき事柄にしっかりと追従していると言えます。

なお、タイトルには「Unity2019対応版」となっていますが、 おそらくUnity2020以降も問題なく利用できるはずです。 実は本書で紹介している物理エンジンやアニメーションなどの機能部分のトピックは、 前の版の時からあまり変更がありません。 これは、単に筆者がめんどくさくて変更しなかったわけではなく、 今も昔もUnityを使い始める上で必要な部分はそれほど違わないということだと言えます。

Unityでは、DOTSやHDRP、URP、シェーダーグラフ、Addressable Assets Systemなどなど、 どんどん新しい機能が追加されていますが、 それらはUnityの基本上に習得すべき事柄だと考えます。 本書では、単なるトレンドではなく、 今後もずっとUnityを利用していく上で最初に知るべきことに的を絞り取り上げてます。

こんな人におすすめ

以上のような特徴から、 ざっくり本書をおすすめしたい人は以下のような感じです。

  • 「Unityを触れる」から「Unityで作れる」という段階に実力を伸ばしたい人
  • これから業務でUnityを利用し始める人
  • 実際にゲームを開発してストア公開までを視野に入れている人

「プログラムに不慣れな方にはレベルが高いかも」という意見もいただいていますが、 すべての手順・コードを掲載・解説していますので、 写経を進めていけば問題なくサンプルを完成させられると思います。

f:id:miki05:20200220083728j:plain

執筆の苦労話とか

前の版「Unity5 3D/2Dゲーム開発実践入門」 は苦労した甲斐もあって、皆様からとても評価していただきました。ありがとうございます。 新卒の方から、学校の教科書でしたとか、知り合いの大手ゲーム企業で配布されたという話も聞きとても驚きました。

そういうことから、 本書の「しっかり体系的にUnityを学べる本」という立ち位置のようなものを自覚しました。 しかし2015年の発売からUnityやプラットフォームまわりの事情もだいぶ変わり、 情報がだいぶ古くなってしまったことに、ずっともやもやを感じていたのです。 そのような中で、2019年2月に本格的な改定の話をいただき作業を開始しました。

改定作業では、 最初に全体の修正内容を見繕いましたが、 サンプルゲーム自体を別ゲームには変更しないことにしました。 これは、 Unityを体系的に学ぶための機能を3章から6章にかけて重複なく利用し、 コード量を抑えながら面白いゲームにするという構造を、 緻密に設計した結果があの4つのサンプルだったからです。 ゲーム内容を変更して それらすべてのパズルを再度組み直すことはできなそうだなと...

とはいえ、サンプルゲームの方針やロジックはそのままでも、 アセットの見栄えを大幅にリファインし、 Unityの新機能などへの対応を果たし、 手順や説明もより分かりやすくなるように検討を重ねました。

そんなこんなで、 サンプルゲーム自体は変わっていないですが、 Unity新機能の検証や、紹介している機能の確認、 操作フローや説明自体のリファイン、 さらには2019年内で、どんどん更新されていくUnityの情報への対応などで、 丸々1年間かかったのでした。。。しんどかった

ただ、Unity Hubや2018.3のネステッドプレハブ、 2019.3のUIの刷新などの情報を含めて改定を実現できたのは、 とても良いタイミングだと思っています。

さて、本書最大のバージョンアップ点を最後に....

f:id:miki05:20200216190209p:plain

6章のアザラシの解像度が爆上がり!! ファミコン→プレステぐらいの進化はあるでしょう。

謝辞

サンプルのリファイン、カバー書き下ろしにご協力いただいたGaryuさん、いつもの事ながらありがとうございました。 また、担当のソシム木津様、締め切り間際等でも色々無茶なお願いを聞いてくださり、ありがとうございました。

そして、家事の負担とアザラシのイラストに協力してくれた妻に感謝。