ノート: MovieTexture (ムービーテクスチャ) は Unity の将来のバージョンでは廃止、または非推奨となる予定です。動画のダウンロードと再生には、VideoPlayer を使用してください。
Movie Textures (ムービーテクスチャ) は、動画ファイルから作成され、アニメーション化された Texture です。プロジェクトの Assets フォルダー に動画ファイルを配置することによって、通常使用する 2D テクスチャ とまったく同じように使用できる動画をインポートすることができます。
動画ファイルは Apple 社の QuickTime を通してインポートします。サポートされるファイルの種類はインストールされた QuickTime を再生できるものと一致します (通常は .mov、.mpg、.mpeg、.mp4、.avi、.asf)。Windows 上で動画をインポートするためには QuickTime がインストールされていることが必要です。こちら からダウンロードしてください。
Movie Textures Inspector は、通常の 2D テクスチャ Inspector と非常によく似ています。
プロパティ | 機能 |
---|---|
Aniso Level | 急角度から見たときのテスクチャの品質を向上します。床や地面のテクスチャに適しています。 |
Filtering Mode | 3D 座標で画面を引き伸ばすときのテクスチャのフィルタリング方法を選択します。 |
Loop | 有効の場合、動画の再生が完了したときにループします。 |
Quality | Ogg Theora 動画ファイルの圧縮。より高い値にすると品質は高くなりますが、ファイルサイズは大きくなります。 |
動画ファイルがプロジェクトに追加されると、自動的にインポートされ、Ogg Theora 形式に変換されます。いったん、ムービーテクスチャをインポートすると、通常の Texture のように、任意の GameObject や Material にアタッチできます。
ゲームの実行開始時に、ムービーテクスチャは自動再生されません。再生を指示するスクリプトを準備する必要があります。
// このコードによって、ムービーテクスチャを再生し始めます
((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 のスクリプトリファレンス を参照してください。
ムービーテクスチャをインポートすると、映像とともにオーディオトラックもインポートされます。このオーディオは、ムービーテクスチャの子 AudioClip として表示されます。
このオーディオを再生するには、他のオーディオクリップのように、オーディオクリップがゲームオブジェクトにアタッチされる必要があります。オーディオクリップをプロジェクトビューから、シーンビューかヒエラルキービューの任意のゲームオブジェクト上へドラッグします。通常、これはムービーに表示されるゲームオブジェクトと同じです。次に、AudioSource.Play() を使ってムービーのオーディオトラックを動画と一緒に再生させます。
ムービーテクスチャは、iOS 上ではサポートされません。代わりに、Handheld.PlayFullScreenMovie を使用してフルスクリーンストリーミング再生が提供されます。
iOS デバイス上で正しく再生できるファイルタイプは Unity の iOS でサポートされるため、拡張子 .mov、.mp4、.mpv、.3gp を持つファイルや、以下の圧縮規格はサポートされます。
サポートされている圧縮規格の詳細については、iPhone SDK を参照してください。MPMoviePlayerController クラスリファレンス を参照してください。
Handheld.PlayFullScreenMovie をコールすると、画面は現在のコンテンツから指定された背景色にフェードします。ムービーが再生できる状態になるまでに少し時間がかかるかもしれませんが、その間プレイヤーは、背景色とムービーが読み込み中である事をユーザーに知らせるインジケーターの表示を継続します。再生が終了すると、画面は元のコンテンツに戻るためにフェードバックします。
すでに説明したとおり、動画ファイルは Apple の埋め込みプレーヤーを使用して再生されます (SDK 3.2 や iPhone OS 3.1.2 およびそれ以前のバージョン)。このプレーヤーにはバグが含まれており、Unity ではミュートに切替えることができません。
Apple ビデオプレーヤーと iPhone SDK は動画の向きを調整する方法を提供していません。一般的なアプローチは、手動で各動画の複製を 2 つ、横向きや縦向きで作成することです。これにより、デバイスの向きがプレイバック前に決定され、正しい動画を選択して再生することができます。
ムービーテクスチャは、Android 上ではサポートされません。代わりに、Handheld.PlayFullScreenMovie を使用してフルスクリーンストリーミング再生が提供されます。
Unity Android は Android でサポートされているファイル形式 (例えば .mp4、.3gp) をサポートしています。また、以下の圧縮形式をサポートしています。
しかしながら、デバイスベンダーによりこのリストのサポート範囲は拡大しており、いくつかの Android 端末では HD ビデオなど、このリストにない形式も再生することができます。
サポートされている圧縮規格の詳細については、Android SDK サポートされているメディア形式 を参照してください。
Handheld.PlayFullScreenMovie をコールすると、画面は現在のコンテンツから指定された背景色にフェードします。ムービーが再生できる状態になるまでに少し時間がかかるかもしれませんが、その間プレイヤーは、背景色とムービーが読み込み中である事をユーザーに知らせるインジケーターの表示を継続します。再生が終了すると、画面は元のコンテンツに戻るためにフェードバックします。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.