概要
EasyMovieTextureとは
UnityのRendereで手軽に動画を再生できるAssets様。こちら
Unityの動画再生機能だとゲーム処理が止まったりするし、ちょっと変わった形状のメッシュ上で再生とかもできない。
そこでこのAssetsでごにょごにょすると、天球動画や、モデルに変わった演出をしたりもできる。
この文書について
そんなEasyMovieTextureを使うにあたって、自分がつまずいたところをあるあるとして取り上げ、解決方法もまとめました。
あるある
パッケージサイズオーバー
Android Asset Packaging Tool failed. See the Console for details.
CommandInvokationFailure: Android Asset Packaging Tool failed.
stderr[
ERROR: Zip flush failed, archive may be hosed
ERROR: packaging of 'raw.ap_' failed
]
上記のようなstderrが出ていたらパッケージサイズオーバーを疑いましょう。
Androidの仕様で、ファイルサイズの合計が2GB以上だとパッケージングできません。
高解像度全天球動画だと、およそ2分くらい。
これ以上はStreamingAssetsに入れられないので、
file://sdcard/movies/movie.mp4
のようにsdcardに入れておきましょう。
動画サイズオーバー
これも上記と似ていますが、厄介なのがエラーが出ないこと。
上記の問題を「それならちょっと動画削ればいいや」でクリアした場合に後追いで発生しやすく、
実機で動かそうとすると動画が再生できない状態になります。
これもサイズオーバーが原因で、
500MB以上のファイルがビルドされないという理由で、
再生先のファイルを見失うらしいです。
PCビルドで試したら映らない
EasyMovieTextureはAndroid,iOS用なので、PCビルドでは表示できません。
これはどうしようもないのですが、ちょうどいいアセットをご存知の方が居たら教えてください。
https://twitter.com/izm さんからアドバイスいただきました!
こんにちはー。デカい動画はシーク時間もかかるのでbuildに含めないの推奨です。また、WindowsPCビルド時(あるいユニティエディタ)はffmpegバックエンドで再生できると思います。パス指定が変とか、動画解像度が高すぎるかも。
— izm (@izm) 2018年5月22日
募集
他にこんな問題が発生したよ、などがあれば教えてください。
こちらの方で確認したりまとめたりしたいなーと思います。