読者です 読者をやめる 読者になる 読者になる

littlewing

人間とコンピューターとメディアの接点をデザインするために考えたこと

Unityで動画を再生・制御する(iOSは注意)

unity

photo by Arbron

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製動画プレイヤーを作るなど、細かい制御は難しそうです。

参考