Unityによるモバイルゲーム開発

―作りながら学ぶ2D/3Dゲームプログラミング入門

[cover photo]
TOPICS
Game
発行年月日
PRINT LENGTH
392
ISBN
978-4-87311-850-5
原書
Mobile Game Development with Unity
FORMAT
Print PDF EPUB
Ebook
3,300円
Ebookを購入する
Print
3,300円

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

関連ファイル

目次

目次
賞賛の声
訳者まえがき
まえがき

第Ⅰ部 Unityの基本

1章 Unityとは
    1.1 本書の主題
        1.1.1 モバイルゲーム
    1.2 Unityの導入
        1.2.1 Unityは何をするためのものか?
        1.2.2 Unityを始める

2章 Unityツアー
    2.1 Unityエディター
        2.1.1 プレイモードとエディットモード
    2.2 シーンウィンドウ
        2.2.1 モードセレクター
        2.2.2 操作してみる
        2.2.3 ハンドルコントロール
    2.3 ヒエラルキーウィンドウ
    2.4 プロジェクトウィンドウ
    2.5 インスペクターウィンドウ
    2.6 ゲームウィンドウ
    2.7 まとめ

3章 Unityでのスクリプティング
    3.1 C#の集中コース
    3.2 MonoとUnity
        3.2.1 MonoDevelop
    3.3 ゲームオブジェクト、コンポーネント、スクリプト
        3.3.1 インスペクター
        3.3.2 コンポーネント
    3.4 重要なメソッド
        3.4.1 AwakeとOnEnable
        3.4.2 Start
        3.4.3 UpdateとLateUpdate
    3.5 コルーチン
    3.6 オブジェクトの作成と破棄
        3.6.1 インスタンス化
        3.6.2 オブジェクトを0から作る
        3.6.3 オブジェクトの破棄
    3.7 アトリビュート
        3.7.1 RequireComponent
        3.7.2 HeaderとSpace
        3.7.3 SerializeFieldとHideInInspector
        3.7.4 ExecuteInEditMode
    3.8 スクリプト内での時間の扱い
    3.9 コンソールへのログ出力
    3.10 まとめ

第Ⅱ部 2Dゲーム『Gnome's Well』の開発

4章 ゲーム開発の始まり
    4.1 ゲームデザイン
    4.2 プロジェクトの作成とアセットのインポート
    4.3 ノームの制作
    4.4 ロープ
        4.4.1 ロープのコーディング
        4.4.2 ロープの設定
    4.5 まとめ

5章 ゲームプレイに向けた準備
    5.1 入力
        5.1.1 Unity Remote
        5.1.2 チルトコントローラーの追加
        5.1.3 シングルトンクラスの作成
        5.1.4 InputManagerシングルトンの実装
        5.1.5 ロープの操作
        5.1.6 カメラがノームに追従するようにする
        5.1.7 スクリプトとデバッグ
    5.2 ノームのコードのセットアップ
    5.3 ゲームマネージャーのセットアップ
        5.3.1 ゲームのセットアップとリセット
        5.3.2 新しいノームの作成
        5.3.3 古いノームの破棄
        5.3.4 ゲームのリセット
        5.3.5 接触を処理する
        5.3.6 出口に到達する
        5.3.7 一時停止と再開
        5.3.8 リセットボタンの扱い
    5.4 シーンの準備
    5.5 まとめ

6章 トラップと宝を用いたゲームプレイの構築
    6.1 シンプルなトラップ
    6.2 宝と出口
        6.2.1 出口の作成
    6.3 背景の追加
    6.4 まとめ

7章 ゲームを磨き上げる
    7.1 ノームのアートの仕上げ
    7.2 物理の更新
    7.3 背景
        7.3.1 レイヤー
        7.3.2 背景の制作
        7.3.3 異なる背景
        7.3.4 井戸の底
        7.3.5 カメラの更新
    7.4 ユーザーインターフェース
    7.5 無敵モード
    7.6 まとめ

8章 『Gnome's Well』の最終調整
    8.1 トラップとレベルオブジェクトの増設
        8.1.1 トゲのオブジェクト
        8.1.2 回転ノコギリ
        8.1.3 ブロック
    8.2 パーティクルエフェクト
        8.2.1 パーティクルマテリアルの定義
        8.2.2 血しぶき
        8.2.3 血の大噴射
        8.2.4 パーティクルシステムを使用する
    8.3 メインメニュー
        8.3.1 シーンのロード
    8.4 オーディオ
    8.5 まとめ

第Ⅲ部 3Dゲーム『Rockfall』の開発

9章 『Rockfall』の開発
    9.1 ゲームデザイン
        9.1.1 アセットの入手
    9.2 アーキテクチャー
    9.3 シーンの作成
        9.3.1 宇宙船
        9.3.2 宇宙ステーション
        9.3.3 スカイボックス
        9.3.4 キャンバス
    9.4 まとめ

10章 入力と飛行の制御
    10.1 入力
        10.1.1 ジョイスティックを追加する
        10.1.2 インプットマネージャー
    10.2 飛行の制御
        10.2.1 インジケーター
        10.2.2 UI要素を作成する
        10.2.3 インジケーターマネージャー
    10.3 まとめ

11章 武器と照準の追加
    11.1 武器
        11.1.1 宇宙船の武器
        11.1.2 Fireボタン
    11.2 ターゲットレティクル
    11.3 まとめ

12章 小惑星とダメージ
    12.1 小惑星
        12.1.1 小惑星スポーナー
    12.2 ダメージのやり取り
        12.2.1 爆発
    12.3 まとめ

13章 オーディオ、メニュー、ゲームオーバー、爆発!
    13.1 メニュー
        13.1.1 メインメニュー
        13.1.2 一時停止画面
        13.1.3 ゲームオーバー画面
        13.1.4 一時停止ボタンを追加する
    13.2 ゲームマネージャーとゲームオーバー
        13.2.1 スタートポイント
        13.2.2 Game Managerを作成する
        13.2.3 初期設定
        13.2.4 ゲームを開始する
        13.2.5 ゲームを終了する
        13.2.6 ゲームを一時停止する
        13.2.7 シーンを設定する
    13.3 境界
        13.3.1 UIを作成する
        13.3.2 境界のコーディング
    13.4 最後の仕上げ
        13.4.1 スペースダスト
        13.4.2 トレイルレンダラー
        13.4.3 オーディオ
        13.4.4 宇宙船
        13.4.5 武器の効果音
        13.4.6 爆発
    13.5 まとめ

第Ⅳ部 高度な機能

14章 ライティングとシェーダー
    14.1 マテリアルとシェーダー
        14.1.1 バーテックスフラグメント(Unlit、ライティングを考慮しない)シェーダー
    14.2 グローバルイルミネーション
        14.2.1 ライトプローブ
    14.3 パフォーマンスについて
        14.3.1 プロファイラー
        14.3.2 デバイスからのデータ収集
        14.3.3 一般的なTIPS
    14.4 まとめ

15章 UnityでのGUIの作成
    15.1 UnityでGUIはどのように動作するのか
        15.1.1 Canvas
        15.1.2 RectTransform
        15.1.3 Rectツール
        15.1.4 アンカー
    15.2 コントロール
    15.3 イベントとレイキャスト
        15.3.1 イベントへの反応
    15.4 レイアウトシステムの利用
    15.5 Canvasの拡大縮小
    15.6 画面間の遷移
    15.7 まとめ

16章 エディター拡張
    16.1 カスタムウィザードの作成
    16.2 カスタムエディターウィンドウの作成
        16.2.1 エディターGUI API
        16.2.2 矩形とレイアウト
        16.2.3 コントロールの仕組み
        16.2.4 ボタン
        16.2.5 テキストフィールド
        16.2.6 スライダー
        16.2.7 スペース
        16.2.8 リスト
        16.2.9 スクロールビュー
        16.2.10 アセットデータベース
    16.3 カスタムプロパティードロアーの作成
        16.3.1 クラスの作成
        16.3.2 プロパティーの高さの設定
        16.3.3 OnGUIメソッドのオーバーライド
        16.3.4 プロパティーの取得
        16.3.5 プロパティースコープの作成
        16.3.6 ラベルの描画
        16.3.7 矩形の計算
        16.3.8 値の取得
        16.3.9 変更のチェックの作成
        16.3.10 スライダーの描画
        16.3.11 フィールドの描画
        16.3.12 変更されたかどうかの確認
        16.3.13 プロパティーの保存
        16.3.14 動作確認
    16.4 カスタムインスペクターの作成
        16.4.1 シンプルなコンポーネントの作成
        16.4.2 カスタムインスペクターの作成
        16.4.3 クラスのセットアップ
        16.4.4 色とプロパティーの定義
        16.4.5 変数の設定
        16.4.6 GUIの描画
        16.4.7 コントロールの描画
        16.4.8 変更の適用
        16.4.9 テスト
    16.5 まとめ

17章 エディターを超えて
    17.1 Unityサービスのエコシステム
        17.1.1 アセットストア
        17.1.2 PlayMaker
        17.1.3 Amplify Shader Editor
        17.1.4 UFPS
        17.1.5 Unity Cloud Build
        17.1.6 Unity Ads
    17.2 デプロイ
        17.2.1 プロジェクトの準備
        17.2.2 ターゲットを設定
        17.2.3 スプラッシュ画面
        17.2.4 特定プラットフォーム向けビルド
        17.2.5 iOS向けビルド
        17.2.6 Android向けビルド
    17.3 次に行うこと

付録A Unity Hubのすすめ
    A.1 Unity Hub
        A.1.1 Unity HubでUnityをインストール
    A.2 Unityプロジェクトを開く
    A.3 その他の機能
    A.4 まとめ

付録B Visual Studio 2017 Communityによるデバッグの方法
    B.1 VS2017 Communityのインストール
    B.2 スクリプトエディターの変更
    B.3 VS2017 Communityでデバッグする
    B.4 まとめ

索引