UnityによるARゲーム開発

―作りながら学ぶオーグメンテッドリアリティ入門

[cover photo]
TOPICS
Game
発行年月日
PRINT LENGTH
344
ISBN
978-4-87311-810-9
原書
Augmented Reality Game Development
FORMAT
Print PDF EPUB
Ebook
3,520円
Ebookを購入する
Print
3,520円

ARアプリ開発の入門書。本書ではスマホゲーム『Foody GO』を実際に作りながら位置情報ベースのARゲームについて学びます。『Foody GO』はモンスターを探して捕まえレストランに連れていってアイテムとして売るというアドベンチャーゲームです。モバイル端末のGPSから現在位置を取得しゲームの世界観に合わせたマップを描画してその上に自分のアバターとモンスターをアニメーション付きで表示します。AndroidやiPhoneで遊べる実践的なスマホゲームを自分で作ることができるので、読者はUnityによるARゲーム開発と関連技術を体系的かつ体験的に学べます。日本語版では、ARKitやTangoによるARビューの実装についての解説を巻末付録として収録しました。

本書のサンプル

関連ファイル

目次

訳者まえがき
まえがき

1章 はじめに
    1.1 リアルワールドアドベンチャーゲーム
        1.1.1 位置情報
        1.1.2 拡張現実
        1.1.3 アドベンチャーゲーム
            1.1.3.1 Foody GOの紹介
            1.1.3.2 ソースコード
    1.2 Unityを使用してモバイル開発を始める
        1.2.1 Unityのダウンロードとインストール
        1.2.2 Android開発用の設定
            1.2.2.1 Android SDKのインストール
            1.2.2.2 開発用のAndroidデバイスと接続
        1.2.3 iOS開発のための設定
    1.3 Unityを始める
        1.3.1 ゲームプロジェクトの作成
        1.3.2 ゲームのビルドとデプロイ
            1.3.2.1 Android向けビルドとデプロイ
            1.3.2.2 iOS向けビルドとデプロイ
    1.4 まとめ

2章 プレイヤーの位置のマッピング
    2.1 GIS用語
        2.1.1 位置情報
    2.2 GPSの基本
        2.2.1 Googleマップ
        2.2.2 地図を追加
            2.2.2.1 地図タイルの作成
            2.2.2.2 タイルの敷き詰め
            2.2.2.3 コード解説
        2.2.3 サービスの設定
            2.2.3.1 CUDLRの設定
            2.2.3.2 CUDLRによるデバッグ
        2.2.4 GPSサービスを設定する
    2.3 まとめ

3章 アバターの作成
    3.1 標準のUnityアセットのインポート
        3.1.1 キャラクターの追加
        3.1.2 カメラの切り替え
        3.1.3 クロスプラットフォーム入力
        3.1.4 入力の修正
            3.1.4.1 GPS Location Service
            3.1.4.2 Character GPS Compass Controller
        3.1.5 キャラクターの差し替え
    3.2 まとめ

4章 獲物の生成
    4.1 新しいモンスターサービスを作成
        4.1.1 地図上での距離を理解
        4.1.2 GPSの精度
    4.2 モンスターの確認
        4.2.1 座標を3Dワールド空間に射影
        4.2.2 モンスターを地図上に追加
        4.2.3 モンスターをUIの中で追跡
    4.3 まとめ

5章 ARでの獲物の捕獲
    5.1 シーン管理
    5.2 Game Managerの紹介
    5.3 シーンのロード
    5.4 タッチ入力の更新
    5.5 コライダーとリジッドボディの物理
    5.6 AR捕獲シーンの構築
    5.7 シーンの背景にカメラを使う
    5.8 捕獲ボールの追加
    5.9 ボールを投げる
    5.10 衝突のチェック
    5.11 フィードバックのためのパーティクルエフェクト
    5.12 モンスターの捕獲
    5.13 まとめ

6章 捕まえた物の保管
    6.1 インベントリーシステム
    6.2 ゲームの状態の保存
    6.3 サービスのセットアップ
    6.4 コードの確認
    6.5 MonsterオブジェクトのCRUD操作
    6.6 Catchシーンの修正
    6.7 Inventoryシーンの作成
    6.8 メニューボタンの追加
    6.9 ゲームの統合
    6.10 モバイル開発の苦悩
    6.11 まとめ

7章 ARの世界の構築
    7.1 地図について復習
    7.2 シングルトン
    7.3 GooglePlacesAPIの紹介
    7.4 JSONの利用
    7.5 GooglePlacesAPIサービスの設定
    7.6 マーカーの作成
        7.6.1 検索の最適化
    7.7 まとめ

8章 ARの世界とのやりとり
    8.1 Placesシーン
    8.2 GoogleStreetViewの背景
    8.3 GooglePlacesAPIphotosを使用したスライドショー
    8.4 販売のためのUIを追加
    8.5 販売のためのゲームメカニクス
    8.6 データベースの更新
    8.7 要素をつなぎ合わせる
    8.8 まとめ

9章 ゲームの仕上げ
    9.1 開発の残タスク
    9.2 省略した開発スキル
    9.3 アセットの整理
    9.4 ゲームのリリース
    9.5 ロケーションベースのゲーム開発に伴う問題
    9.6 ロケーションベースのマルチプレイヤーゲーム
    9.7 マルチプレイヤープラットフォームとしてのFirebase
    9.8 その他のロケーションベースゲームのアイデア
    9.9 このジャンルの未来
    9.10 まとめ

10章 トラブルシューティング
    10.1 [Console]ウィンドウ
    10.2 コンパイラエラーと警告
    10.3 デバッグ
    10.4 リモートデバッグ
    10.5 高度なデバッグ
    10.6 ロギング
    10.7 CUDLR
    10.8 Unity Analytics
    10.9 章別の問題と解決方法
    10.10 まとめ

付録A TangoによるARビューの実装法
    A.1 Tangoについて
        A.1.1 モーショントラッキング(Motion Tracking)
        A.1.2 深度認識(Depth Perception)
        A.1.3 空間記憶(Area Learning)
    A.2 Tangoを使ったARシーンの構築
        A.2.1 Tangoの機能を使用するための前準備
        A.2.2 Tangoの機能の組込み
        A.2.3 オクルージョン機能の設定
        A.2.4 アイスボールの調整

付録B ARKitによるARビューの実装法
    B.1 ARKitについて
        B.1.1 ARKitでできること
    B.2 ARKitを使ったARシーンの構築
        B.2.1 ARKitを使用するための前準備
        B.2.2 ARKitの機能の組み込み
        B.2.3 光源推定機能の組み込み
        B.2.4 アイスボールの調整

索引