Skip to main content
第1回
Unity + Oculus Rift
次世代の3Dゲームを作って感じるワークショップ
2014/2/8 Yuichi Ishii
Yuichi Ishii,2014/2/8

1
自己紹介
名前:石井 勇一
開発者コード名:zabaglione
Facebook: https://www.facebook.com/yuichi141
株式会社シーディングソフテック 代表取締役社長
普段はスマートフォン、組込み機器向けのプログラミングに関する研修の講師
物心ついたころからゲームセンターに通いだし、小3の時に親戚の家でパソコンを見てか
らプログラミングに夢中(下手の横好き)
最近の興味はUnityを中心としたNUI(Natural User Interface)、VRなどを絡めたゲーム開発

Yuichi Ishii,2014/2/8
目次1
Unityとは
Oculus Riftとは
Unityの操作について
Oculus Riftとの連携について
入力装置について
Yuichi Ishii,2014/2/8
目次2
Oculus Riftの実装例
Unity + Oculus Riftにまつわる問題点と回避策
課題アプリの作成(ワークショップ)
発表会
参考:Oculus Riftのスクリプト
Yuichi Ishii,2014/2/8
Unityとは

Yuichi Ishii,2014/2/8
Unityとは
Unity はゲーム開発のエコシステム。インタラクティブな 3D コンテ
ンツ作成のための直感的なツールとサクサク作れるワークフローが、
パワフルなレンダリングエンジンと完全に統合された環境で開発が
出来ます。
手軽なマルチプラットフォームパブリッシング、高品質なアセット
が幾千も揃ったアセットストア、困ったときにノウハウを共有して
くれる巨大なコミュニティがあなたを支えます。
Unityの民主的なエコシステムは、美しく手の込んだゲームを作り出
す時に、多くのデベロッパーやスタジオが直面する障壁を突き崩す
手段となるでしょう。彼らは、人々が夢中になって喜ぶゲームをあ
らゆるプラットフォームで作るために、Unity を活用しているのです。

引用:http://japan.unity3d.com/unity/
Yuichi Ishii,2014/2/8
Unityとは
Unity = 「Editor」+「Game Engine」

初登場は2005年のアップル主催 Worldwide Developers
Conference
バージョン3.xから非常に多くのプラットフォームで動作す
るアプリケーションの作成が可能になった
バージョン4.0でMecanimと呼ばれる3Dモデルのアニメー
ション制御エンジンを内蔵し、4.3から2Dスプライトのサ
ポートなど新機能を次々と実装し続けている。

Yuichi Ishii,2014/2/8
Unityが提供する機能一覧
主な機能
物理演算
ナビメッシュ、パス探索、群衆シミュレーション
RakNet によるマルチプレイヤーネットワーク
LOD のサポート
オーディオ (3D音響とステレオ音響)
オーディオフィルター
ビデオ再生とストリーミング
アセットバンドルによる本格的なストリーミング
Unity4.3.4時点

引用:http://japan.unity3d.com/unity/licenses
Yuichi Ishii,2014/2/8
Unityが提供する機能一覧
アニメーション
Mecanim
Mecanim: IK Rigs
Mecanim: Sync Layers & Additional Curves
デプロイ関連
ワンクリックでのデプロイ
ウェブブラウザとの統合
スプラッシュスクリーンの変更
Unity4.3.4時点

引用:http://japan.unity3d.com/unity/licenses
Yuichi Ishii,2014/2/8
Unityが提供する機能一覧
グラフィックス(1)
低レベルレンダリングへのアクセス
マークアップによる ダイナミックフォント
Shuriken パーティクルシステム
3D テクスチャをサポート
リアルタイム Directional シャドウ
リアルタイム Spot/Point シャドウ またソフトシャドウ
HDR、トーンマッピング
ライトプローブ
Unity4.3.4時点

引用:http://japan.unity3d.com/unity/licenses
Yuichi Ishii,2014/2/8
Unityが提供する機能一覧
グラフィックス(2)
最適化されたグラフィック
シェーダーの利用(ビルトイン&カスタム)
ライトマッピング
グローバルイルミネーション付きライトマッピングとエリア・ライト
動的バッチング
静的パッチング
地形生成
Render-to-Texture エフェクト
Unity4.3.4時点

引用:http://japan.unity3d.com/unity/licenses
Yuichi Ishii,2014/2/8
Unityが提供する機能一覧
グラフィックス(3)
フルスクリーンポストエフェクト
オクルージョンカリング
デファードレンダリング
ステンシルバッファーへのアクセス
GPU スキニング

Unity4.3.4時点

引用:http://japan.unity3d.com/unity/licenses
Yuichi Ishii,2014/2/8
Unityが提供する機能一覧
コード
Navmesh: 動的障害・回避プライオリティ
Webplayer デバッギング
C#, JavaScript, Booによる.NETベースのスクリプト
WWW 関数を使ったウェブデータへのアクセス
ユーザーのブラウザで URL を開く
.NET ソケットサポート
ネイティブプラグインサポート
カスタムクラス用インスペクタ GUI
Unity4.3.4時点

引用:http://japan.unity3d.com/unity/licenses
Yuichi Ishii,2014/2/8
Unityが提供する機能一覧
エディタ
統合エディタ
自動的なアセットのインポート
アニメーションエディタ
プロファイラ・GPU プロファイリング
外部バージョン管理サポート
アセットパイプラインへのスクリプトアクセス
ダークスキン
Unity4.3.4時点

引用:http://japan.unity3d.com/unity/licenses
Yuichi Ishii,2014/2/8
Unityが提供する機能
非常に多くの機能がありますが、一度に全部覚える
必要はありません。
1つの機能であってもマスターするまでには相当時
間がかかりますので、根気よく続けて覚えてくださ
い。
このセミナーではUnityの基本操作+Oculus Riftとの連
携方法についての説明と、実際の操作を体験してい
ただきます。
Yuichi Ishii,2014/2/8
Oculus Riftとは

Yuichi Ishii,2014/2/8
Oculus Riftとは
Oculus Rift(オキュラス・リフト)とは、米Oculus
VR社が開発したバーチャルリアリティ用ヘッド
マウントディスプレイ(HMD、頭部搭載型ディス
プレイ)です。
http://www.oculusvr.com/

Yuichi Ishii,2014/2/8
Oculus Riftとは
2012 年 8 月にKickstarter上で立ち上げられたプロジェクト
目標金額$250,000に対して、投資総額が$2,437,429 の調達に成功。
(当時の日本円は$1=84円ぐらい。約2億円)の調達に成功
大成功プロジェクトして世界から注目を受ける

2012年のE3において「2012 Best of E3 Nominee」にノミネート
2013年のE3において「E3 2013のベストハードウェア賞」を受賞
各種ゲームメディアが「E3 2013で一番驚いたゲーム認定」
フォーブス誌のゲーム部門でCEOが1位を取った
引用:http://yaseino.hatenablog.com/entry/2014/01/09/203922
引用:https://gist.github.com/japboy/5545565
Yuichi Ishii,2014/2/8
Oculus Riftのハード仕様(DK1)
ディスプレイ仕様
・7 インチの画面サイズ
・1280 x 800 (720p) の解像度 (片目辺りの解像度は 640 x 800)
・レンズ中央から 64 mm の固定長
・60 Hz LCD パネル
・DVI-D/HMDI
・USB 2.0 Full Speed
・輝度とコントラスト調整可

引用:https://gist.github.com/japboy/5545565
Yuichi Ishii,2014/2/8
Oculus Riftのハード仕様(DK1)
トラッキング仕様
・1000 Hz サンプリングレート
・3 軸回転儀 (gyroscope) による角速度検知
・3 軸磁力計 (magnetometer) による磁場検知
・3 軸加速度計 (accelerometer) による重力を含む加速度検知
・USB の HID として動作
・USB ケーブルが接続されていれば電源投入関係なくセンサー情報に
はアクセス可能

引用:https://gist.github.com/japboy/5545565
Yuichi Ishii,2014/2/8
Oculus Riftのハード仕様(DK1)
レンズ仕様
・レンズは A, B, C の 3 種類が付属している。それぞれの適正視力は
以下の通り
A: 視力 1.0 および遠視
B: 近視気味
C: 近視

引用:https://gist.github.com/japboy/5545565
Yuichi Ishii,2014/2/8
Oculus Riftのソフト仕様(DK1)
Windows, Mac, Linux用のSDKを配布(言語はC++)

Unity, UDKへの統合キットを配布
SDKに含まれているソースコード及びバイナリは
使用、変更、再配布が可能
(正確にはSDKやライブラリなどに含まれる
LICENSE.txtファイルやソースコードのコメント
を参照のこと)
Yuichi Ishii,2014/2/8
Oculus Riftの長所
110 度(対角) / 90 度(水平)と視野角(FOV)が広い
(ソニーHMZ-Tシリーズの2倍)
頭の向きをトラッキングでき、6 段階の被写界深度
(DOF)をゲームに使えるほど低遅延で実現
他のHMDと同じく両目の視差を利用した裸眼立体視
3D表示
59800円のHMZ-T1/T2に対して開発キットで300ドル
という低価格(Developer Kit1の値段)
引用:http://yaseino.hatenablog.com/entry/2014/01/09/203922
引用:https://gist.github.com/japboy/5545565
Yuichi Ishii,2014/2/8
Oculus Riftの短所
開発キットの解像度が1280x800(片目640x800)という
低解像度
しかも画面が表示される部分はその中から更に制限
(レンズ補正の歪みのため)
頭の「向き」は取れるが「位置」は取れない
いずれもCES2014で発表された赤外線カメラ付属のコードネーム
「Crystal Cove」で解消済み(らしい)。
引用:http://yaseino.hatenablog.com/entry/2014/01/09/203922
引用:https://gist.github.com/japboy/5545565
Yuichi Ishii,2014/2/8
Oculus Riftの購入方法
2014/2/8現在、日本正規代理店は存在しない

公式サイトから直接購入するのが確実
https://www.oculusvr.com/order/
本体価格 $300 + 送料($50〜$60ぐらい?) + 関税?
コードネーム「Crystal Cove」が控えているが
……
Yuichi Ishii,2014/2/8
Oculus Riftの購入方法
Oculus RiftをUnityで使うには「Unity Pro」が必須
です。
Oculus Riftを購入するとUnity Pro体験版4か月延
長コードが取得できます。
それも使い倒したらUnity Proを購入するか、他
のゲームエンジンで試すとよいでしょう。
Yuichi Ishii,2014/2/8
入力装置について

Yuichi Ishii,2014/2/8
相性が良さそうな入力装置
XInput互換の入力装置
Windows限定
XBOX 360 Wireless controller for Windows推奨
Mac OS Xは「Unity Hacks: Dual sticks」を使用すると良
いらしいというUnityの開発者スレッドを発見(未確認)
http://forum.unity3d.com/threads/200074-BetterOculus-Rift-FPS-Controller-(OSX)
あるいはこのスライドの後半で紹介している「問題点
6」で解説している方法があります(確認済み)
Yuichi Ishii,2014/2/8
相性が良さそうな入力装置
Kinect
Leap Motion
Razer Hydra
STEM System

Virtuix Omni
MYO - Gesture control armband by Thalmic Labs
QUMARION

Yuichi Ishii,2014/2/8
相性が良さそうな入力装置
その他
Wiiコントローラ、PlayStation3などのコントローラ
Zeemote JS1
MIDI機器

Yuichi Ishii,2014/2/8
Oculus Riftの実装例

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Alone in the Rift
Unity で実装されたホラーデモ。Razer Hydra に
も対応。Windows 用。
RiftEnabled™ – Alone in the Rift
Alone in the Rift - A horror game demo (with hydra
support!) | Oculus-ready Games and Demos | Oculus
Rift Developer Forums
引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Lukalus
Unity で実装されたルカさんを観賞するデモ。
Windows と Mac OS X に対応。@yuujii 作
Lukalusでルカと暮らす - develog.me
Lukalus 0.3 Win/Mac GamePad対応 - [ Bowl Roll ]

引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Lukalus Live!
Unity で実装されたルカさんがダンスするのを観
賞するデモ。Windows に対応。@yuujii 作
Lukalusでルカと暮らす - develog.me
ルカライブ!(Lukalus Live! 0.1) - [ Bowl Roll ]

引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Macross + Oculus Rift
Unity で実装されたバルキリーシミュレータ。
WindowsとMac OS X版。
SolidM Macross + Oculus Rift
SolidM Macross + Oculus Rift その5(最終版)

引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Mikulus

Unity で実装された Tda 式初音ミクを視漢... 観賞するデモ。
Windows 用と OS X 版がある。@GOROman 作。
RiftEnabled™ – Miku Miku Dance (Japanese)
話題のOculusRiftでアッチの世界に入って来たついでにミ
クさんを触ってきた - Niconico video Q
Mikulus - 130611版(バージョンアップ) - [ Bowl Roll ]
Mikulus - 130623版 (立ちEDITION) - [ Bowl Roll ]
Mikulus OSX版 β - [ Bowl Roll ]
引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Ocean Rift
Unity で実装された海底体感のデモ。Windows 用。
RiftEnabled™ – Ocean Rift
Ocean Rift (featuring sharks) | Works in Progress |
Oculus Rift Developer Forums

引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Oculus Street View
vr.js と HTML 5 で実装された Google Street View
の Oculus Rift 対応版。クロスプラットフォーム。
RiftEnabled™ – Oculus Street View
Oculus Google Street Viewer

引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
oculusDOGEZA
Tda 式ミクに土下座できる。
oculus DOGEZA(for Oculus Rift Only)
(PCの性能不足だと右画面が白くなる?)

引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Parrot Coaster VR
Unity で実装されたローラーコースターのデモ。
Windows 用。
RiftEnabled™ – ParrotCoaster WIP
Oculus Rift - Parrot Coaster VR - Weeeeee! 1080p - YouTube

引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Rift Coaster
UDK で実装されたローラーコースターのデモ。
Windows 用。
RiftEnabled™ – Rift Coaster
Meant to be Seen - View topic - Can someone with
a Rift test my roller coaster? now w/ sound

引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Titan
Unity で実装された「進撃の巨人」体感デモ。
Windows 用と Mac OS X 版がある
Titan Win
Titan Mac

引用:http://wiki.oculusvr.jp/index.php?%E3%83%87%E3%83%A2

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Titan of Space
Unity で実装された銀河系を宇宙船から観賞する
デモ。Windows 用と Mac OS X 版がある。
RiftEnabled™ – Titans of Space
Titans of Space

引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Tsuitekulus
ミクさんがミクさんなったあなたに着いてきま
す。Windows 用。
ついてくるッス v0.0.2 - [ Bowl Roll ]

引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
VR Cinema 3D
Unity で実装された映画館を再現したデモ。好き
な動画を VR 映画館で再生できる。Windows 用。
RiftEnabled™ – VR Cinema 3D
vrcinema3D | Oculus-ready Games and Demos |
Oculus Rift Developer Forums

引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
Yunalus
Unity で実装されたイリュージョンのスマート
フォン向けゲームキャラクター「モグモグゆな
ちゃん」を観賞するデモ。Windows 用と Mac OS
X 版がある。
Oculus Rift バーチャルリアリティがもっと身近に
…
引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
AngryBots + Oculus Rift + Razer Hydra(自作)

Unity付属のAngryBotsをFPS視点にしてOculus
RiftとRazer Hydra対応にしました。Windows版の
み。
Razer Hydra対応は不完全です。
WebPlayer版(単にFPS化したもの)
ダウンロード版
引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの実装例
VR SKI JUMP

SKIのJUMPを体験できる。Windows版とMac版がある。
作者の@oukaichimon曰く、「妥当RiftCoasterを目指し、
Oculus初体験者向けのソフトを作りました。」との
ことです。是非チャレンジしてみてください。
VR SKI JUMP
トップページには沢山のアプリがります。
引用:https://gist.github.com/japboy/5545565

Yuichi Ishii,2014/2/8
Oculus Riftの体験会
これまで紹介したアプリケーションをダウン
ロードして試してみましょう。

Yuichi Ishii,2014/2/8
Unityの操作

Yuichi Ishii,2014/2/8
Unityの基本操作
Toolbar

Hierarchy

Scene
Inspector

Project

Yuichi Ishii,2014/2/8
Unityの基本操作
Toolbar
トランスフォームツール

オブジェクトの
拡大/縮小

Scene内の
移動
オブジェクトの
移動

オブジェクトの
回転
Yuichi Ishii,2014/2/8
Unityの基本操作
Transformツールのまとめ
W

移動

E

回転
(後半で使用)

R

拡大/縮小

この、赤や青、緑のハンドルのようなものを「Gizmo(ギズモ)」と呼びます。
Yuichi Ishii,2014/2/8
Toolbar
トランスフォームツール
Scene内の移動や拡大縮小(ショートカットキー:Q)
オブジェクトの移動(ショートカットキー:W)
オブジェクトの回転(ショートカットキー:E)
オブジェクトの拡大/縮小(ショートカットキー:R)

Yuichi Ishii,2014/2/8
Unityの基本操作
Toolbar
トランスフォームギズモトグルボタン。

Yuichi Ishii,2014/2/8
Unityの基本操作
Toolbar
トランスフォームギズモトグルボタン
Sceneビューにおけるギズモの切り替えます。
それぞれクリックするたびに切り替わります。

Yuichi Ishii,2014/2/8
Unityの基本操作
Toolbar
プレイ/ポーズ/ステップ ボタン
実際にゲームを動かしてみたり、一時停止、ステップ実行
することができます。

Play

Pause

Step

Yuichi Ishii,2014/2/8
Unityの基本操作
Toolbar
Layers ドロップダウンボタン
Sceneビュー中でどのオブジェク
トを表示するか管理します

Yuichi Ishii,2014/2/8
Unityの基本操作
Toolbar
レイアウト ドロップダウンボタン
画面のレイアウトを変えることができ
ます。
[2 by 3], [4 Split], [Default], [Tall], [Wide]
などからお好みのレイアウトを選んで
ください。
画面のレイアウトは移動、表示/非表示
ができます。
[Save Layout...]でレイアウトを保存でき
ます。
Yuichi Ishii,2014/2/8
Unityの基本操作
Scene
プレイヤー、カメラ、敵およびその他あらゆるすべて
の GameObject を選択し、配置することができます。
Sceneビューの中におけるカメの移動方法について次の
スライドで示します、

Yuichi Ishii,2014/2/8
Unityの基本操作
シーンのカメラの調整方法1
あくまでSceneビューの表示だけのことで、「Main Camera」には影響
を与えません。

回転
ALT+左クリック
右クリック

平行移動
ALT+CTRL+左クリック
ホイールクリック

ズーム
ホイール回転

詳細はUnityオンラインドキュメントを参照のこと
Yuichi Ishii,2014/2/8
Unityの基本操作
シーンのカメラの調整方法2
フライトスルーモード
マウスの右ボタンを押したままにする
キーボードのWASDキーで上下左右、QEで上下の平行移動
SHIFTキーで加速

詳細はUnityオンラインドキュメントを参照のこと

Yuichi Ishii,2014/2/8
Unityの基本操作
シーンのカメラの調整方法3
シーンギズモ
Sceneビューの右上のアイコン。
XYZの近くにある腕の部分をクリックすると
その方向にカメラを移動します。
真ん中の立方体をクリックすると、等角図法(Isometric Mode)
と 透視(遠近)図法(Perspective Mode)の切り替えになります。
また、中央の立方体をSHIFTキーを押しながらクリックすると、
少し見下ろした位置にカメラを移動します。

詳細はUnityオンラインドキュメントを参照のこと
Yuichi Ishii,2014/2/8
Unityの基本操作
Hierarchy
現在開いているシーン中のすべて
の GameObject が含まれています。
HierarchyビューではGameObjectの作
成や複製、削除ができます。
また、Sceneの中のGameObjectは階
層構造を持つことができ、親子関係
を持たせたり、解除したりできます。
Yuichi Ishii,2014/2/8
Unityの基本操作
Project
プロジェクトに属するAssets(ア
セット:資産、財産など意味)に
アクセスし、管理することがで
きます。
Assetsはゲームを構成する様々
な部品を表します。例えるなら、
ゲームの素材倉庫のようなもの
です。
Yuichi Ishii,2014/2/8
Unityの基本操作
Inspector
SceneビューやHierarchyビューで選択した
GameObjectや、Projectビューのファイルの
内容を表示したり変更したりすることがで
きます。
UnityのGameObjectやAsstesは多くの
「Component」を含んでいます。
ComponentはUnityの[Component]メニューか
ら増やすことができます。
Componentを削除するには、各コンポーネン
トの右側にある歯車をクリックして[Remove
Component]を選んでください。

Component

Component
Yuichi Ishii,2014/2/8
GameObjectとComponent
Sceneには多数のGameObject(インスタンス)が存在し
ます。
GameObjectとはSceneに予め作成することもでききま
すし、スクリプトで動的に追加することもできます。
GameObject
Scene
GameObject
Yuichi Ishii,2014/2/8
GameObjectとComponent
GameObjectには多数のComponent(≒振る舞い)が
追加されています。
Component
GameObject

Component

Component

Scene
GameObject

Component
Component
Yuichi Ishii,2014/2/8
GameObjectとComponent
Componentを基底クラスとして様々な振る舞いを
定義した派生クラスが定義されています。
Behaviour

MonoBehaviour

Transform

Component

ユーザ定義
ユーザ定義

Collider

CapsuleCollider

Camera

BoxCollider
Yuichi Ishii,2014/2/8
GameObjectとComponent
GameObject
Create Empty
Transform以外のコンポーネント
を持たないGameObject

Create Other
初めからいくつかのコンポーネ
ントが追加されたGameObject

Yuichi Ishii,2014/2/8
GameObjectとComponent
ComponentはGameObject
に追加します。したがっ
て、まずはGameObjectを
選択する必要があります。

ComponentはUnity Editor
から追加したり、スクリ
プトから動的に追加する
こともできます。
Yuichi Ishii,2014/2/8
GameObjectとComponent
1つのGameObjectに同系のComponentを2つ以
上追加することはできません。
例:Box ColliderとSphere Collider

どうしても追加したい場合は、よく吟味したう
えでEmpty GameObjectを作成し、親子関係を持
たせてることで実現できます。
Yuichi Ishii,2014/2/8
Oculus Riftとの連携について

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Oculus SDK配布サイトにあるovr_unity_0.2.5_lib.zipを展
開し、OculusUnityIntegrationフォルダに含まれるUnity
Packageをインストールするだけです。
OculusUnityIntegrationTuscanyDemo.unitypackage
「Tuscany」のDemoパッケージ付
下記パッケージも包含しています。

OculusUnityIntegration.unitypackage
Oculus Riftと連携するために最低限必要なパッケージ
Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
まずは試してみましょう。
Unityを起動してください。
新規にプロジェクトを作成してください
[File]-[New Project...]としてください

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Explorerで
「OculusUnityIntegrationTuscanyDemo.unitypackage」をダ
ブルクリックしてください。
しばらくするとUnity側でImport Package画面が出るので、
Importボタンを押してください。インポートには時間がか
かります。

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
インポート直後の画面

スクリプトや
Prefabなど

demo
プロジェクト

ネイティブ
プラグイン
Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
OVR
OVR は Oculus Unity 統合の最上位
のフォルダです。

Plugins
Oculus Riftとの通信するためのネイ
ティブライブラリです

Tuscany
Oculus Riftのdemoアセット

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Editor:
Unity エディタへの機能拡張といくつかの
C#スクリプトが含まれます。

Materials
磁気コンパスや Main GUI ディスプレイで
使用する画像ファイルなどが含まれます。

OVRImageEffects
Oculus Rift ディスプレイ内で画像をワー
プさせるのに必要なスクリプトおよびレ
ンズ補正シェーダが含まれます。
Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Prefabs
Oculus Rift を Unity シーンに繋げるため
のプレハブが含まれています。

Resources
いくつかの OVR スクリプトにより必要
とされ、インスタンス化されるプレハ
ブおよび別のオブジェクト(例えば磁気
コンパスのオブジェクト)が含まれます。
Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Scripts
Oculut Rift と Unity コンポーネントを結ぶ
C# ファイルが含まれます。これら多くの
スクリプトは Prefabs フォルダと連携しま
す。

Shaders
Oculus Rift用に調整されたGUI Shaderを含
みます。

Textures
いくつかのスクリプトコンポーネントが
必要とする画像アセットが含まれます。

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Projectビューの[Tuscany]-[Scenes]-[VRDemo
Tuscany]シーンファイルをダブルクリックして開い
てください。
保存の確認ダイアログが表示されますが、今回は特
に何もないので「Don't save」を押してください。

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Sceneファイルを開いた直後の画面

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Hierarchyビューにある「OVRPlayerController」を
ダブルクリックして操作キャラの位置を確認し
ましょう。

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Toolbarの「Play」ボタンを押してください。
Oculus Riftが繋がっていれば樽状の2つのカメラ
画像が表示されます。

Oculus Riftが繋がっていなければ、単なる2つの
カメラ画像が表示されます。

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Oculus Rift接続時の画面

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Oculus Rift未接続時の画面

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Oculus Riftで立体視するためには、1280x800の解
像度に全画面で表示する必要があります。
Unityの現バージョン(4.3.4)ではEditor上の実行で
フルスクリーンにすることはできません。
そこでアプリケーションにして確認してみます。

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
Unityの[File]-[Build Settings...:]を開いてビルドの
設定をします。
ビルド対象のシーンを追加するために、[Add
Current]ボタンを押します。
間違って複数回押してしまったら、選択してDel
キーを押して消してください。
Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
余計なシーンは選択して
[Del]キーで消します。

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
[Player Settings...]を押してResolution and
Presentationを以下のように変更します。

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
一旦、ダイアログを閉じてQualityの設定を行い
ます。
Oculus Riftでは画面の粗さを抑えるためにAnti
Aliasingを「4x Multi Sampling」以上にすることが
推奨されています。

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
設定が終わりましたのでビルドおよび実行します。
Oculus Riftのパッケージをインストールすると
UInityのメニューに[Oculus]が追加されます。

[Oculus]-[Build]メニューから行えます。

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
キーボードの制御1
キー名称
W または 上矢印

使用方法
プレイヤーを前方に移動

A または左矢印

プレイヤーを左に移動

S または下矢印

プレイヤーを後ろに移動

D または右矢印

プレイヤーを右に移動

左 Shift
Q および E

押し続けるとプレイヤーが走る
左右にプレイヤーが回転

引用: http://gamesonytablet.blogspot.jp/2013/08/oculus-rift.html

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
キーボードの制御2
キー名称

使用方法

右 Shift

シーン選択をトグル(上下の矢印でシーンの一覧からスクロール)

Return

シーン選択がオンのとき、現在選択されたシーンをロード

Z

手動の磁気カリブレーションを有効化

X

自動の磁気カリブレーションを有効化

C

マウスカーソルをオン/オフ切替

P

予測(Prediction)モードをオン/オフ切替

引用: http://gamesonytablet.blogspot.jp/2013/08/oculus-rift.html

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
キーボードの制御3
キー名称
B

使用方法
トラッカーの向きをリセット

スペース コンフィグ メニューをトグル
, および . 予測(prediction) の値の減算/加算(ミリ秒単位)

[ および ] 垂直方向の視界 (FOV) の減算/加算(角度単位)
- および = 瞳孔間距離 (IPD) の減算/加算(ミリメートル単位)

引用: http://gamesonytablet.blogspot.jp/2013/08/oculus-rift.html

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
キーボードの制御4
キー名称

使用方法

1 および 2 歪み定数 1 (K1) の減算/加算
3 および 4 歪み定数 2 (K2) の減算/加算
5 および 6 プレイヤーの高さの減算/加算(メートル単位)の減算/加算

7 および 8 プレイヤーの移動速度係数の減算/加算
9 および 0 プレイヤーの回転速度係数の減算/加算

引用: http://gamesonytablet.blogspot.jp/2013/08/oculus-rift.html

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
キーボードの制御5
キー名称

使用方法

Tab

Tabを押し続けて F3 -F5を押下することで現在のコンフィグのス
ナップショットを保存

F2

デフォルトのコンフィグにリセット

F3 F4 F5 保存されたコンフィグのスナップショットを再呼出
F6

もし磁気参照の向きがセットされていれば磁気コンパスのオン/
オフ切替

引用: http://gamesonytablet.blogspot.jp/2013/08/oculus-rift.html

Yuichi Ishii,2014/2/8
Oculus Riftとの連携1
キーボードの制御6
キー名称

使用方法

F11

全画面表示およびウィンドウ表示のモード切替

Esc

アプリケーションの終了

引用: http://gamesonytablet.blogspot.jp/2013/08/oculus-rift.html

Yuichi Ishii,2014/2/8