360video for skybox
今まで外部アセットなどでごちゃごちゃしないとできなかったskyboxでのビデオ再生ができるようになりました!
ただ、このシェーダーを入れておく必要があるみたいです。
ここに英語で詳しく書いてあります。これに沿ってやっていきます。
流れ
映像の用意
例えばThetaで撮影した360度映像なら、一度Thetaのビューソフトにドラッグして変換すると、
_erが末尾についた動画に変換されます。二つの円だったやつがひとつながりになる。
これをUnityに読み込みます。
RenderTexture準備
まずビデオを読み込んだら、そのままシーンにドラッグします。
するとVideo PlayerというComponentがついたオブジェクトができます。
これのRender ModeをRender Textureにします。
次にRender Textureを作ります。
このRender TextureはまずDepth BufferをNo depth bufferにします。
そしてサイズは、読み込んだ映像のサイズにします。
読み込んだ映像のサイズはその映像のインスペクタの下の方をSource infoにしたら載っています。
そして設定が終わったRender textureをさっきのVideo PlayerのTarget Textureにセットします。
Skybox
新しいマテリアルを作り、そのシェーダーをさっきgithubからダウンロードしたSkybox/PanoramicBetaにします。
そしてテクスチャにRender Textureをセットします。
ちなみにMappingのところはLatitude Longitude Layoutにして、かつVirtual reality supportedにチェックを入れていると3D Layoutが選択できます。
いい感じに設定して、このマテリアルをSkybox Materialにセットしたら完成!
再生したらskyboxに映像が流れます。
その他
最初の状態?でライティングされます(IBL)。映像には追従しないみたい。