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 は自動再生されません。再生を指示するスクリプトを準備する必要があります。
// 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 を使用してフルスクリーンストリーミング再生が提供される。
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 をコールすると、画面は現在のコンテンツから指定された背景色にフェードします。ムービーが再生できる状態になるまでに少し時間がかかるかもしれませんが、その間プレイヤーは、背景色とムービーがロード中である事をユーザーに知らせるインジケーターの表示を継続します。再生が終了すると、画面は元のコンテンツに戻るためにフェードバックします。