Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unity MovieTexture (VR panorama) tips

izm
October 29, 2016
8.4k

Unity MovieTexture (VR panorama) tips

2016/10/29 DCExpo #JVRFest

izm

October 29, 2016
Tweet

Transcript

  1. Unity動画再生周りの
    tips集
    Twitter @izm 絵麻さんを養って幸せな家庭を築く

    View Slide

  2. 自己紹介
    2016/1より上京してVR系エンジニア 「Unity 本」でググれ

    View Slide

  3. 何作ってたの
    他複数のHMD向けパノラマ動画案件をやってます…

    View Slide

  4. agenda
     Unityにおけるパノラマ動画の再生方法
     EasyMovieTexture
     MediaDecoder
     Tips集
     ステレオ動画の限界解像度
     iPhone6で4k動画
     各アセットの罠

    View Slide

  5. Unityによるパノラマ動画再生
     アセットを使おう
     歴史的な経緯により Unityのムービーテクスチャはあまり便利ではない…
     VR向けのおすすめ動画再生アセット
     PC(Windows) MediaDecorder(ViveSoftware) 無料
     Android iOS (GearVR) EasyMovieTexture 65ドル
     とりあえず普通の人はこれで大丈夫です
     8k動画とか6k動画はいろいろ考えないと…
     AVPro WindowsMediaさんが終わり、後継のAVProVideoが出ました

    View Slide

  6. EasyMovieTextureは神
     65ドル
     頻繁なアップデート(作者が親切)
     iOS Android Standalone(Windows)をフルサポート(windowsいけるんです
    よ)
     最新版はUnity Editor上で動画再生プレビュー出来る
     Androidのネイティブプラグインのソースコードがzip同梱(めっちゃ嬉しい)
     Standalone及びUnityEditor(Windows)はffmpeg利用
    →StandAloneで使うとしても、後述のVive社のMediaDecoderとほぼ同等性能
     塩パスタを食べてでも65ドルを払う価値あり

    View Slide

  7. MediaDecoderは神
     無料
     これが無料はやばい(ただしWindows限定)(DX11NativeTexturePtr利用)
     FFmpegベースのデコード(DirectShowフィルタよりコードベースが新しい)
     DirectShowフィルタを使うと、アプリ配布する時めっっっちゃ困る…
     8k再生はGeforceGTX10x0(Pascal GPU)でH265の8k30FPSまで動きました
     スマホやGearVRを考えないならこれで十分かも

    View Slide

  8. Tips集

    View Slide

  9. 動画の限界解像度
     3840x1920じゃなくて3840x2160で出しても良い
     2:1のアスペクト比はequiangularな出力の都合
     Unity上でUVがちゃんとしてる球なら問題なく再生できます
     @warapuriさんのSphere100.fbxを使おう(UnityのSphereは上と下がUV歪んでる…)
     Top-Bottomステレオ動画の解像度限界
     2048x2048←まちがい。粗いです。
     3840x2048←左目用を3840x1024 右目用を3840x1024で出力してTop-Bottomに詰め込み
    ましょう。なんとかなります。明らかに2048より綺麗です

    View Slide

  10. iPhone6で4k再生
     公式にはiPhoneの4k再生サポートはiPhone6S以降(A9以降)
     しかし一部アプリでiPhone6及びiPhone6Plus(A8)で4k再生がある
     →ffmpegでH264でProfileをBaseLine4.2指定しつつ解像度を3840x1920
    に指定してエンコードするとEasyMovieTextureで再生出来ました
     こういうヘッダ偽装とか横着な使い方が許されるffmpegは神

    View Slide

  11. 各アセットの罠
     AVProVideo(ver 1.44)→めっちゃちゃ高い割に
     本体同梱のFilterで8k動画再生不可
     DirectShowFilter再生モードでLAV Filterを入れれば再生可能
     8k30FPS再生時に原因不明のパフォーマンススパイクが起きてた
     Unity ProfilerでCPU UsageとGPU Usageを調べてWaitForPresent(VR版) と
    か GFX.WaitForPresentがCPUの大部分を占めてたら「CPUが暇している
    が GPUというか動画デコードがカッツカツ」です。

    View Slide

  12. 各アセットの罠
     ViveのMediaDecoderは8kサポートを謳っているが、PascalGPUで
    8k30FPSまでしかサポートしてない気がする…
     現在のver1.04は微妙なはずれアップデートっぽいので1.02の方が良い。
    (もしくはバージョンアップ待ち)
     そもそもGeforce GTX 9x0系はffmpegをデコードに利用すると4k60FPS
    くらいが限界なので、8k再生案件は気を付けて請けましょう…

    View Slide

  13. 各アセットの罠
     動画再生系アセットは玉石混交
     今回おすすめに入れていないアセットは、結構危ないもの多い…
     まずは、EasyMovieTextureにしましょう。いざというとき
    AndroidNativePluginのソースから書き換えられます!

    View Slide

  14. 撮影機材
     Theta 4k版期待してます
     2眼式パノラマカメラは分厚くなるほど近距離のスティッチ痕が目立つの
    でTheta最高
     Sp360 4k2個のリグを付属ソフトではなくAutoPanoで書き出すと4kどこ
    ろか6k(2880P)まで出せるのでコスパ良い機材です

    View Slide

  15. おわり
     パノラマ動画再生沼たのしいよ!!!!!!!!!!

    View Slide

  16. 便利コード

    View Slide