バーチャルリアリティ(VR)アプリケーションを開発してみたいあなた、系統的に学べるこちらはいかがでしょうか【UnityによるVRアプリケーション開発】

VR application development using Unity IT技術

 

  • 「バーチャルリアリティが〜」
  • 「Oculus liftが〜」
  • 「Gear VRが〜」

など、目にする方も多いのではないでしょうか?

うしろのふたつは、

  • バーチャルリアリティを体験するための製品で、

パソコンやゲームに接続することで、

  • バーチャルリアリティを体験

することができます

本記事の概要

バーチャルリアリティ(VR: Virtual Reality)」とは?

下のような、水中メガネのような機器をつけた人、見たことありませんか?

こんなやつです↓

 

これは

  • 「ゴーグル」
  • 「VRメガネ」
  • 「ヘッドマウントディスプレイ(HMD)」

などと呼ばれています

これをつけると、目の前に、完全なバーチャルな世界が広がります。

自宅にいながら月面にいるような体験ができる、

すばらしい世界をみせてくれる製品です

さらにすごいのは、

自分が首をふれば、センサーが感知して、

見える景色も左右に動きます。

みている世界で首をふっている景色が再現されます

また、コントローラーを使うことができ、

ゲームのように、バーチャルな世界を探検したり

、動き回ることもできてしまいます。

 

つまり、バーチャルリアリティは、

あたかも自分がそこにいるかのような

  • 「没入体験」

をすることができる技術です。

そして、自分が没入したい体験は、

  • 自分で作れてしまいます!

どう、バーチャルリアリティは使われてるの?

バーチャルリアリティに無限の可能性があることは感じてもらえたと思います。

世の中ではどう使われているのかというと、以下の代表例があります

①、「不動産業」

マンションを借りたいお客さんは、実際に部屋にいってみる「内見」をしますが、

遠方の場合は内見の数は限られてしまいます。

その結果、賃貸契約が不成立になってしまうこともあります。

そういうときに、不動産屋さんがあらかじめ精密に3Dモデリングされた部屋を用意しておきVRを利用することで、

あたかも遠方の部屋を内見している体験を提供することができるです。

 

 

 

②、「医療」での応用も革新的です。

体の中は切ってみないと実際に見ることはできません。

苦肉の策としてX線やMRIなど、電磁波を当てることで中を映像化して調べています。

その映像を3Dにすることで、直観的に理解できるようになります。

また外科手術の経験が浅い医学生は、

仮想的につくられた人体をつかって、手術の訓練をすることができます。

 

 

 

③、「旅行体験」もあります。

日本と反対側にあるマチュピチュに数十時間かけて実際に旅行するのはもちろん最高です。

でも、自宅にいながらゴーグルをつけるだけで、

擬似的にその世界を体験することも可能なのです。

 

 

 

 

④、「建築や土木」、「工業デザインや機械工学」

立体的なものを設計する分野で活用されます。

完成品をバーチャルに作成し、それをみせることで、顧客とのコミュニケーションがスムーズになります。

また、さいしょから完成品をみながら設計・修正などすることができ、

グループで開発していく際にチームの意思疎通がより正確になるはずです。

 

 

 

 

もちろん映画館やコンサートなど、さまざまな「エンターテイメント」での応用があります。

恐竜の世界に没入したり、スーパーマンのように空を飛びまわることも可能なのです。

もちろん他にも、無限の可能性がありますよね!

 

 

 

 

 

VR体験の種類には、どんなものがあるの?

VR技術でつくることができるのは、

  • 自分の視点でまわりを見る
  • 自分と周囲のモノがやりとりすることができる
  • 自分と他の人がバーチャルの中でコミュニケーションすることができる
  • 空から全体を俯瞰するような、全体を見渡す3Dシーンをみることができる
  • 環境内を動くレールなどに乗っているような体験をすることができる

となどです。これらをさまざまな状況に応じて組み合わせていくことで、無限の状態を再現することができるのです

 

 

 

VRつくってみたい!でも、どうすればいいの?

  • VRに興味があるあなた
  • 仕組みを学びたい!
  • 自分で作ってみたい!
  • (自分の願望を叶えたい!)

そういったあなたにはこちらがオススメです

この本では、Unityという3Dゲームエンジンを使いながら、実際にVRアプリケーション開発のノウハウを学ぶことができます。

なんかプログラミングとかむずかしそう〜

と思うかもしれません。でも、だいじょうぶです!

本書では、Unity初心者のあなたでも、1つひとつ丁寧に説明されています。しっかり理解しながら進むことで、自然と開発技術が身につきます

また、ゲーム開発者などUnityに詳しい方も、VR特有の使い方を数多く学べます。

ゲーム以外の用途でのゲームエンジンの使い方を身につけて、あたらしいアイデアが生まれるかもしれません

 

 

 

 

なにを、準備すればいいの?

準備が必要なモノは、本書を参考にしながら

  • パソコン(WindowsもしくはMac)
  • Unity3Dというゲームエンジン

があれば、始められます。

Unity3Dは、個人ライセンスは無料でダウンロードできますので、パソコンにダウンロードすれば準備完了です!

自分で開発したものをためすは、

ヘッドマウントディスプレイがあるといいですが、とりあえず必須ではありません。

ヘッドマウントディスプレイは、2000円くらいで手に入りますので、

せっかくつくったらためしてみるのもいいのではないでしょうか

 

ちなみに、本書で検証に使用したハードウェアや、各ソフトウェアのバージョンは、以下のとおりです。

ハードウェア

  • Samsung Galaxy S6 edge (Android 6.0.1)
  • Nexus 5X (Android N Developer Preview 4)
  • iPhone 6 Plus (iOS 9.3.2)
  • MacBook Pro Retina, 13-inch, Mid 2014 (MacOSX 10.11.5)
  • Windows PC, GPU:NVIDA GeForce GTX980Ti (Windows8)

VRデバイス

  • Oculus Rift 製品版、および DK2
  • Google Cardboard
  • Sumsung Gear VR

ソフトウェア

  • Unity5.3.6f1 および 5.4.0f3
  • Blender 2.77 (3Dモデリングのフリーソフトです)
  • Android SDK API level 23
  • Xcode 7.3.1
  • Google VR SDK for Unity v0.85

では本書の構成をみてみましょう!

訳者まえがき
まえがき

1章 すべての人にバーチャルなすべてのものを

1−1、バーチャルリアリティは何をもたらすのか
1−2、ヘッドマウントディスプレイの形式

デスクトップVR
モバイルVR

1−3、バーチャルリアリティ(VR)と拡張現実(AR)の違い
1−4、アプリケーションかゲームか
1−5、本書がカバーする範囲
1−6、VR体験の種類
1−7、VRにとって重要な専門的技術
1−8、まとめ

2章 オブジェクトとスケール

2−1、Unityことはじめ

新しいUnityプロジェクトの開始
Unityエディター
デフォルトのワールド空間

2−2、シンプルなジオラマの作成

立方体の追加
平面の追加
球体といくつかのマテリアルの追加
シーンビューの変更
写真の追加
地平面のカラーリング

2−3、測定ツール

便利な立方体を置いておく
グリッドプロジェクターの利用
Ethanキャラクターの計測

2−4、Blenderで試作したモデルのインポート
2−5、Blenderの紹介

立方体
UVテクスチャ画像
Unityへのインポート
シーンの観察

2−6、まとめ

3章 VRのビルドと実行

3−1、VRデバイス統合ソフトウェア

Unityの標準VRサポート
デバイス独自のSDK
OSVRプロジェクト
WebVR
3Dワールド

3−2、MeMySelfEyeプレハブの作成
3−3、Oculus Rift向けビルド
3−4、Google Cardboard向けビルド

Androidでのセットアップ
iOSでのセットアップ
Google VR SDK for Unityパッケージのインストール
プレハブの追加
ビルドの設定
Playモード
Androidでのビルドと実行
iOSでのビルドと実行

3−5、デバイスに依存しないClicker
3−6、バーチャルリアリティの本当の仕組み

立体視による3D表示
ヘッドトラッキング

3−7、まとめ

4章 注視点ベースのコントロール

4−1、ゾンビのEthan

Ethanの人工知能
NavMeshの生成
街の中をランダムに歩く人
幕あい Unityプログラミングの簡単な紹介
RandomPositionスクリプト
Ethanのゾンビ化

4−2、見ている場所に行く

LookMoveToスクリプト
フィードバックカーソルの追加
観察

4−3、目線で人が殺せるなら

KillTargetスクリプト
パーティクルエフェクトの追加
後片付け

4−4、まとめ

5章 ワールド空間のUI

5−1、再利用可能なデフォルトキャンパス
5−2、バイザーHUD
5−3、照準カーソル
5−4、ウィンドシールドHUD
5−5、ゲーム要素UI
5−6、情報バブル
5−7、入力イベントを受け取るゲーム内ダッシュボード

ボタンのあるダッシュボードを作成
ボタンに散水ホースを接続
スクリプトからボタンを実行
視線を向けたボタンのハイライト
視線を向けてからクリックして選択
視線を向けてから見つめて選択

5−8、ヘッドジェスチャーに反応するオブジェクトUI

頭の位置の利用
ヘッドジェスチャーの利用

5−9、まとめ

6章 一人称のキャラクター

6−1、Unityのキャラクターについて理解する

Unityのコンポーネント
Unity標準アセット

6−2、一人称の作成

視線の方向への移動
足を地面につけた状態を保つ
ソリッドオブジェクトを通り抜けない
世界の端で落ちないようにする
小さなオブジェクトは踏み越え、でこぼこな地形に対処する
移動の開始と終了
頭のジェスチャーを使った開始と終了

6−3、ユーザーのキャリブレーション

キャラクターの高さ
プレイヤーの現実での高さ
再センタリング

6−4、自分自身であるという感覚を保つ

頭と体の分離
頭と体…
…そして足
体のアバター
バーチャルなダビデの鼻
音の合図

6−5、移動、テレポート、センサー
6−6、VR酔いの管理
6−7、まとめ

7章 物理と環境

7−1、Unityの物理
7−2、よく弾むボール
7−3、ヘッディング
7−4、トランポリンとレンガ
7−5、人間用のトランポリン

レンガのように
キャラクターらしく

7−6、幕あい 環境と物

うっすらと雲がある空
地球
会社のロゴ

7−7、エレベーター
7−8、ジャンプ
7−9、まとめ

8章 ウォークスルーとレンダリング

8−1、Blenderを使ったモデル作成


天井

8−2、Unityでシーンを組み立てる

展示室
画像の展示
画像の展示計画

8−3、画像の追加
8−4、ウォークスルーのアニメーション

Unityでのアニメーションシステム
スクリプトによるアニメーション

8−5、パフォーマンスと快適さのための最適化

実装やコンテンツの最適化
Unityのレンダリングパイプラインの最適化
Unityのプロファイラー

8−6、まとめ

9章 360度全方位の活用

9−1、360度映像メディア
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、マルチプレイヤーによるネットワーキング

ネットワーキングサービス
ネットワークの構造
ローカル対サーバー
Unityネットワーキングシステム

10−2、単純なシーンの設定

シーン環境の作成
アバアーの頭を作成

10−3、マルチネットワーキングの追加

Network Manager と HUD(ヘッドアップディスプレイ)
Network IdentityとTransform
ホストコンピュータとして動作
生成位置の追加
ゲームで2つのインスタンスを動かす
一人称キャラクターとアバターとの関連付け

10−4、VR空間にマルチプレイヤー機能を追加

Oculus Riftでの再生
Google Cardboardでの利用
次の段階

10−5、カスタム版VRチャットルームの構築と共有

VR世界の準備と建築
VR空間を主催する

10−6、まとめ

11章 次に何が起こるのか

付録A Gear VR用のビルドとタッチパッドからの入力

A-1、Gear VR とは
A-2、Gear VR 用にビルドするための設定

署名ファイル
Unityのビルド設定
メインカメラの設定

A-3、Gear VR 用プロジェクトの作成

タッチパッドをクリッカーとして認識させる
タッチパッドでジャンプの動作を起動する

付録B Daydream コントローラーを使ってみる

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

索引

となっています。

バーチャルリアリティ(VR)に興味のあるあなた、VRアプリケーションをUnityで開発したいあなた、本書は、初心者でもVR技術を1つ1つシッカリ理解でき、つくりながらスムーズに学べます。VRアプリケーション開発の最初の1冊にも最適です

 

 

 

こちらもどうぞ↓

Unityとは?未経験から入門してUnityエンジニアを目指したい初心者のあなたにおすすめの本や入門書はこちらです

 

「ゲームプログラミング」に「Unity(ユニティ)」で、プログラミングの基礎から未経験で入門したいあなたにおすすめの本や参考書にはこちらをどうぞ

 

「クラウドストレージ」 ってどれを使えばいいの?「無料で使える容量」や有料プラン、裏技など、特徴を比較してみました