Unityで動画を再生・制御する(iOSは注意)
Unityでの動画再生に関して調査・テストをしました。 iOSとPC版で挙動が異なるので注意が必要です。
動画のループ(繰り返し)再生に関しても調べています。
iOSでの動画再生について
- iOS/AndroidではMovie Textures (ムービーテクスチャ)が使えない
- Movie Texturesを使ったコードが入っているとiOSはビルドもできない。 [Build&Run]が止まってしまう。
代わりにHandheld.PlayFullScreenMovieが使える
Handheld.PlayFullScreenMovieは動画を全画面再生する。(全画面しかできない)
- ただし、Handheld.PlayFullScreenMovieで動画再生中は、Unity本体側の動作が停止してしまう(update()も動かない)
- Movie終了直後に、再度再生すれば動画を連続で再生はできるが、動画終了のトラジジョンが必ずはいるため(プレイヤーフェードアウト->Unity画面->プレイヤーフェードイン)、スムーズな連続再生は無理
普通に再生するには素材をStreamingAssetsに放り込んで
Handheld.PlayFullScreenMovie ("hoge.mov", Color.black, FullScreenMovieControlMode.CancelOnInput);
とすれば、再生自体は簡単です。
普通にエンディングや、起動時に動画などを流す分には問題ないですが、Unity製動画プレイヤーを作るなど、細かい制御は難しそうです。
参考
Unity - スクリプトリファレンス: (Handheld.PlayFullScreenMovie)