VideoPlayerとは?

UnityVideoPlayerは、アプリ内で動画を再生するためのコンポーネントです。

チュートリアル動画を再生したり、カットシーン用ムービーを挿入するのに便利です。

シーンにVideoPlayerを追加する

ヒエラルキー上右クリックし、メニューから

VideoVideo Playerを選択して追加します。

以下のVideoPlayerコンポーネントを持つGameObjectが追加されます。

動画を割り当て、表示先を設定することで簡単にゲーム中で動画を再生することができます。

Sourceについて

Sourceとは再生する動画をどこから持ってくるか指定します。

Video Playerコンポーネント上で、SourceVideo ClipURLの2種類から選べます。

  • Video Clip
    • Unityプロジェクト中に含まれている動画アセットを指定します
  • URL
    • 外部にある動画をURLで指定します
    • StreamingAssetsにある動画を指定する場合にも使用します

RenderMode カメラ編

RenderModeCamera Far PlaneCamera Near Planeにした場合、

指定したCameraに移る範囲に動画が再生されます。

  • Camera Far Plane

    • FarClip平面、カメラに映る一番奥の位置に動画が表示されます
    • 一番奥なので、動画の手前に3Dオブジェクトを表示できます
  • Camera Near Plane

    • NearClip平面、カメラに映る一番手前の位置に動画が表示されます
    • 一番手前なので、3Dオブジェクトは動画より後ろに表示されます

Camera Near Planeの場合、紫のキューブが見えていませんが、

Video PlayerコンポーネントのAlphaの値を変更してやると動画が半透明になるため

裏側の紫のキューブが見える状態になります。

RenderMode Render Texture編

Render Textureを指定した場合、Target TextureRenderTextureを指定できます。

RenderTextureについてはこちらもご覧ください。

Target Textureに設定したRenderTextureをUI上のRawImageに設定すると、

UI上に動画を生成することが出来ます。

RenderMode Material Override編

Material Overrideを指定した場合、Rendererが指定できるようになります。

ヒエラルキー上のオブジェクトが持つRendererコンポーネントを指定することで、

そのRenderer上のMaterialが持つテクスチャの代わりに動画を表示できます。

まとめ

Unityの標準機能であるVideoPlayerコンポーネントについて説明しました。

最初にも書きましたが、チュートリアル用に動画を再生したり、

カットシーン用に動画を再生したり、といった使い方が出来ます。

ゲームの背景に巨大モニターを設置してその中で賑やかし用の動画を流しておくとか、

戦闘シーンの背景にループ動画を流しておくとか他にも色々考えられそうですね。

一方で動画アセットはファイルサイズが大きくなりがちなので、

あまり詰め込むとビルド後のアプリサイズも肥大化します。

ご利用は計画的に!