Version: 2019.2
ビデオの概要
MovieTexture から VideoPlayer への移行

 Video Player コンポーネント

Video Player コンポーネント を使って ビデオファイルゲームオブジェクト にアタッチし、ランタイムにビデオファイルをゲームオブジェクトの テクスチャ 上で再生できます。

下の図は、球状のゲームオブジェクトにアタッチされた Video Player コンポーネントを表示しています。

デフォルトでは、Video Player コンポーネントの Material Property は _MainTex に設定されています。つまり、レンダラーを持つゲームオブジェクトに Video Player コンポーネントをアタッチすると、自動的にそのレンダラーのテクスチャに割り当てられます (なぜなら、これはゲームオブジェクトの主要テクスチャであるため)。ここでは、ゲームオブジェクトに Mesh Renderer コンポーネントが設定されているので、Video Player コンポーネントは自動的にそれを Renderer フィールドに割り当てます。つまり、ビデオクリップは Mesh Renderer のテクスチャで再生されます。

球状のゲームオブジェクトにアタッチされた Video Player コンポーネント。ゲームオブジェクトのメインテクスチャ (ここでは、Mesh Renderer のテクスチャ) でビデオクリップを再生します。
球状のゲームオブジェクトにアタッチされた Video Player コンポーネント。ゲームオブジェクトのメインテクスチャ (ここでは、Mesh Renderer のテクスチャ) でビデオクリップを再生します。

ビデオを再生する特定の対象 (以下を含む) を設定することもできます。

VideoPlayer コンポーネント

Video Player コンポーネント
Video Player コンポーネント
プロパティー 機能
Source ビデオソースのタイプを選択します。
Video Clip ビデオクリップ をビデオプレイヤーに割り当てます。
Video Clip このフィールドを使い Video Player コンポーネントに割り当てるビデオクリップを指定します。
URL URL (例えば http:// や file://) をビデオに割り当てます。Unity は、ランタイムにこの URL からビデオを読み込みます。
URL ビデオプレイヤーに割り当てたいビデオの URL を入力します。
Browse… クリックしてローカルのファイルに移動し、file:// を開始する URL を選択します。
Play On Awake Play on Awake にチェックを入れると、シーンを起動する時にビデオ再生を開始します。ランタイムのほかのタイミングでビデオ再生を開始したい場合には、チェックを外します。スクリプトで Play() コマンドを使用して開始します。
Wait For First Frame Wait For First Frame にチェックを入れると、ゲーム開始前にソースビデオの最初のフレームが表示できる状態になるのを待機します。チェックを外すと、ゲームの残存量に同期するために、ソースビデオのはじめの数フレームが破棄される場合があります。
Loop Loop にチェックを入れると、ソースビデオが終りに達するとビデオを繰り返します。チェックを外すと、ソースビデオが終りに達すると再生を停止します。
Playback Speed このスライダーと入力フィールドは、0 から 10 の間で再生スピードの乗数を表します。デフォルトでは 1 (通常スピード) に設定されています。フィールドが 2 に設定されている場合は、ビデオは通常のスピードの 2 倍の速さで再生します。
Render Mode ドロップダウンを使ってビデオのレンダリング方法を選択します。
Camera Far Plane ビデオをカメラの ファークリップ面 にレンダリングします。
Camera Near Plane ビデオをカメラの ニアクリップ面 にレンダリングします。
Camera ビデオを取得する カメラ を選択します。
Alpha ソースビデオに加えられたグローバルな透明度レベル。これにより、面を透かして面の背後にある要素を表示できます。アルファチャンネルの詳細については、ビデオの透明度のサポート のページを参照してください。
Render Texture レンダーテクスチャ にビデオをレンダリングします。
Target Texture Video Player コンポーネントが画像をレンダリングするレンダーテクスチャを選択します。
Material Override ビデオを、レンダラーの マテリアル を通してゲームオブジェクトの選択されたテクスチャプロパティーにレンダリングします。
Renderer Video Player コンポーネントが画像をレンダリングする レンダラーNone に設定すると、Video Player コンポーネントを使用するゲームオブジェクトの Renderer を使用します。
Material Property Video Player コンポーネントの画像を受け取る Material Texture プロパティー の名。
API Only ビデオを VideoPlayer.texture スクリプト API プロパティーにレンダリングします。テクスチャを意図する対象に割り当てるには、スクリプトを使用する必要があります。
Aspect Ratio 該当する Render Mode が使用されているときに、 Camera Near PlaneCamera Far PlaneRender Texture に適用する画像のアスペクト比。
No Scaling スケーリングを使用しません。ビデオは対象の矩形の中央に配置されます。
Fit Vertically 対象の矩形の縦に一致するようにソースをスケールします。左右はクロップしたり、必要な場合は黒い部分として残します。ソースのアスペクト比は維持されます。
Fit Horizontally 対象の矩形の横に一致するようにソースをスケールします。上下はクロップしたり、必要な場合は黒い部分として残します。ソースのアスペクト比は維持されます。
Fit Inside クロップせずに対象の矩形に一致するようソースをスケールします。左右、または上下は、必要に応じて黒い部分として残します。ソースのアスペクト比は維持されます。
Fit Outside 黒い部分を残さずに対象の矩形に一致するようソースをスケールします。左右、または上下は、必要に応じてクロップします。ソースのアスペクト比は維持されます。
Stretch 対象の矩形に一致するように、ソースを平行/垂直にスケールします。ソースのアスペクト比は維持されません。
Audio Output Mode ソースのオーディオトラックを出力する方法を選択します。
None オーディオを再生しません。
Audio Source オーディオサンプルが選択した オーディオソース に送信され、Unity のオーディオ処理が適用できるようになります。
Direct オーディオサンプルは Unity のオーディオ処理を経由せず、直接オーディオ出力ハードウェアに送信されます。
API Only (Experimental) Audio samples are sent to the associated AudioSampleProvider.
Controlled Tracks ビデオのオーディオトラックの数。

ソースURL の場合にのみ表示されます。 ソースビデオクリップ の場合は、ビデオファイルの確認によってトラック数が決定されます。
Track No. 該当するトラックにチェックを入れると、そのオーディオトラックが再生に使用されます。これは再生前に設定する必要があります。

チェックボックスの左側には、オーディオトラックに関する情報、具体的にはトラック番号、言語、チャンネル数が表示されます。

例えば、上のスクリーンショットでは、Track 0 [und. 1 ch] を表示しています。これは、1 番目のトラック (Track 0)、言語は未定義 (und.)、トラックには 1 つのチャンネル (1 ch)、つまりモノラルトラックを意味しています。

ソースが URL の場合、この情報は再生中のみ利用可能です。

このプロパティーは、ソースがオーディオトラック (またはトラック) を持つビデオクリップである場合、または、ソースが URL の場合 (再生中に URL から予想されるトラックの数を指定できる場合) にのみ表示されます。
Audio Source オーディオトラックを再生する オーディオソース 。該当するオーディオソースもオーディオクリップを再生できます。

オーディオソースの再生制御 (スクリプト API の Play On AwakePlay()) は、ビデオソースのオーディオトラックには適用されません。

このプロパティーは、Audio Output ModeAudio Source に設定されている場合にのみ表示されます。
Mute 該当するオーディオトラックをミュートにします。Audio Source モードでは、オーディオソースの制御が使用されます。

このプロパティーは Audio Output ModeDirect に設定されているときにのみ表示されます。
Volume 該当するオーディオトラックの音量。Audio Source モードでは、オーディオソースの音量が使用されます。

このプロパティーは、Audio Output ModeDirect に設定されているときにのみ表示されます。

Video Player Scripting Example

The following script demonstrates a few of the VideoPlayer component’s features.

// Examples of VideoPlayer function

using UnityEngine;

public class Example : MonoBehaviour
{
    void Start()
    {
        // Will attach a VideoPlayer to the main camera.
        GameObject camera = GameObject.Find("Main Camera");

        // VideoPlayer automatically targets the camera backplane when it is added
        // to a camera object, no need to change videoPlayer.targetCamera.
        var videoPlayer = camera.AddComponent<UnityEngine.Video.VideoPlayer>();

        // Play on awake defaults to true. Set it to false to avoid the url set
        // below to auto-start playback since we're in Start().
        videoPlayer.playOnAwake = false;

        // By default, VideoPlayers added to a camera will use the far plane.
        // Let's target the near plane instead.
        videoPlayer.renderMode = UnityEngine.Video.VideoRenderMode.CameraNearPlane;

        // This will cause our Scene to be visible through the video being played.
        videoPlayer.targetCameraAlpha = 0.5F;

        // Set the video to play. URL supports local absolute or relative paths.
        // Here, using absolute.
        videoPlayer.url = "/Users/graham/movie.mov";

        // Skip the first 100 frames.
        videoPlayer.frame = 100;

        // Restart from beginning when done.
        videoPlayer.isLooping = true;

        // Each time we reach the end, we slow down the playback by a factor of 10.
        videoPlayer.loopPointReached += EndReached;

        // Start playback. This means the VideoPlayer may have to prepare (reserve
        // resources, pre-load a few frames, etc.). To better control the delays
        // associated with this preparation one can use videoPlayer.Prepare() along with
        // its prepareCompleted event.
        videoPlayer.Play();
    }

    void EndReached(UnityEngine.Video.VideoPlayer vp)
    {
        vp.playbackSpeed = vp.playbackSpeed / 10.0F;
    }
}

  • 2017–05–07 Page amended

  • 5.6 の新機能

ビデオの概要
MovieTexture から VideoPlayer への移行