たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

知識0から始めるOculus Go開発

Oculus Go欲しい!買った!
…Oculus系のVR、開発したことないやん…。開発環境やプラットフォーム知らない…。
この記事は、そんな人がOculus Goアプリを0から開発した記録である。

早見表

about description
ストア Oculus Store (steam: ×)
基本環境 Android N
開発プラットフォーム Unity, Unreal, Oculus Mobile SDK(C++)
Web 標準搭載 (webVR-ready)
特別な機能 FFR, throttling, 72Hz mode

Store

Oculus Go (以下、OG)にはストアがあるのか? Steamとか使えるのか??

=> Oculus storeがあるよ。Steamは使えないかな

Oculus storeは、Oculusのハードウェア・ソフトウェアを売ってるサイト. (名前合ってるのか?)
OGもここから買えたよ

基本環境

OSはLinux? Android? 独自OS?
=> Android Nベースで1、OSレベルの最適化をかけたものってカーマック神が言ってた2.

開発プラットフォーム・開発環境

Unityは使える? (使えないはずないよな……?)

=> これらが開発プラットフォーム3

Oculus Mobile SDKC++とのこと。
素直にUnity, UEを開発環境/プラットフォームとするのが良いかな

Webは?

ブラウジングは出来る? A-frameとかのwebVRは?

=> ブラウザは標準搭載だよ 4。webVRも使えるよ5

browser in Oculus
Youtubeを開いてみた

他のブラウザ

あるのかな?
=> ストアからは見つからんかった。まあ標準ブラウザ優秀そうだから!

特別な機能は?

なにか特別な機能があるのかな

=> あるよ!

  • Fixed Foveated Rendering : 領域ごとに解像度を変え、GPUを節約
  • Dynamic Throttling : 性能制限…だと思う
  • 72 Hz mode : 通常設定60Hzからブースト

Fixed Fove

固定 中心窩 レンダリング。そのまんまだね
人の目は、中心窩(Fovea)と呼ばれる中央領域で解像度良く見えるように設計されてる。
いわゆるFoveated Renderingは、eyeトラッキングを使って、中心窩へ映る画面を推定し、そこの解像度だけ上げよう、という技術。
Fixed Foveは、ユーザーの視点が決まってる(Fixed)と仮定して、アイトラッキングなしで解像度に差をつける仕組み.
ようは事前指定した領域ごとに解像度を変えるってことね
www.google.co.jp

実開発

公式ガイドが一番だが、それをまとめた概要を書く。概要つかんだら、各所に貼ってあるリンク先を読んで開発してね.

めちゃくちゃ簡単.
ほぼbuild&run押して終わり

環境構築/初期設定

以上だけで初期設定は完了! (のはず。数日中には実機で確認するのでしばしお待ちを)

adb / Android Debug Bridgeの利用

開発機からOGへデプロイする際に、adbを利用する.
adb利用にはDeveloper Modeをオンにする必要があり、さらにそのためにOculus Developer DashboardでのOrganization作成が必要 (作成は任意の名前入れてNDAに合意するだけ)6

osig / Oculus Signature Fileは不要

モバイル開発ページにはosigが要ると書いてある7が、Goには不要8
ストア提出時には消す必要もある9し、むしろ無いべき

アプリ開発とデプロイ

評価中

with Unity

Unityなら標準のデプロイ (ほぼbuild&runおすだけ) の模様.
developer.oculus.com

固有機能の利用

links

私を支援してくれ!!!!

「お、良い記事だな。応援したろ」という方、Pixiv FANBOXでのご支援お待ちしてます
もっといい記事、もっとたくさん書くよ!
www.pixiv.net

change log

v0.1.0 : 2018-05-02T06:00+09:00 早起きしたらF8で発売発表されたので、ノリでGoを注文、何もわからんので記事を書いた
v0.2.0 : 2018-05-02T09:00+09:00 実開発の手順を追記
v0.3.0 : 2018-05-02T17:00+09:00 PixivFANBOX始めてみた
v0.3.1 : 2018-05-02T17:00+09:00 参考文献の脚注行き、早見表の追加
v0.4.0 : 2018-05-04T10:00+09:00 ブラウザ標準搭載に訂正
v0.5.0 : 2018-05-05T11:30+09:00 webVR対応を自機で検証、web関係整理
v0.6.0 : 2018-05-05T12:30+09:00 実開発の整理
change logはsem. ver. (X.Y.Z)で、Xを記事全体のリライト, Yを個別節のリライト, Zを内容を変更しないリライトとしています。

unimportant info

Oculus Browser

Oculus StoreにもwebVR対応10Oculus Browserがある. しかし、OG非対応…11? まあ標準ブラウザ使おう


  1. > We recommend developing for Oculus Go and Gear VR with the following tools. Everything You Need to Know To Develop for Oculus Go | Oculus

  2. 自機でA-frame(webVR)含め検証済み

  3. > However, turning on access to adb to push application builds to an Oculus Go device requires “Developer Mode” be turned on, which in turn requires that you have created an Organization on the Oculus Developer Dashboard.

  4. > Your application must include an Oculus Signature File or osig. Building Mobile Applications

  5. > We recommend removing your Oculus Signature File before building your application for submission. Building Mobile Applications

  6. > Note that Oculus Go applications do not require “osig” files to run on retail devices. Everything You Need to Know To Develop for Oculus Go | Oculus

  7. > Enjoy super sharp text, images, and videos of existing 2D websites, as well as amazing performance of new 3D WebVR content.

  8. > Unsupported Device: Oculus Go Oculus Browser | Oculus