脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

EasyMovieTextureでGearVR用の360動画アプリを作成する

Unityには標準でMovieTextureという動画を再生する機能がありますが、この機能はAndroidには対応していないので、GearVRでは利用できません。

UnityでGearVRの360動画アプリを作成する方法はいくつかあるようですが、現在はEasyMovieTextureというassetを利用して作成することが主流なようです。
https://www.assetstore.unity3d.com/jp/#!/content/10032


以下はEasyMovieTextureの使い方の簡単な説明です

1. EasyMovieTextureのimport

まずはEasyMovieTextureをimportします
f:id:portaltan:20160707175409p:plain

  • 2016/07/07現在65ドルです
  • importすると動画再生に必要なコンポーネントやデモシーン、デモ動画がプロジェクトにimportされます

2. EasyMovieTexture Editor Mode(beta)のimport

EasyMovieTextureによる動画機能は、Unityのシミュレータで確認することができません。
つまりどういうことかと言うと、確認には毎回Andoridにプロジェクトを書き出して実機で確認する必要があります。
これは凄い手間だったのですが、現在は作者様がベータ版としてUnityのEditor上でシミュレーションできるUpgrade packを用意してくださったので、こちらもダウンロードしてimportしておきます
f:id:portaltan:20160707180141p:plain

3. 360動画の用意

Equireqtagular形式の360動画を用意し、Assets/StreamingAssetsにimportします

  • 配置先はここでないといけません
  • Unity標準のMovieTextureのようにimport時に変換は行われません
  • 今回はTheta公式サイトからダウンロードしてきた滑り台の動画を使用します

f:id:portaltan:20160707182003p:plain
ギャラリー | RICOH THETA

4. 動画を投影する天球マテリアルの準備

Blenderとかでも自分で作れるようですが、私は以下のサイトで公開してくださっている天球マテリアルを利用させて頂いています
No hack, no work • UnityとOculusで360度パノラマ全天周動画を見る方法【無料編】

  • Sphere100.fbxをimport
  • importしたSphere100をHierarchyビューへD&D
  • Scaleを適当に100, 100, 100とかに拡大

f:id:portaltan:20160707180919p:plain

5. Texutureの設定

このままでは天球自体の影が出来て動画が暗くなってしまうので、Texutreの種類をStandardからUnlit/Textureへ変更します
f:id:portaltan:20160707182814p:plain

6. 動画スクリプトの貼りつけ

EasyMovieTexture/Scripts/MediaPlayerCtrlをHierarchyビューのSphere100へ貼りつけます
f:id:portaltan:20160707181155p:plain
貼りつけるとInspectorにMedia Player Ctrlという項目ができます
ここでちょっとややこしいのですが、HierarchyビューのSphere100自身をTargetMaterialという項目にD&Dします
f:id:portaltan:20160707181502p:plain

7. 再生する動画の指定

次にStr File NameにStreamingAssets以下に配置した再生したい動画ファイル名を入力します

  • 拡張子も必要です

f:id:portaltan:20160707182237p:plain

8. 確認します

ここまでで再生の準備は完了したので再生してみましょう
以下のように360動画が再生されることが確認できます
f:id:portaltan:20160707182552p:plain


今回はただ単純にアプリを起動したら1回だけ再生するという単純なアプリだったので、次回はポーズなど動画操作をする方法を載せたいと思います