Version: Unity 6.0 (6000.0)
言語 : 日本語
Video Player component targets
Create a Video Player component

 Video Player コンポーネント

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

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

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

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

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

Video Player コンポーネントリファレンス

プロパティ 説明
Source ビデオのソースタイプを選択します。
Video Clip Video Player コンポーネントに割り当てる ビデオクリップ を選択します。ウェブプラットフォームではサポートされていません。
URL ビデオプレイヤーに割り当てたいビデオの URL (例: http://、file://) を入力します。
Update Mode Video Player コンポーネントがタイミングの更新に使用するクロックソースを設定します。
DSP Time オーディオ処理と同じクロックソースを使用します。
Game Time ゲームクロックと同じクロックソースを使用します。このクロックソースは、タイムスケーリングとキャプチャフレームレートの設定 の影響を受けます。
Unscaled Game Time ゲームクロックと同じクロックソースを使用しますが、タイムスケーリングとキャプチャフレームレート の影響は受けません。
Play On Awake シーンの起動時にビデオを再生します。ランタイムのほかのタイミングでビデオ再生をトリガーしたい場合には、チェックを外します。スクリプトで Play() コマンドを使用してトリガーします。
Wait For First Frame ゲーム開始前にソースビデオの最初のフレームが表示できる状態になるのを待機します。チェックを外すと、ビデオの時間がゲームの残存量に同期するため、はじめの数フレームが破棄される場合があります。
Loop 終了に到達すると、ソースビデオをループします。チェックを外すと、終了に到達したときにビデオの再生を停止します。
Skip On Drop このオプションを有効にすると、Video Player コンポーネントが再生位置とゲームクロック間にドリフトを検出したときに、ビデオプレイヤーは先にスキップします。このオプションを無効にすると、ビデオプレイヤーはドリフトを補正せず、すべてのフレームを整然と再生します。
Playback Speed 再生スピードの乗数を 0 - 10 の値で設定します。デフォルトでは 1 (通常スピード) に設定されています。このフィールドが 2 に設定されている場合は、ビデオは通常のスピードの 2 倍の速さで再生します。
Render Mode ビデオをレンダリングする方法を選択します。
Camera Far Plane ビデオをカメラの ファークリップ面 にレンダリングします。
Camera Near Plane ビデオをカメラの ニアクリップ面 にレンダリングします。
レンダーテクスチャ ビデオを レンダーテクスチャ にレンダリングします。
Material Override ビデオを、レンダラーの Material を通して選択されたゲームオブジェクトの Texture プロパティにレンダリングします。
API Only ビデオを VideoPlayer.texture スクリプティング API プロパティにレンダリングします。テクスチャを意図する対象に割り当てるには、スクリプトを使用する必要があります。
Camera ビデオを取得する カメラ を選択します。
Alpha ソースビデオに加えられるグローバルな透明度レベルを設定します。これにより、面を透かして面の背後にある要素を表示できます。アルファチャンネルの詳細については、ビデオの透明度のサポート を参照してください。
3D Layout ソースビデオの 3D コンテンツのレイアウトを選択します。
なし ビデオに 3D コンテンツがありません。
Side by Side ビデオに 3D コンテンツがあり、左目がビデオフレームの左半分、右目が右半分を占めます。
Over Under ビデオに 3D コンテンツがあり、左目がビデオフレームの上半分、右目が下半分を占めます。
Target Texture Video Player コンポーネントが画像をレンダリングするレンダーテクスチャを選択します。
Aspect Ratio 該当する Render Mode が使用されているときに、Camera Near PlaneCamera Far PlaneRender Texture に適用する画像のアスペクト比を設定します。
No Scaling スケーリングを使用しません。ビデオは対象の矩形の中央に配置されます。
Fit Vertically 対象の矩形の縦に一致するようにソースをスケールします。左右はクロップしたり、必要な場合は黒い部分として残します。ソースのアスペクト比は維持されます。
Fit Horizontally 対象の矩形の横に一致するようにソースをスケールします。上下はクロップしたり、必要な場合は黒い部分として残します。ソースのアスペクト比は維持されます。
Fit Inside クロップせずに対象の矩形に一致するようソースをスケールします。左右、または上下は、必要に応じて黒い部分として残します。ソースのアスペクト比は維持されます。
Fit Outside 黒い部分を残さずに対象の矩形に一致するようソースをスケールします。左右、または上下は、必要に応じてクロップします。ソースのアスペクト比は維持されます。
Stretch 対象の矩形に一致するように、ソースを水平/垂直にスケールします。ソースのアスペクト比は維持されません。
Renderer Video Player コンポーネントが画像をレンダリングする レンダラー を選択します。None に設定すると、Video Player コンポーネントと同じゲームオブジェクトの Renderer が使用されます。
Auto-Select Property このオプションを有効にすると、Video Player コンポーネントが レンダラー のメインテクスチャを自動的に選択します。このオプションを無効にすると、Material Property オプションを手動で設定できます。
Material Property Video Player コンポーネントの画像を受け取る Material Texture プロパティ の名。
Audio Output Mode ソースのオーディオトラックを出力する方法を選択します。
なし オーディオは再生されません。
オーディオソース オーディオサンプルが選択した オーディオソース に送信され、Unity のオーディオ処理が適用できるようになります。
Direct オーディオサンプルは Unity のオーディオ処理を経由せず、直接オーディオ出力ハードウェアに送信されます。
API Only(Experimental) オーディオサンプルは、関連する AudioSampleProvider に送信されます。
Controlled Tracks ビデオのオーディオトラック数。

SourceURL の場合にのみ表示されます。SourceVideo Clip の場合、トラック数はビデオファイルを調べて決定されます。
Track Number 関連するオーディオトラックを有効にして再生に使用します。再生前に設定する必要があります。

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

ソースが URL の場合、この情報は再生中にのみ使用できます。

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

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

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

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

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

Video Playerスクリプトの例

以下のスクリプトは、Video Player コンポーネントの機能の一部を示しています。

// Examples of Video Player function

using UnityEngine;

public class Example : MonoBehaviour
{
    void Start()
    {
        // Will attach a Video Player 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, Video Players 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 Video Player 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;
    }
}

VideoPlayer

Video Player component targets
Create a Video Player component