UnityによるVRアプリケーション開発
――作りながら学ぶバーチャルリアリティ入門

[cover photo]
  • 2016年08月 発行
  • 304ページ
  • ISBN978-4-87311-757-7
  • フォーマット Print PDF ePub mobi
  • 原書: Unity Virtual Reality Projects

オライリー・ジャパンで書籍を購入:
定価3,240円

Ebook Storeで電子版を購入:
価格2,592円

Unityを使ったVR開発の入門書。本書では実践的なサンプルを多用しながら、Oculus RiftやGoogle CardboardといったHUDデバイスで体験できる仮想現実世界の開発を簡潔明瞭に解説します。利用するサンプルプロジェクトは、さまざまなVR体験をいかに構築するかを明示しています。読者は、仮想世界にインタラクトするための一人称および三人称でのナビゲーション、VR空間用のさまざまなUI要素の使い方、360°パノラマ、バーチャルウォークスルー、ソーシャルVRメタバースの開発、さらにはVR酔いなどVR特有の問題点も知ることができます。日本語版では、Gear VR用のビルド、Daydreamコントローラーについての解説を巻末付録として収録しました。

本書のサンプル

関連書籍

Head First C#
Pythonからはじめる数学入門
あなたの知らないところでソフトウェアは何をしているのか?
おもしろいゲームシナリオの作り方
「おもしろい」のゲームデザイン
ゲーム開発者のためのAI入門
ゲームクリエイターが知るべき97のこと
ゲームクリエイターが知るべき97のこと 2
ゲームサウンド制作ガイド
ゲームストーミング
詳解 OpenCV
実践 コンピュータビジョン
実例で学ぶゲーム3D数学
実例で学ぶゲームAIプログラミング
「タッチパネル」のゲームデザイン
初めてのThree.js 第2版
「ヒットする」のゲームデザイン
「レベルアップ」のゲームデザイン

訳者まえがき
まえがき

1章 すべての人にバーチャルなすべてのものを
    1.1 バーチャルリアリティは何をもたらすのか
    1.2 ヘッドマウントディスプレイの形式
        1.2.1 デスクトップVR
        1.2.2 モバイルVR
    1.3 バーチャルリアリティ(VR)と拡張現実(AR)の違い
    1.4 アプリケーションかゲームか
    1.5 本書がカバーする範囲
    1.6 VR体験の種類
    1.8 まとめ

2章 オブジェクトとスケール
    2.1 Unityことはじめ
        2.1.1 新しいUnityプロジェクトの開始
        2.1.2 Unityエディター
        2.1.3 デフォルトのワールド空間
    2.2 シンプルなジオラマの作成
        2.2.1 立方体の追加
        2.2.2 平面の追加
        2.2.3 球体といくつかのマテリアルの追加
        2.2.4 シーンビューの変更
        2.2.5 写真の追加
        2.2.6 地平面のカラーリング
    2.3 測定ツール
        2.3.1 便利な立方体を置いておく
        2.3.2 グリッドプロジェクターの利用
        2.3.3 Ethanキャラクターの計測
    2.4 Blenderで試作したモデルのインポート
    2.5 Blenderの紹介
        2.5.1 立方体
        2.5.2 UVテクスチャ画像
        2.5.3 Unityへのインポート
        2.5.4 シーンの観察
    2.6 まとめ

3章 VRのビルドと実行
    3.1 VRデバイス統合ソフトウェア
        3.1.1 Unityの標準VRサポート
        3.1.2 デバイス独自のSDK
        3.1.3 OSVRプロジェクト
        3.1.4 WebVR
        3.1.5 3Dワールド
    3.2 MeMyselfEyeプレハブの作成
    3.3 Oculus Rift向けビルド
    3.4 Google Cardboard向けビルド
        3.4.1 Androidでのセットアップ
        3.4.2 iOSでのセットアップ
        3.4.3 Google VR SDK for Unityパッケージのインストール
        3.4.4 プレハブの追加
        3.4.5 ビルドの設定
        3.4.6 Playモード
        3.4.7 Androidでのビルドと実行
        3.4.8 iOSでのビルドと実行
    3.5 デバイスに依存しないClicker
    3.6 バーチャルリアリティの本当の仕組み
        3.6.1 立体視による3D表示
        3.6.2 ヘッドトラッキング
    3.7 まとめ

4章 注視点ベースのコントロール
    4.1 ゾンビのEthan
        4.1.1 Ethanの人工知能
        4.1.2 NavMeshの生成
        4.1.3 街の中をランダムに歩く人
        4.1.4 幕あい ―― Unityプログラミングの簡単な紹介
        4.1.5 RandomPositionスクリプト
        4.1.6 Ethanのゾンビ化
    4.2 見ている場所に行く
        4.2.1 LookMoveToスクリプト
        4.2.2 フィードバックカーソルの追加
        4.2.3 観察
    4.3 目線で人が殺せるなら
        4.3.1 KillTargetスクリプト
        4.3.2 パーティクルエフェクトの追加
        4.3.3 後片付け
    4.4 まとめ

5章 ワールド空間のUI
    5.1 再利用可能なデフォルトキャンバス
    5.2 バイザーHUD
    5.3 照準カーソル
    5.4 ウィンドシールドHUD
    5.5 ゲーム要素UI
    5.6 情報バブル
    5.7 入力イベントを受け取るゲーム内ダッシュボード
        5.7.1 ボタンのあるダッシュボードを作成
        5.7.2 ボタンに散水ホースを接続
        5.7.3 スクリプトからボタンを実行
        5.7.4 視線を向けたボタンのハイライト
        5.7.5 視線を向けてからクリックして選択
        5.7.6 視線を向けてから見つめて選択
    5.8 ヘッドジェスチャーに反応するオブジェクトUI
        5.8.1 頭の位置の利用
        5.8.2 ヘッドジェスチャーの利用
    5.9 まとめ

6章 一人称のキャラクター
    6.1 Unityのキャラクターについて理解する
        6.1.1 Unityのコンポーネント
        6.1.2 Unity標準アセット
    6.2 一人称の作成
        6.2.1 視線の方向への移動
        6.2.2 足を地面につけた状態を保つ
        6.2.3 ソリッドオブジェクトを通り抜けない
        6.2.4 世界の端で落ちないようにする
        6.2.5 小さなオブジェクトは踏み越え、でこぼこな地形に対処する
        6.2.6 移動の開始と終了
        6.2.7 頭のジェスチャーを使った開始と終了
    6.3 ユーザーのキャリブレーション
        6.3.1 キャラクターの高さ
        6.3.2 プレイヤーの現実での高さ
        6.3.3 再センタリング
    6.4 自分自身であるという感覚を保つ
        6.4.1 頭と体の分離
        6.4.X2 頭と体…
        6.4.3 …そして足
        6.4.4 体のアバター
        6.4.5 バーチャルなダビデの鼻
        6.4.6 音の合図
    6.5 移動、テレポート、センサー
    6.6 VR酔いの管理
    6.7 まとめ

7章 物理と環境
    7.1 Unityの物理
    7.2 よく弾むボール
    7.3 ヘディング
    7.4 トランポリンとレンガ
    7.5 人間用のトランポリン
        7.5.1 レンガのように
        7.5.2 キャラクターらしく
    7.6 幕あい ―― 環境と物
        7.6.1 うっすらと雲がある空
        7.6.2 地球
        7.6.3 会社のロゴ
    7.7 エレベーター
    7.8 ジャンプ
    7.9 まとめ

8章 ウォークスルーとレンダリング
    8.1 Blenderを使ったモデル作成
        8.1.1 壁
        8.1.2 天井
    8.2 Unityでシーンを組み立てる
        8.2.1 展示室
        8.2.2 画像の展示
        8.2.3 画像の展示計画
    8.3 画像の追加
    8.4 ウォークスルーのアニメーション
        8.4.1 Unityでのアニメーションシステム
        8.4.2 スクリプトによるアニメーション
    8.5 パフォーマンスと快適さのための最適化
        8.5.1 実装やコンテンツの最適化
        8.5.2 Unityのレンダリングパイプラインの最適化
        8.5.3 ターゲットのハードウェアやドライバーごとの最適化
        8.5.4 Unityのプロファイラー
    8.6 まとめ

9章 360度全方位の活用
    9.1360 度映像メディア
    9.2 水晶玉
    9.3 魔法の球体
    9.4 パノラマ画像
    9.5 インフォグラフィック
    9.6 エクイレクタングラー形式(正距円筒図法)による投影
    9.7 地球儀
    9.8 球状パノラマ写真
    9.9 視野角(FOV)
    9.10 360度映像の撮影
    9.11 まとめ

10章 VR空間での社会性
    10.1 マルチプレイヤーによるネットワーキング
        10.1.1 ネットワーキングサービス
        10.1.2 ネットワークの構造
        10.1.3 ローカル対サーバー
        10.1.4 Unityネットワーキングシステム
    10.2 単純なシーンの設定
        10.2.1 シーン環境の作成
        10.2.2 アバターの頭を作成
    10.3 マルチプレイヤーネットワーキングの追加
        10.3.1 Network ManagerとHUD(ヘッドアップディスプレイ)
        10.3.2 Network IdentityとTransform
        10.3.3 ホストコンピューターとして動作
        10.3.4 生成位置の追加
        10.3.5 ゲームで2つのインスタンスを動かす
        10.3.6 一人称キャラクターとアバターとの関連付け
    10.4 VR空間にマルチプレイヤー機能を追加
        10.4.1 Oculus Riftでの再生
        10.4.2 Google Cardboardでの利用
        10.4.3 次の段階
    10.5 カスタム版VRチャットルームの構築と共有
        10.5.1 VR世界の準備と構築
        10.5.2 VR空間を主催する
    10.6 まとめ

11章 次に何が起こるのか

付録A Gear VR用のビルドとタッチパッドからの入力
    A.1 Gear VRとは
    A.2 Gear VR用にビルドするための設定
        A.2.1 署名ファイル
        A.2.2 Unityのビルド設定
        A.2.3 メインカメラの設定
    A.3 Gear VR用プロジェクトの作成
        A.3.1 タッチパッドをクリッカーとして認識させる
        A.3.2 タッチパッドでジャンプの動作を起動する

付録B Daydreamコントローラーを使ってみる
    B.1 Daydreamとは
    B.2 コントローラー
    B.3 コントローラーを使ってみる
        B.3.1 ポインティングデバイスとして使う
        B.3.2 散水ホースの向きを操作する
        B.3.3 散水ホースの位置を操作する

索引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]