レンダーテクスチャ
3D テクスチャ

ムービーテクスチャ

Movie Textures は、ビデオファイルから作成され、アニメーション化された Texture です。プロジェクトの Assets フォルダー に動画ファイルを配置することによって、通常使用する 2D テクスチャとまったく同じように使用できるビデオをインポートすることができます。

動画ファイルは Apple 社の QuickTime を介してインポートされます。サポートされるファイルの種類はインストールされた QuickTime のが再生できるものと一致します(通常は .mov.mpg.mpeg.mp4.avi.asf ) Windows 上でムービーをインポートするためには QuickTime がインストールされていることが必要です (ここ からダウンロード)。

プロパティー

Movie Textures Inspector は、通常の 2D テクスチャ Inspector と非常によく似ています。

Movie Textures Inspector は、通常の Texture 2D Inspector と非常によく似ています。

プロパティー: 説明:
Aniso Level 鋭角でテクスチャを表示する際に、テスクチャの質を高めます。床や地面のテクスチャに適しています。
Filtering Mode 3D 座標で画面を引き伸ばすときのテクスチャのフィルタリング方法を選択します
Loop 有効の場合、動画の再生が完了したときにループします
Quality Quality Ogg Theora ビデオファイルの圧縮。より高い値により、品質がより高い一方でファイルサイズは大きくなる。

詳細

ビデオファイルがプロジェクトに追加されると、自動的にインポートされ、Ogg Theora 形式に変換されます。一度 Movie Textures をインポートすると、通常の Texture のように、任意の GameObjectMaterial にアタッチできます。

ムービーを再生

ゲームの実行開始時に、Movie Textures は自動再生されません。再生を指示するスクリプトを準備する必要があります。

// this line of code will make the Movie Texture begin playing
((MovieTexture)GetComponent<Renderer>().material.mainTexture).Play();


スペースが押されたときに動画再生をプレイバックに切り替えるためには、次のスクリプトをアタッチします。

public class PlayMovieOnSpace : MonoBehaviour {
    void Update () {
        if (Input.GetButtonDown ("Jump")) {
            
            Renderer r = GetComponent<Renderer>();
            MovieTexture movie = (MovieTexture)r.material.mainTexture;
            
            if (movie.isPlaying) {
                movie.Pause();
            }
            else {
                movie.Play();
            }
        }
    }
}


Movie Textures を再生する方法の詳細については、Movie Textures スクリプトリファレンス を参照してください。

ムービーオーディオ

Movie Textures をインポートすると、映像とともにオーディオトラックもインポートされます。オーディオは、Movie Textures の AudioClip を子オブジェクトとして表示されます。

ビデオのオーディオトラックは Project View にて Movie Textures の子オブジェクトとして表示されます

このオーディオを再生するには、他のオーディオクリップのように、ゲームオブジェクトにアタッチする必要があります。Project View から、シーンビューか階層ビューの任意のゲームオブジェクトへドラッグします。 通常、ムービーを見せているのと同じゲームオブジェクトになります。次に audio.Play() を使用し、映像に合わせてオーディオトラックを再生します。 Movie Textures は、iOS 上ではサポートされません。代わりに、Handheld.PlayFullScreenMovie を使用してフルスクリーンストリーミング再生が提供される。

プロジェクトディレクトリの StreamingAssets フォルダー内にビデオを格納する必要があります。

iOS デバイス上で正しく再生できるファイルタイプは Unity の iOS でサポートされるため、( .mov.mp4.mpv、and .3gp )の拡張子や、次の圧縮規格はサポートされます。

  • H.264 ベースラインプロファイルレベル 3.0 ビデオ
  • MPEG–4 Part 2 ビデオ

サポートされている圧縮規格の詳細については、iPhone SDK を参照してください。MPMoviePlayerController クラスリファレンス

Handheld.PlayFullScreenMovie をコールすると、画面は現在のコンテンツから指定された背景色にフェードします。ムービーが再生できる状態になるまでに少し時間がかかるかもしれませんが、その間プレイヤーは、背景色とムービーが読み込み中である事をユーザーに知らせるインジケーターの表示を継続します。再生が終了すると、画面は元のコンテンツに戻るためにフェードバックします。

ビデオプレーヤーは、ビデオ再生時のミュート切替は無視します

すでに書いたように、ビデオファイルは Apple の埋め込みプレーヤーを使用して再生されます。( SDK 3.2 や iPhone OS 3.1.2 およびそれ以前のバージョン)このプレーヤーにはバグが含まれており、Unity ではミュートに切替えることができません。

ビデオプレーヤーは、デバイスの向きを無視します

Apple ビデオプレーヤーと iPhone SDK はビデオの向きを調整する方法を提供していません。一般的なアプローチは、手動で各ムービーの複製を 2 つ、ランドスケープやポートレートの向きで作成することです。これにより、デバイスの向きをプレイバック前に判定することで、正しいムービーを選択して再生することができます。

Android

Movie Textures は、Android 上ではサポートされません。代わりに、Handheld.PlayFullScreenMovie を使用してフルスクリーンストリーミング再生が提供されます。

プロジェクトディレクトリの StreamingAssets フォルダー内にビデオを格納する必要があります。

Unity Android は Android でサポートされているファイル形式(例えば .mp4.3gp )をサポートしています。また、以下の圧縮形式を使用しています。

  • H.263
  • H.264 AVC
  • MPEG–4 SP

しかしながら、デバイスベンダーによりこのリストのサポート範囲は拡大しており、いくつかの Android 端末では HD 動画など、このリストにない形式も再生することができます。

サポートされている圧縮規格の詳細については、Android SDK を参照してください コアメディア形式のドキュメント

Handheld.PlayFullScreenMovie をコールすると、画面は現在のコンテンツから指定された背景色にフェードします。ムービーが再生できる状態になるまでに少し時間がかかるかもしれませんが、その間プレイヤーは、背景色とムービーが読み込み中である事をユーザーに知らせるインジケーターの表示を継続します。再生が終了すると、画面は元のコンテンツに戻るためにフェードバックします。

レンダーテクスチャ
3D テクスチャ