Unityによるモバイルゲーム開発 ―作りながら学ぶ2D/3Dゲームプログラミング入門

Book description

第I部でUnityの基本を押さえたあと、第II部と第III部でAndroidとiOSモバイル端末向けの2Dゲームと3Dゲームを開発します。この2つのゲームを作ることで、初学者でも本書を通してUnityによるモバイルゲーム開発の基本を体系的に学べます。第IV部はUnityで開発するなら知っておきたい機能や情報源です。「本格的なゲーム」を2つ作る過程でUnityの機能を無理なく学べる本書は、Unityの各機能を説明するためにサンプルゲームをただたくさん作る内容の書籍とは異なり、その先を見据えた本格的な入門書です。日本語版では、Unity Hubの使い方とVisual Studio 2017 Communityによるデバッグについての解説を巻末付録として収録しました。

Table of contents

  1.  大扉
  2.  原書大扉
  3.  クレジット
  4.  賞賛の声
  5.  訳者まえがき
  6.  まえがき
  7.   サンプルコードのダウンロード
  8.   対象読者と本書の構成
  9.   表記上のルール
  10.   サンプルコードの使用について
  11.   意見と質問
  12.   謝辞
  13. 第I部 Unityの基本
  14.  1章 Unityとは
  15.   1.1 本書の主題
  16.    1.1.1 モバイルゲーム
  17.   1.2 Unityの導入
  18.    1.2.1 Unityは何をするためのものか?
  19.    1.2.2 Unityを始める
  20.  2章 Unityツアー
  21.   2.1 Unityエディター
  22.    2.1.1 プレイモードとエディットモード
  23.   2.2 シーンウィンドウ
  24.    2.2.1 モードセレクター
  25.    2.2.2 操作してみる
  26.    2.2.3 ハンドルコントロール
  27.   2.3 ヒエラルキーウィンドウ
  28.   2.4 プロジェクトウィンドウ
  29.   2.5 インスペクターウィンドウ
  30.   2.6 ゲームウィンドウ
  31.   2.7 まとめ
  32.  3章 Unityでのスクリプティング
  33.   3.1 C#の集中コース
  34.   3.2 MonoとUnity
  35.    3.2.1 MonoDevelop
  36.   3.3 ゲームオブジェクト、コンポーネント、スクリプト
  37.    3.3.1 インスペクター
  38.    3.3.2 コンポーネント
  39.   3.4 重要なメソッド
  40.    3.4.1 AwakeとOnEnable
  41.    3.4.2 Start
  42.    3.4.3 UpdateとLateUpdate
  43.   3.5 コルーチン
  44.   3.6 オブジェクトの作成と破棄
  45.    3.6.1 インスタンス化
  46.    3.6.2 オブジェクトを0から作る
  47.    3.6.3 オブジェクトの破棄
  48.   3.7 アトリビュート
  49.    3.7.1 RequireComponent
  50.    3.7.2 HeaderとSpace
  51.    3.7.3 SerializeFieldとHideInInspector
  52.    3.7.4 ExecuteInEditMode
  53.   3.8 スクリプト内での時間の扱い
  54.   3.9 コンソールへのログ出力
  55.   3.10 まとめ
  56. 第II部 2Dゲーム『Gnome's Well』の開発
  57.  4章 ゲーム開発の始まり
  58.   4.1 ゲームデザイン
  59.   4.2 プロジェクトの作成とアセットのインポート
  60.   4.3 ノームの制作
  61.   4.4 ロープ
  62.    4.4.1 ロープのコーディング
  63.    4.4.2 ロープの設定
  64.   4.5 まとめ
  65.  5章 ゲームプレイに向けた準備
  66.   5.1 入力
  67.    5.1.1 Unity Remote
  68.    5.1.2 チルトコントローラーの追加
  69.    5.1.3 シングルトンクラスの作成
  70.    5.1.4 InputManagerシングルトンの実装
  71.    5.1.5 ロープの操作
  72.    5.1.6 カメラがノームに追従するようにする
  73.    5.1.7 スクリプトとデバッグ
  74.   5.2 ノームのコードのセットアップ
  75.   5.3 ゲームマネージャーのセットアップ
  76.    5.3.1 ゲームのセットアップとリセット
  77.    5.3.2 新しいノームの作成
  78.    5.3.3 古いノームの破棄
  79.    5.3.4 ゲームのリセット
  80.    5.3.5 接触を処理する
  81.    5.3.6 出口に到達する
  82.    5.3.7 一時停止と再開
  83.    5.3.8 リセットボタンの扱い
  84.   5.4 シーンの準備
  85.   5.5 まとめ
  86.  6章 トラップと宝を用いたゲームプレイの構築
  87.   6.1 シンプルなトラップ
  88.   6.2 宝と出口
  89.    6.2.1 出口の作成
  90.   6.3 背景の追加
  91.   6.4 まとめ
  92.  7章 ゲームを磨き上げる
  93.   7.1 ノームのアートの仕上げ
  94.   7.2 物理の更新
  95.   7.3 背景
  96.    7.3.1 レイヤー
  97.    7.3.2 背景の制作
  98.    7.3.3 異なる背景
  99.    7.3.4 井戸の底
  100.    7.3.5 カメラの更新
  101.   7.4 ユーザーインターフェース
  102.   7.5 無敵モード
  103.   7.6 まとめ
  104.  8章 『Gnome's Well』の最終調整
  105.   8.1 トラップとレベルオブジェクトの増設
  106.    8.1.1 トゲのオブジェクト
  107.    8.1.2 回転ノコギリ
  108.    8.1.3 ブロック
  109.   8.2 パーティクルエフェクト
  110.    8.2.1 パーティクルマテリアルの定義
  111.    8.2.2 血しぶき
  112.    8.2.3 血の大噴射
  113.    8.2.4 パーティクルシステムを使用する
  114.   8.3 メインメニュー
  115.    8.3.1 シーンのロード
  116.   8.4 オーディオ
  117.   8.5 まとめ
  118. 第III部 3Dゲーム『Rockfall』の開発
  119.  9章 『Rockfall』の開発
  120.   9.1 ゲームデザイン
  121.    9.1.1 アセットの入手
  122.   9.2 アーキテクチャー
  123.   9.3 シーンの作成
  124.    9.3.1 宇宙船
  125.    9.3.2 宇宙ステーション
  126.    9.3.3 スカイボックス
  127.    9.3.4 キャンバス
  128.   9.4 まとめ
  129.  10章 入力と飛行の制御
  130.   10.1 入力
  131.    10.1.1 ジョイスティックを追加する
  132.    10.1.2 インプットマネージャー
  133.   10.2 飛行の制御
  134.    10.2.1 インジケーター
  135.    10.2.2 UI要素を作成する
  136.    10.2.3 インジケーターマネージャー
  137.   10.3 まとめ
  138.  11章 武器と照準の追加
  139.   11.1 武器
  140.    11.1.1 宇宙船の武器
  141.    11.1.2 Fireボタン
  142.   11.2 ターゲットレティクル
  143.   11.3 まとめ
  144.  12章 小惑星とダメージ
  145.   12.1 小惑星
  146.    12.1.1 小惑星スポーナー
  147.   12.2 ダメージのやり取り
  148.    12.2.1 爆発
  149.   12.3 まとめ
  150.  13章 オーディオ、メニュー、ゲームオーバー、爆発!
  151.   13.1 メニュー
  152.    13.1.1 メインメニュー
  153.    13.1.2 一時停止画面
  154.    13.1.3 ゲームオーバー画面
  155.    13.1.4 一時停止ボタンを追加する
  156.   13.2 ゲームマネージャーとゲームオーバー
  157.    13.2.1 スタートポイント
  158.    13.2.2 Game Managerを作成する
  159.    13.2.3 初期設定
  160.    13.2.4 ゲームを開始する
  161.    13.2.5 ゲームを終了する
  162.    13.2.6 ゲームを一時停止する
  163.    13.2.7 シーンを設定する
  164.   13.3 境界
  165.    13.3.1 UIを作成する
  166.    13.3.2 境界のコーディング
  167.   13.4 最後の仕上げ
  168.    13.4.1 スペースダスト
  169.    13.4.2 トレイルレンダラー
  170.    13.4.3 オーディオ
  171.    13.4.4 宇宙船
  172.    13.4.5 武器の効果音
  173.    13.4.6 爆発
  174.   13.5 まとめ
  175. 第IV部 高度な機能
  176.  14章 ライティングとシェーダー
  177.   14.1 マテリアルとシェーダー
  178.    14.1.1 バーテックスフラグメント(Unlit、ライティングを考慮しない)シェーダー
  179.   14.2 グローバルイルミネーション
  180.    14.2.1 ライトプローブ
  181.   14.3 パフォーマンスについて
  182.    14.3.1 プロファイラー
  183.    14.3.2 デバイスからのデータ収集
  184.    14.3.3 一般的なTIPS
  185.   14.4 まとめ
  186.  15章 UnityでのGUIの作成
  187.   15.1 UnityでGUIはどのように動作するのか
  188.    15.1.1 Canvas
  189.    15.1.2 RectTransform
  190.    15.1.3 Rectツール
  191.    15.1.4 アンカー
  192.   15.2 コントロール
  193.   15.3 イベントとレイキャスト
  194.    15.3.1 イベントへの反応
  195.   15.4 レイアウトシステムの利用
  196.   15.5 Canvasの拡大縮小
  197.   15.6 画面間の遷移
  198.   15.7 まとめ
  199.  16章 エディター拡張
  200.   16.1 カスタムウィザードの作成
  201.   16.2 カスタムエディターウィンドウの作成
  202.    16.2.1 エディターGUI API
  203.    16.2.2 矩形とレイアウト
  204.    16.2.3 コントロールの仕組み
  205.    16.2.4 ボタン
  206.    16.2.5 テキストフィールド
  207.    16.2.6 スライダー
  208.    16.2.7 スペース
  209.    16.2.8 リスト
  210.    16.2.9 スクロールビュー
  211.    16.2.10 アセットデータベース
  212.   16.3 カスタムプロパティードロアーの作成
  213.    16.3.1 クラスの作成
  214.    16.3.2 プロパティーの高さの設定
  215.    16.3.3 OnGUIメソッドのオーバーライド
  216.    16.3.4 プロパティーの取得
  217.    16.3.5 プロパティースコープの作成
  218.    16.3.6 ラベルの描画
  219.    16.3.7 矩形の計算
  220.    16.3.8 値の取得
  221.    16.3.9 変更のチェックの作成
  222.    16.3.10 スライダーの描画
  223.    16.3.11 フィールドの描画
  224.    16.3.12 変更されたかどうかの確認
  225.    16.3.13 プロパティーの保存
  226.    16.3.14 動作確認
  227.   16.4 カスタムインスペクターの作成
  228.    16.4.1 シンプルなコンポーネントの作成
  229.    16.4.2 カスタムインスペクターの作成
  230.    16.4.3 クラスのセットアップ
  231.    16.4.4 色とプロパティーの定義
  232.    16.4.5 変数の設定
  233.    16.4.6 GUIの描画
  234.    16.4.7 コントロールの描画
  235.    16.4.8 変更の適用
  236.    16.4.9 テスト
  237.   16.5 まとめ
  238.  17章 エディターを超えて
  239.   17.1 Unityサービスのエコシステム
  240.    17.1.1 アセットストア
  241.    17.1.2 PlayMaker
  242.    17.1.3 Amplify Shader Editor
  243.    17.1.4 UFPS
  244.    17.1.5 Unity Cloud Build
  245.    17.1.6 Unity Ads
  246.   17.2 デプロイ
  247.    17.2.1 プロジェクトの準備
  248.    17.2.2 ターゲットを設定
  249.    17.2.3 スプラッシュ画面
  250.    17.2.4 特定プラットフォーム向けビルド
  251.    17.2.5 iOS向けビルド
  252.    17.2.6 Android向けビルド
  253.   17.3 次に行うこと
  254.  付録A Unity Hubのすすめ
  255.   A.1 Unity Hub
  256.    A.1.1 Unity HubでUnityをインストール
  257.   A.2 Unityプロジェクトを開く
  258.   A.3 その他の機能
  259.   A.4 まとめ
  260.  付録B Visual Studio 2017 Communityによるデバッグの方法
  261.   B.1 VS2017 Communityのインストール
  262.   B.2 スクリプトエディターの変更
  263.   B.3 VS2017 Communityでデバッグする
  264.   B.4 まとめ
  265.  著者紹介
  266.  奥付

Product information

  • Title: Unityによるモバイルゲーム開発 ―作りながら学ぶ2D/3Dゲームプログラミング入門
  • Author(s): Jon Manning, Paris Buttfield-Addison, 鈴木 久貴, あんどうやすし, 江川 崇, 安藤 幸央, 高橋 憲一
  • Release date: August 2018
  • Publisher(s): O'Reilly Japan, Inc.
  • ISBN: 9784873118505

You might also like

book

行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

by Stephen Wendel, 武山 政直, 相島 雅樹, 反中 望, 松村 草也

深津貴之氏推薦!「行動経済学、データ分析、サービス設計のエッセンスが高度に統合された行動変容デザインの良書です」 本書は、行動経済学と心理学をもとに、人々の行動、日常習慣を変える“行動変容”を促すプロダクトをデザインするための書籍です。主にヘルスケア(健康管理)、金融(資産管理)など、これまでITプロダクト(サービス、アプリなど)がなかなか使われてこなかった分野を対象に、ユーザーがやりたいと思っていたものの実行できなかった行動の実現を助けるプロダクトを作り出すための、実践的な視点や知識を提供します。

book

デザインスプリント ―プロダクトを成功に導く短期集中実践ガイド

by Richard Banfield, C. Todd Lombardo, Trace Wax, 安藤 幸央, 佐藤 伸哉, 牧野 聡

本書はGV(旧Google Ventures)およびGoogleで提唱しているデザイン思考「デザインスプリント」の概念とその手順を実践的に解説。デザインスプリントではプロダクトやサービスのアイデアを短時間で作り上げ、ユーザーに示して評価してもらい、アイデア創出からプロトタイピング、ユーザーテストと評価までをわずか5日間で完了させるためのプロセスが定められています。本書では組織でデザインスプリントを実践するために必要な事柄を紹介し、多くのリソースを投入する前にプロダクトやサービスのアイデアを検討し、チームメンバー、ステークホルダー、そしてユーザーを巻き込みながら短期間でより良いユーザー体験を作り上げる方法を伝授します。

book

ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化

by Ilya Grigorik, 和田 祐一郎/株式会社プログラミングシステム社

現代のアプリケーションエンジニアは、UIやデータ処理、開発言語、プラットフォームの仕様や癖だけでなく、サーバやネットワークについても、上から下まで、表から裏まで広く知ることを求められます。本書は「ブラウザ」に関連し、インターネットで使用されるさまざまなネットワーク技術をまとめたものです。HTTP/2.0やWebRTCなどの最新技術、WebSocketやXMLHttpRequestなどのブラウザAPI、そしてそれらの土台となるTCPやUDPやトランスポート層についてまでを幅広くカバーします。また改善前後の性能・速さを可能な限り具体化し、それぞれの場面においてのパフォーマンス改善幅を示します。

book

初めてのGraphQL ―Webサービスを作って学ぶ新世代API

by Eve Porcello, Alex Banks, 尾崎 沙耶, あんどうやすし

今日では多くのWebサービスがRESTアーキテクチャスタイルで実装されています。RESTは2000年にフィールディングの論文で提唱された後に爆発的に普及し洗練されてきました。一方で、本書で紹介するGraphQLは2015年にFacebookによって公開されたRESTとは異なるアプローチのアーキテクチャです。GraphQLの最大の特徴はクエリ言語を用いてデータを操作する点です。クエリ言語の表現力の高さによりクライアントは本当に必要なリクエストを送ることができます。本書ではGraphQLの概要とGraphQLを用いたWebサービスの開発方法を実装例に沿って紹介します。認証やファイルアップロードといった実践的なトピックまで踏み込んだGraphQLの実用的な入門書です。