Unity+UnrealEngine4+Blog.

UnityやUnrealEngine4とかについて学習したことを書いてます

UnityVR URLから360度動画を再生をする

 

途中まで前回の記事と同じなのでサクサクと進めていきます。

 

nabesi777.hatenablog.com

 

 

 違う部分は、VideoPlayerのSourceをurlにして外部の動画を再生させる点です。

 

空オブジェクトを作成して、VideoPlayerをアタッチ

f:id:nabesi777:20191205163738p:plain

f:id:nabesi777:20191205181428p:plain

 

マテリアルを作成してShaderを下のように変更

f:id:nabesi777:20191205163841p:plain

f:id:nabesi777:20191205163905p:plain


次にRenderTextureを作成、サイズを変更する。

f:id:nabesi777:20191205164023p:plain

f:id:nabesi777:20191205164009p:plain

 

マテリアルとVideoPlayerコンポーネントへ先程作成したRendeTrexturの参照をもたす

f:id:nabesi777:20191205164932p:plain

f:id:nabesi777:20191205181428p:plain

 

まずは分かりやすいように、取り敢えずAssets>Resourcesの中においた360度動画をurlで再生してみます

f:id:nabesi777:20191205181645p:plain

 

この動画へのパスをプログラムの中で使うのですが、動画を右クリックして下のようなやり方で動画のパスをコピーすると間違いがないです。

f:id:nabesi777:20191205181148p:plain

 

動画へのパスを確認したら下のスクリプトを作成します。

 

 

最終的なインスペクター

これでゲーム再生中にPをおすと、指定したパスの動画を再生してくれます。

f:id:nabesi777:20191205182059p:plain

 

URLをSourceとしてVideoPlayerで動画を再生することができましたが、このやり方ではUnityEditor上でしか再生できません。

 

URLをソースとして、書き出したビルドデータで動画を再生する例を作っていきます。

 

  書き出しデータでURL再生する今回のやり方の概要ですが、書き出したデータフォルダの中に動画を入れるフォルダを作成→その中に再生する動画を入れる→そいつのURL(パス)を取得してVideoPlayerに渡してあげる、という感じです。これはあくまでも例ですが、パスを取得するやり方がわかるようになります。

 

まずは書き出したデータのフォルダのパスがどのようになるのかをApplication.dataPathというAPIを使って確認します。取得したパスはUIテキストに表示させて確認します。

 

上で作ったスクリプトを少し変更して確認用に下のように書いてみました。

f:id:nabesi777:20191205183305p:plain

 

これで一旦ビルドします。再生するとビルドデータはどのようなパスの場所へあるのかがわかります。

 

私の環境で書き出した実行データは下のようになりました。

Practiceはプロジェクト名でその中に自分でBuildsというフォルダを作成して、さらにその中にVideoTestというフォルダを作ってその中に書き出しています。それが下の表記です。例えばこのビルドデータをデスクトップへ移動させるとここに表示されるパスはまた違うものになります。

f:id:nabesi777:20191205183051p:plain

 

では次にこのVideoTestのフォルダの中に再生させる360度動画を入れます。

f:id:nabesi777:20191205184759p:plain

Application.dataPathで取得出来るパスはPractice_Dataまでなのでこの部分は削除します。動画はVideoTestの中に置いているわけですから。

 

下のように書き換えました。

f:id:nabesi777:20191205191327p:plain


最終的なスクリプトです

 

 

これで外部の動画を読み込めるようになりました。