Unity－OculusGo連携。。。VR動画で遊んでみた♬

これ動かすまですごーく大変でした。

何が。。。
（０）OculusGoを開発者モードにすること
（１）JDKインストールとA（アンドロイド）DKインストール
（２）Buildが通らない。。。ポイントは？
（３）OculusStoreが難しい？？
（４）何ができるんだ？？

あとは、参考の通りでした。。いやいや上記も参考に記載されています。
【参考】
①[Unity×Oculus GO Windows 開発環境準備～実機検証](https://qiita.com/zob_by_zooa_inc/items/aaf544e8c81f7d6f76d2)
*学ぶべきこと*
・全体の流れとイメージ
➁[Oculus Go とUnityとMacで始めるVR開発](https://qiita.com/Hirai0827/items/f62588cc7d5c6c17e364)
*学ぶべきこと*
・ADK, JDKのインストール。
・ということでSDKtoolsの旧ver(25.2.5)をダウンロード、sdk内のtoolsと差し替え。
[https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip](https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip)
⇒ただ、置き換えしました
上記の二つを読めばできると思いますが、
➂[Unityのインストール～Android実機上で動作させる まで](https://qiita.com/Dorobou/items/074615850ff18a37f89f)
*学ぶべきこと*
・ビルド以降のお話がたいへんためになりました。
　というかマジで「ひとまず com.test.product とでも設定」に感謝です。
　最後のアンドロイド携帯を開発者モードにするお話も。。。

ということで、以上の参考を読まれれば誰でもできると思います。。。

Oculusの登録やOculus開発者としての登録は適当にできると思います。
ということで、以下から。。
###（０）OculusGoを開発者モードにすること
これ、スマホの横長〇マークのアプリからやります。
Oculusの管理用のアプリです。覚えている人は簡単にできると思います。
ちなみにスイッチを右に動かして青くなればオンです。
「Oculusに接続⇒Wifi⇒コントローラー⇒その他の設定の中に開発者モードがあり、その中にスイッチがあります」
※確認はOculus内の画面右下に管理マークがあって、それをクリックすると
「ViewDveloperFeed」が出ているはずです。

そして、いよいよUnityをダウンロードします。assistantという７００kB程度の比較的小さなファイルをダウンロードしてここから始めます。全体で５GB程度は必要です。
[Unity 2018.1.3 をダウンロード](https://unity3d.com/jp/get-unity/update/)
※あれバグFix版？[Unity 2018.1.3f1リリースノート](https://unity3d.com/jp/unity/whatsnew/unity-2018.1.3)

```
リリース日　4 Jun 2018
バージョン　2018.1.3
ファイルサイズ　636kb
プラットフォーム　Windows
Windows　Mac OS X
追加ダウンロード　Windows 向け
```
ちなみに、ウワンが使ったファイルは、「UnityDownloadAssistant-2018.1.1f1」です。

そして、上記のファイルを格納してそれをダブルクリックでインストール開始です。
ここは、普通にできると思いますが、以下のADKがインストールされていなければ、ここでチェックを入れてしまうのがよいと思います。
![unity_install.jpg](https://qiita-image-store.s3.amazonaws.com/0/233744/7e63483c-5867-62de-d6fd-976abd3d8767.jpeg)
※Exampleは最初はいらないと思います。

###（１）JDKインストール と　ADKのインストール
これ実は久しぶりにJDK見たら、二つも三つもあって、迷いました。
結論からいうとどれでもいいようです。
ということで、 Java SE Development Kit 8u172を使っています。
[Oracle Technology Network Java Java SE Downloads](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

ADKは決定的なことは管理者権限で無いとインストールできません。
そして、インストールは容量大きくて覚悟がいります。
ウワンはAndroid開発環境まで入れてしまいました。
使うのはSDKのコンパイラのところで、そこへリンクを張ります。上記のToolsの置き換えも忘れずに！
**※たぶん、ここをクリアするのが一番の肝だと思います**
![unity_jdksdk.jpg](https://qiita-image-store.s3.amazonaws.com/0/233744/eb26e3ee-34cf-316d-286a-dceecae9c0c1.jpeg)

###（２）Buildが通らない。。。ポイントは？
Buildの肝は、上記の二つのSDKへのパス。そして、製品名です。
これは参考➂の記載の通りで、ある意味いい加減でいいのですが、それでもエラーを返してきます。結局、**com.muauan.test**とかという製品名にしました。
###（３）OculusStoreが難しい？？
OculusAssetの購入とインストール
実は、案外はまるかもしれないので、この購入。
英語ページと日本語ページがあって、最初英語ページで奮闘したのではまった。
以下のリンクからは日本語ページへ飛べます。
[UNITYAssetStore日本語ページ](https://assetstore.unity.com/packages/tools/integration/oculus-integration-82022?aid=1101lIAt&utm_source=aff)
![unity_oculus_Integration.jpg](https://qiita-image-store.s3.amazonaws.com/0/233744/fb861416-169f-2b4d-5207-f4f4afb552fb.jpeg)

そして、これ「マイアセットに追加する」をクリックすると自分のPJの中にドーンとそのページが張り付けられてしまいます。そこで初めて以下のようなimportができる仕組みです。
![unity_myaset.jpg](https://qiita-image-store.s3.amazonaws.com/0/233744/1f57d3ea-53af-4803-9687-d500b6c5f1a2.jpeg)

importしたOculusAssetは大量なように見えますが展開を閉じれば大した量ではなく、すべてimportしましょう。
###（４）何ができるんだ？？
最初、４つのBasic Tutorialが動かせます。しかも、このTutorialがよくできていて、このまま先作ってみたいなレベルです。
![unity_learn.jpg](https://qiita-image-store.s3.amazonaws.com/0/233744/f6820e7d-f72e-2bcb-234d-ddb644f9b528.jpeg)
まあ、今回はOculusGoと連携させてVRアプリ作りたいんだった。。。
ということで、先を続けますが、ここまで来るとあとは、上記の参考のとおり。。。
###（５）基本的なPJをNewします
これが水平線だけの３次元空間にカメラが一台あります。
ここで、OculusAssetを引き継がないようなので、無ければ入れてください。
※普通は前回の仕事を引き継ぐんでしょうかね？？
ここから、。。。
①このMainCameraを削除して、OculusAssetのカメラに変更します。
　VRの下のOVRCameraRigをドラッグドロップで、Hierarckyに貼り付けます。これでOculusGoのカメラで見えるようになります。
➁File⇒BuildSettingsを開きます
PlatformをAndroidwo選んで、SwitchPlatformボタンを押すとPlatformがAndroidに変更になります。
➂下のPlayerSettingsボタンで右の方にPlayerSettingsが現れます
ここで、DefaultCompanyNameとProductNameは変更しなくともOKです。
肝心なのは以下の三点です。
・VirtualRealitySupportedにチェックを入れて、VirtualRealitySDKsの下のプラスボタンを押してOculusを選ぶ
・製品名をcom.muauan.testみたいなしゃれた名前にする
　　⇒どういうのが通るかは分かりませんが、真ん中を少しマジに考えたほうがよさそうです。
・minimumAPILevelを１９以上にする
　　⇒皆さん書いてますが、これやらないと文句言われました
###（６）Build
Buildしました。これが通れば再度Build&Runをします。
最初から、Build&RunでもOKですが、何度も失敗したのでまず通るか調べる癖がつきました。
これでプアな名前でもPJのファイルにBuildしたファイルを書き込みます。
当初、SDKが認識されないとき、何度も途中で止まって書き込みDirエラーみたいな感覚に襲われましたが、本質は上記の二つのSDKの認識ができないということでした。
![unity_dekita.jpg](https://qiita-image-store.s3.amazonaws.com/0/233744/364ca453-2649-7813-61e8-bea996a81f66.jpeg)

###（７）OculusGoとPCをUSBケーブルでつないで見る
これ、最初はOculusGoの電源いつつけるんだろ？？と思いましたが、無造作につなげて上の➤を押せばつながります。つながるときは、PCのアクセスの許可を求めてきます。そして、中に入ると「made with Unity」みたいな字が出てそのうちVRが始まります。
###unityとOculusGoが連携すると。。
実はVRゲーム等ができるだけでなく、シェアができるようになります。
もともとVR内のシェアはfacebookベースでできますが、facebook使いたくない人はそれができません。しかし、Unityとつながるとというか、これで発見しましたが、VRを認識すると普通にVRのファイルに読み書きできるようになります。
つまり、VR内の動画や静止画がPCにコピーできます。
逆もできます。たぶん、UnityはOculusGoにつながって、そういう転送をしてVRを流しているんだと思います。
因みに、一度再生できたものはUSBでつながっていなくとも再生できるので、転送されてどこかに格納されています。
※どのファイルなのかは（探してみましたが）不明ですが、。。。
※ここが分かればあのBuildしたファイルで動かせそうです。。。残念
![unity_cube.jpg](https://qiita-image-store.s3.amazonaws.com/0/233744/c4ae32aa-9f7d-0731-75ef-f520e8b386d9.jpeg)

###。。。感動の一場面

![com.oculus.vrshell-20180608-180445.jpg](https://qiita-image-store.s3.amazonaws.com/0/233744/56f29626-76b4-3a05-08cb-de1ff716f64a.jpeg)
![com.muauan.test2-20180608-184307.jpg](https://qiita-image-store.s3.amazonaws.com/0/233744/cae00a09-f663-37dd-53b0-36ba91d18b22.jpeg)
![com.oculus.vrshell-20180608-183416.jpg](https://qiita-image-store.s3.amazonaws.com/0/233744/7bf35f39-c986-efec-3d42-4b75c88933d4.jpeg)

最後の絵が大切で、つまりUSBケーブルをはずしても一度見たものは再生できると気が付いたのでした。

###まとめ
・二つのSDKをきちんとインストールすれば最短２時間位で見えるようになります
・ADKは、管理者権限で無いとインストールできません
・一度再生できるとOculusGo単独で何度でも再生できます
・VRで体験した動画は、録画すれば以下のように簡単にシェアできます

[OculusGo-Unity初めての感動の連携♬](https://youtu.be/lCgivt0JPI4)
[Unity－OculusGo。。。Cubes...結構酔えます♬](https://youtu.be/27Yf5gnkLXc)

エレコムもいけるかな？？
物体検出・識別アプリもVR（３D）化したい。。。