【VR開発】360度動画の再生 in Oculus

## 追記
有料のAssetを利用する事でより手軽に実装する事が出来ました。

https://qiita.com/Kodai_Maki/items/d058f95446b16993c7ee

## 前提
[前回の記事]()にて360度動画再生の確認ができており、[Oculus Integration](https://assetstore.unity.com/packages/tools/integration/oculus-integration-82022#description)の導入が完了している。開発の初期設定も含め、こちらの導入については、[Raspberly様のブログ](https://raspberly.hateblo.jp/entry/OculusIntegrationSetup)が画像付きでとても分かりやすいです。

## 実装
Projectの検索窓で「OVRCameraRig」を検索します。青いPrehabが見つかるので、それをHierarchyにドラッグアンドドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/c4da2fe8-b850-072a-32ab-567659fb0259.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/07a33665-89ef-5f34-9287-e4bdfdeadf5f.png)

デフォルトでは、OVRCAmeraRigのTrakingはEye levelになっているはずです。このままで大丈夫です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/c4eb1dd0-0c6a-f7f8-02c5-8001050fa866.png)

SphereのVideo Playerにて、Loopにチェックを入れておくと動画が繰り返し再生されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/f83d81a5-d4bc-068d-2971-dd6b3d17f877.png)


メニューバーのFile→Build Settingを開き、ビルドするシーンを変更します。
![test3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/cbf295fa-409f-63d4-1d71-f20a111898da.gif)
＊事前にテストビルドが出来ている事を前提としている為、詳細は省きます。[こちら](https://framesynthesis.jp/tech/unity/oculusquest/)の記事が大変参考になると思います。

### Oculusでダイブ！
Build and Runでも、Air linkのどちらでも大丈夫です。AirLinkの方が圧倒的に楽です。
![test4.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/9188367f-7cfa-c118-3923-a96d4797d5ba.gif)

これでOculusでの360度動画の再生が確認できました。
しかし、明るさのバラツキが気になります。
Directional Lightを利用している事が問題です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/86870719-245a-0f62-20b5-7cfd1cc54168.png)
今後手元を追加する予定なので、ライト削除は避けたいです。調整を行っていきます。

## 調整
Directional Lightを削除し、Point Lightを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/aba29f58-4ae7-6d23-dd77-47d0e287f371.png)

次に、Skybox（背景）の設定を調整しましょう。
Window→Lightingを選択して、

Enviromentから、Environment Lighting→Intensity Multiplierを2に変更。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/8d3c73f3-cc03-6573-3f66-04eead315d99.png)

手元が暗ければPoint LightのRangeを強くし、スクリーンが暗ければIntensity Multiplierを強くするなどして調整して下さい。使用している動画の明るさによって、最適な調整が必要だと思います。

|Before|After|
|---|---|
|<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/55c0790e-b3f8-cbc3-85bc-27f8518d77c3.png" width=100%>|<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/63562d67-c6a8-6730-9db6-4c6a5cf2d8b2.png" width=100%>|

*Point LightのIntensityを強くしてしまうと、Meshが見えてしまうので注意。（以下例）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/07b26081-f205-c820-41b7-16d66ced42e3.png)

### 再度Oculusでダイブ！
いい感じになりました。
![t3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/9104427b-b138-042e-7263-f8636c7a51c2.gif)


:::note
**補足**
動画の正面は、SphereのRotationで調整できます。
動画の解像度が気になる方は、ShepreのScaleを小さくする事で改善する可能性があります。
正直、気持ちの問題かもしれません。小さすぎると、頭を動かした際の違和感が強くなるので注意です。今回の手法だと0.3ぐらいが限界に感じました。Point LightのRange調整も必要になるかもしれません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2657635/e0273aae-5c3b-96c5-c198-a36cc1ee10ea.png)
:::