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 Neal Ford, Rebecca Parsons, Patrick Kua, 島田 浩二

現代におけるエンタープライズアーキテクチャは、もはや静的な計画をあてにすることはできなくなっています。そしてソフトウェア開発エコシステムは、ツールやフレームワーク、技術イノベーションの流れと共に絶え間なく変化しています。こうした状況の中で、いったん構築したシステムを成長させていくには、さまざまな変化に適応しながら進化するアーキテクチャをシステムに組み込む必要があります。本書は、そうしたアーキテクチャを「進化的アーキテクチャ」と名付け、その構築に必要な考え方や技術、実践方法などについて解説するものです。

book

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

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

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

book

プロダクトマネジメント ―ビルドトラップを避け顧客に価値を届ける

by Melissa Perri, 吉羽 龍太郎

本書は、顧客に価値を届けるプロダクトを作り出すプロダクトマネジメントについて学ぶ本です。プロダクトマネジメントを理解することで、企業がビジネス目標を達成しながら、顧客の課題を解決する方法を解説します。はじめにプロダクトマネージャーの役割と責任を定義し、優れた意思決定を促す戦略の立て方を紹介します。実験と最適化によって作るべきプロダクトを決めるプロセスを解説し、最後にプロダクト主導の組織を支えるための文化や方針を紹介します。ビルドトラップを避け、顧客の課題にフォーカスするプロダクトマネジメントの原則を解説する本書は、規模の大小を問わずすべてのプロダクトチーム、マネージャー、プログラマ、アーキテクト、デザイナ、マーケターに必携の一冊です。

book

詳説 イーサネット 第2版

by Charles E. Spurgeon, Joann Zimmerman, 三浦 史光, 豊沢 聡

イーサネット技術についての解説書。本書では、ファーストイーサネットやギガビットイーサネットなどの従来技術だけでなく、10ギガ、40ギガ、100ギガビットなど最新のイーサネット仕様を詳しく解説します。また、全二重イーサネット、オートネゴシエーション、Power over Ethernet、Energy Efficient Ethernet、構造化ケーブリングシステム、スイッチを用いたネットワークの設計、ネットワーク管理、ネットワークのトラブルシューティングのテクニックなども解説します。ネットワークの設計、監視、保守、障害時対応までを網羅し、信頼性の高いネットワークの構築を支援します。