(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

Oculus Go向けアプリの申請時にも使えるキューブマップをカメラから作成する方法【Unity】【アセット】【Oculus Go】


このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 2017.4.7f1


はじめに

今回はスカイボックスやリフレクションプローブなどに使われる

キューブマップ(Cubemap)をシーンに配置されたカメラから作成する方法の紹介です!



なお、Oculus Go等のアプリをOculus Storeにリリースする際にも

キューブマップ用の画像が使える(必須ではない)のですが、この画像も作成出来る方法です!

(むしろそっちがメインだったり)


f:id:kan_kikuchi:20180915124154j:plain
Store Asset Guidelines


ちなみにこのキューブマップは、VR上でアプリの詳細を見る時に背景として使われます。


f:id:kan_kikuchi:20180915131409j:plain



Oculus Integration

今回はOculus IntegrationというOculus公式から出ている無料のアセットを使います。



キューブマップを作りたいだけなら、以下の2つだけで大丈夫です。

Oculus/VR/Editor/OVRScreenshotWizard.cs

Oculus/VR/Scripts/Util/OVRCubemapCapture.cs

f:id:kan_kikuchi:20180915131656j:plain
f:id:kan_kikuchi:20180915131705j:plain


アセットをインストールするとTools -> Oculus -> OVR Screenshot Wizard

からウィンドウを開けるようになります。


f:id:kan_kikuchi:20180915132614j:plain
f:id:kan_kikuchi:20180915132647j:plain


このウィンドウの右下にあるRender Cubemapボタンを押せばCubemapを作成する事が出来ます。

なお、各設定項目は以下の通り。

  • Render From : 対象のカメラ(開いた時にシーンのメインカメラが自動で設定されている)
  • Size : Cubemapのサイズ(申請用の場合は2048のままでOK)
  • Save Mode : 作成するキューブマップの種類
    • Save Cubemap Screenshot : 申請用のキューブマップ
    • Save Unity Cubemap : Unityで使う用のキューブマップ
    • Save Both : 両方
  • Cube Map Folder : Unityで使う用のキューブマップをどこに保存するか
    • 申請用の画像を作成する時は場所を聞かれる
  • Texture Format : 申請用のキューブマップの拡張子(JPEG or PNG)


例えば以下のようなシーンで作成してみると、


f:id:kan_kikuchi:20180915133526j:plain


Unityで使う用のキューブマップは以下のように作成され、


f:id:kan_kikuchi:20180915133604j:plain


申請用のキューブマップは以下のように作成されます。


f:id:kan_kikuchi:20180915133618j:plain


キューブマップをSkyboxで使う

ついでに作成したキューブマップをSkyboxで使う方法もご紹介!

同様の方法でストア申請前にどんな感じになるかを確認する事も出来ます。


まずはSkybox用のMaterial作ります。


f:id:kan_kikuchi:20180915133949j:plain


MaterialのShaderはSkybox/Cubemapにし、撮ったCubemapを設定します。


f:id:kan_kikuchi:20180915134109j:plain


次にWindow -> Lighting -> Settingsからウィンドウを開き、


f:id:kan_kikuchi:20180915134125j:plain


Skybox Materialに先程作ったMaterialを設定します。


f:id:kan_kikuchi:20180915134204j:plain


後はCameraのClear FlagsをSkyboxにすればOK。


f:id:kan_kikuchi:20180915134245j:plain
f:id:kan_kikuchi:20180915134252j:plain