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 のように、任意の GameObject や Material にアタッチできます。
ゲームの実行開始時に、Movie Textures は自動再生されません。再生を指示するスクリプトを準備する必要があります。
// このコードによって、Movie Texture を再生し始めます
((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 から、シーンビューか階層ビューの任意のゲームオブジェクトへドラッグします。
Movie Textures は、iOS 上ではサポートされません。代わりに、Handheld.PlayFullScreenMovie を使用してフルスクリーンストリーミング再生が提供される。
iOS デバイス上で正しく再生できるファイルタイプは Unity の iOS でサポートされるため、( .mov、.mp4、.mpv、and .3gp )の拡張子や、次の圧縮規格はサポートされます。
サポートされている圧縮規格の詳細については、iPhone SDK を参照してください。MPMoviePlayerController クラスリファレンス
Handheld.PlayFullScreenMovie をコールすると、画面は現在のコンテンツから指定された背景色にフェードします。ムービーが再生できる状態になるまでに少し時間がかかるかもしれませんが、その間プレイヤーは、背景色とムービーが読み込み中である事をユーザーに知らせるインジケーターの表示を継続します。再生が終了すると、画面は元のコンテンツに戻るためにフェードバックします。
すでに書いたように、ビデオファイルは Apple の埋め込みプレーヤーを使用して再生されます。( SDK 3.2 や iPhone OS 3.1.2 およびそれ以前のバージョン)このプレーヤーにはバグが含まれており、Unity ではミュートに切替えることができません。
Apple ビデオプレーヤーと iPhone SDK はビデオの向きを調整する方法を提供していません。一般的なアプローチは、手動で各ムービーの複製を 2 つ、ランドスケープやポートレートの向きで作成することです。これにより、デバイスの向きをプレイバック前に判定することで、正しいムービーを選択して再生することができます。
Movie Textures は、Android 上ではサポートされません。代わりに、Handheld.PlayFullScreenMovie を使用してフルスクリーンストリーミング再生が提供されます。
Unity Android は Android でサポートされているファイル形式(例えば .mp4、.3gp )をサポートしています。また、以下の圧縮形式を使用しています。
しかしながら、デバイスベンダーによりこのリストのサポート範囲は拡大しており、いくつかの Android 端末では HD 動画など、このリストにない形式も再生することができます。
サポートされている圧縮規格の詳細については、Android SDK を参照してください コアメディア形式のドキュメント
Handheld.PlayFullScreenMovie をコールすると、画面は現在のコンテンツから指定された背景色にフェードします。ムービーが再生できる状態になるまでに少し時間がかかるかもしれませんが、その間プレイヤーは、背景色とムービーが読み込み中である事をユーザーに知らせるインジケーターの表示を継続します。再生が終了すると、画面は元のコンテンツに戻るためにフェードバックします。