Oculusで作る

スタンドアローン・モバイルVRコンテンツ
2018/5/8
井口 健治
Oculus / Partner Engineering Specialist
http://ocul.us/jplinks | '2
自己紹介
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
井口健治
Developer Relations
Oculus Japan Team
'3
'4
01 最近の状況
02 Oculus Goでの開発のはじめかた
03 Oculus Go固有の機能
04 Oculusストアで配布しよう
05 Project Santa Cruzについて
最近の状況
http://ocul.us/jplinks
Rift 2周年
'6
Touch装着率 94%
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
'7
Rift Core 2.0: 新Oculus Home
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
'8
Rift Core 2.0: Oculus Dash
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
'9
5%2%
4%
4%
6%
7%
14%
16%
19%
25%
Galaxy S7 Edge
Galaxy S7
Galaxy S8
Galaxy S8+
Galaxy Note8
Galaxy S6
Galaxy Note 5
Galaxy S6 Edge
Galaxy S6 Edge+
その他
Oculus
モバイルプラットフォーム
端末シェア(2018年3月時点)
¥23,800〜
oculus.com/go
Oculus Goでの開発のはじめかた
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
Gear VRで既に動いている場合
- 大部分はそのままでも動きます!
• バイナリ互換性あり
- 開発手順はGear VRとほぼ同じ
• osigファイルは不要
'13
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
'14
https://dashboard.oculus.com/ で団体を作成して開発者登録
http://ocul.us/jplinks '15
Oculusスマホアプリから開発者モードを有効化
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
'16
Unity Player SettingsでVRサポートを有効化
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
'17
Asset StoreからOculus Integrationを
ダウンロード・インポート
OVRCameraRigを置いた位置がヘッドセット内の頭の位置
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
'19
USBケーブルをつないで実行!
Oculus Go固有の機能
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
機種判別が必要な場面
- Oculus Goで使えないAPIを呼んでいる
• Google Mobile Services 関連連
• カメラアクセス etc.
- Oculus Goでしか使えないAPIを呼んでいる
'21
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
'22
• 手持ちコントローラー対応推奨!
• 角度対応、3自由度
• OVRInputで入力取得

https://developer.oculus.com/documentation/unity/
latest/concepts/unity-ovrinput/
Oculus Goはヘッドセット本体側に

タッチパッドはありません
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
TrackedRemote Prefabが便利。
'23
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
機種判別
bool IsOculusGo {

    get {

        return OVRPlugin.productName == "Oculus Go";

    }

}
'24
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
固定中心窩レンダリング (Fixed Foveated Rendering)
'25
1/2解像度
1/8解像度
1/16解像度
フル解像度
1/4解像度
02 最前線から学ぶデザインパターン
http://ocul.us/jplinks | '26
FFR 1
Full res Full res
1/4 res
おわかりいただけただろうか…
02 最前線から学ぶデザインパターン
http://ocul.us/jplinks | '27
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
固定中心窩レンダリング (Fixed Foveated Rendering)
OVRManager.tiledMultiResLevel = OVRManager.TiledMultiResLevel.Off;
'28
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
固定中心窩レンダリング (Fixed Foveated Rendering)
OVRManager.tiledMultiResLevel = OVRManager.TiledMultiResLevel.LMSLow;
'29
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
固定中心窩レンダリング (Fixed Foveated Rendering)
OVRManager.tiledMultiResLevel = OVRManager.TiledMultiResLevel.LMSMedium;
'30
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
固定中心窩レンダリング (Fixed Foveated Rendering)
OVRManager.tiledMultiResLevel = OVRManager.TiledMultiResLevel.LMSHigh;
'31
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
アイバッファ解像度
- Oculus Goの画面解像度は片目 1280×1440
- アイバッファはデフォルトでは片目 1024×1024 (scale 1.0)
- パフォーマンスが足りるなら 1280×1280 (1.25) をおすすめ
Unity 2017.2未満
UnityEngine.VR.VRSettings.renderScale = 1.25;
Unity 2017.2以降
UnityEngine.XR.XRSettings.eyeTextureResolutionScale = 1.25;
'32
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
72Hzモード
- より明るく・滑らか・チラツキ低減
- フレームレートが上がるため、1フレーム辺りの処理時間は減ります
- 必須ではありません(フレームレート安定が優先!)
- 動画再生の場合は動画のフレームレートの整数倍に合わせて
OVRManager.display.displayFrequency = 72.0f;
'33
Oculusストアで配布しよう
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
'35
配布形態 目的
ストア掲載 完成品のアプリの販売/配布
ストア掲載 (先行アクセス) 開発途中のコンテンツの販売/配布
Oculusキー配布 レビュー用、即売会、イベント限定アプリ等
リリースチャンネル オープン/クローズドのβテスト
まずは開発者ダッシュボードへ!
https://dashboard.oculus.com/
Project Santa Cruz
4箇所のカメラによる
ルームスケール・インサイドアウト・トラッキング
リフレッシュレート 72Hz
両手コントローラーの
ポジショントラッキング
コントローラーのトラッキング範囲
http://ocul.us/jplinks
Oculusで作るスタンドアローン・モバイルVRコンテンツ
Project Santa Cruzでの開発
- Rift+Touchに近い感覚
• Riftコンテンツの移植なども検証で成功
• ただし演算能力はモバイル並
• Android+Oculus Mobile SDKで動作
'41
'42
Thank You!
- 参考リンク集
日本語情報まとめ
https://ocul.us/jplinks
Oculus Go開発の追加情報(英語)
https://developer.oculus.com/blog/everything-you-need-to-know-to-develop-for-oculus-go/
222525__caderesounds__horror-cinema-6-2014.wav by CadereSounds. Used under CC-BY.

【Unite Tokyo 2018】Oculusで作るスタンドアローン・モバイルVRコンテンツ