Videoリソースのアセットバンドル化について

960 views
Skip to first unread message

Nobumitsu Shikine

unread,
Jul 17, 2017, 8:34:17 PM7/17/17
to 宴ユーザーグループ
宴のバージョン:3.1.4
Unityのバージョン:2017.1

先日はビデオに関してご対応いただきありがとうございました。
続けざまで申し訳ないのですが、ゲーム容量が大きくなるためアセットバンドルを活用しようと思ったところ、ビデオが再生されないようです。エラーメッセージは特に出ないため先日のようなロードエラーなのかもしれません。
Videoリソースのアセットバンドル化については未対応あるいは非対応なのでしょうか?
(Movieの方は対応していなかったと記憶しております)

アセットバンドル化が難しい場合でも、少なくともそれ以外のリソースの容量を削減したいので、ビデオ以外はStreamingAssetあるいはServerから、ビデオリソースはローカルから読み込める、などのようにできたら非常に助かるのですが、可能でしょうか?

お忙しいところ申し訳ありませんがご確認よろしくお願いします。

マッドネスラボ

unread,
Jul 17, 2017, 11:08:11 PM7/17/17
to 宴ユーザーグループ
VideoClipの公式ドキュメントは以下になりますが、アセットバンドルにも対応していると書いています。
>Asset Bundles
>Video Clips can also be read from Asset Bundles. 
>Once imported, these Video Clips can be used by assigning it to the Video Player component’s Video Clip field. 

ですが、Android端末をはじめとして実際には動かないという報告があり

私の環境では以下のようなロードエラーのメッセージが出ました
Empty file: archive:/CAB-bd07b97a51e146b09a4bc5875a281b2d/CAB-bd07b97a51e146b09a4bc5875a281b2d.resource

私の方では対応できませんので、Unity公式にバグ報告や問い合わせてをしていただくしかないかと思います。

>ビデオ以外はStreamingAssetあるいはServerから、ビデオリソースはローカルから読み込める
VideoClipはAssetBundleを使う前提になっています。なので、こういったことは想定した設計になっていません。
MovieのAssetBundleはUnity公式が非対応です。Movieのほうはプラットフォームで置き場所を変えたりするのが必須となり、専用の場所からロードする構造になっているはずです。

もしアプリサイズが問題で、想定するプラットフォームがWindowsなどの場合は
最近Unityに追加された機能で、アプリ全体を圧縮するオプションがありますので、それを試してみると良いかもしれません。
(ただ、私は使ったことがないのでサポートはできません。Unityにお問い合わせください)


マッドネスラボ

unread,
Jul 17, 2017, 11:41:38 PM7/17/17
to 宴ユーザーグループ
アセットバンドルでエラーが出るバグは、Unity公式の不具合報告のフォーラムですでに報告されているようです。
修正を待つしかないかと思います。
https://issuetracker.unity3d.com/issues/windows-video-player-video-clip-is-not-played-when-loading-it-from-an-asset-bundle

マッドネスラボ

unread,
Jul 18, 2017, 12:06:41 AM7/18/17
to utag...@googlegroups.com
>アセットバンドル化が難しい場合でも、少なくともそれ以外のリソースの容量を削減したいので、ビデオ以外はStreamingAssetあるいはServerから、ビデオリソースはローカルから読み込める、などのようにできたら非常に助かるのですが、可能でしょうか?

この方法も拡張すれば可能ではあるのですが、
Videoコマンド(通常の動画表示)は可能でも、Videoオブジェクト(背景やキャラなどの動画表示)はちょっと難しいかもしれません。

どちらを使っているでしょうか?


Nobumitsu Shikine

unread,
Jul 18, 2017, 12:24:51 AM7/18/17
to 宴ユーザーグループ
ご確認ありがとうございます。
なるほど、Unityのバグですとアセットバンドル化は難しそうですね……。

>この方法も拡張すれば可能ではあるのですが、
>Videoコマンド(通常の動画表示)は可能でも、Videoオブジェクト(背景やキャラなどの動画表示)はちょっと難しいかもしれません。

>どちらを使っているでしょうか?

自分は通常のVideoコマンドで使用予定です。拡張していただけると非常にありがたいです。
ご検討よろしくお願いします。

マッドネスラボ

unread,
Jul 18, 2017, 4:35:41 AM7/18/17
to 宴ユーザーグループ
拡張しました。

この拡張はビデオファイルのロードパスなどを強制的に変更する処理を追加します。
以下のように、FileMangerにCustomLoadManagerとAdvVideoLoadPathChangerをAddComponentして、
AdvVideoLoadPathChangerのRootPathに、ビデオをロードするResouces以下からの相対ディレクトリを設定してください。



VideoPathChanger.unitypackage

Nobumitsu Shikine

unread,
Jul 19, 2017, 1:07:49 AM7/19/17
to 宴ユーザーグループ
動作が確認できました。ありがとうございます。
自分のプロジェクトの場合、動画が全体容量の半分くらいを占めてしまっているのでこのようにリソースを分割して置けるのは嬉しいです。
非常に助かりました。
Reply all
Reply to author
Forward
0 new messages