AssetBundleを作成してダウンロードした際、chapter.assetの中身がnullになる。

593 views
Skip to first unread message

exz....@gmail.com

unread,
Jun 2, 2017, 1:47:52 AM6/2/17
to 宴ユーザーグループ

宴のバージョン:3.0.8
Unityのバージョン:5.5.0f3
UnityのConsoleウィンドウのエラーメッセージ

表題の通り、製作途中のプロジェクトで、
AssetBundleを作成してダウンロードした際、
chapter.assetの中身がnullになってしまいます。

「Local」設定では上手く再生できていますが、
「Server」に切り替えると上記の現象となります。

chapter.assetがnullになるには、
どのような原因が考えられますでしょうか。

マッドネスラボ

unread,
Jun 2, 2017, 2:42:13 AM6/2/17
to 宴ユーザーグループ
.chapter.assetの中身自体がnullになっているのであれば、単純にアセットの保存などをミスっているのだと思います。

.scenario.assetにリンクされている、.chapter.assetがnullになっているのであれば、
アセットバンドル作成時に、「章ごとにダウンロードする場合」の設定をしてしまっているのだと思います。
章別にロードする場合は、以下の手順に従ってください。そうでないなら、作成時にチェックを外してください。

宴のアセットバンドル作成ツールを使っていないなら、
通常のダウンロード(章ごとに)
 .scenario.asset内に.chapter.assetはリンクされている。
 逆に、アセットバンドル作成時に.chapter.asset個々でアセットバンドルは作成しない。


章ごとにダウンロードする場合
 .scenario.assetを使わずに.chapter.asset個別にロードする
 アセットバンドル作成時に.chapter.asset個々にアセットバンドルを作成する。

となるようにしてください。

exz....@gmail.com

unread,
Jun 2, 2017, 4:26:16 AM6/2/17
to 宴ユーザーグループ
ご回答ありがとうございます。

チャプターの方ですが、やはり中身がnullになってしまっているようです。

①下記ページの手順で章ごとのデータを作成
http://madnesslabo.net/utage/?page_id=375#i-4

②下記ページの通りにアセットバンドルを作成し、AdvEngineStarterを設定する。ただし、読み込みタイミングをこちらで制御するためChapterNamesは未設定。
http://madnesslabo.net/utage/?page_id=9381#i-6

③出力されたアセットバンドルをサーバーにアップロードし、SampleChapterTitle.csを参考にチャプターデータを読み込む

以上の手順で実行したところ、LoadChapterAsync内でダウンロード自体は成功したのですが、AdvChapterDataのDataListがnullになります

exz....@gmail.com

unread,
Jun 2, 2017, 4:33:30 AM6/2/17
to 宴ユーザーグループ
心当たりとしまして、

サンプルプロジェクトでは、プロジェクトの直下にシナリオファイルを配置しているようですが、
別のディレクトリにチャプターごとのシナリオファイルを作成し、
それをビルドしてチャプターごとのアセットバンドルを生成、
ダウンロードして読み込むことは可能でしょうか?

マッドネスラボ

unread,
Jun 2, 2017, 3:38:57 PM6/2/17
to 宴ユーザーグループ
ディレクトリの置き場所は関係ないです。
問題があるとしたら、作成自体に失敗する(作成されない)と思いますので。

元のアセットに問題がなく、ロードできても、中身がnullになるのだとしたら
プラットフォームの指定が間違っているのかもしれません。
・プラットフォームごとに作成が必要
・Unityエディタ上での実行でも、WindowsのUnityならWindows用のアセットバンドル。MacならMacOS用のアセットバンドルが必要
・ランタイムでの実行は、そのプラットフォームのアセットバンドルが必要。AndroidならAndroid用のアセットバンドル。IOSならIOS用のアセットバンドル
という点を注意してみてください。
面倒かもしれませんが、これはUnity自体の基本仕様ですので、そうせざるを得ません。

SampleChapterTitle.cs内でも
//ロード自体はこれだけ
//ただし、URLは
//のように、Windowsなどのプラットフォーム別にフォルダわけなどを終えた絶対URLが必要
と書いている部分です。
実際には、実行するプラットフォームによってアドレスを変えるプログラム必要になります。






マッドネスラボ

unread,
Jun 2, 2017, 3:54:18 PM6/2/17
to 宴ユーザーグループ
または、過去に壊れたアセットバンドルを作成しているなら、そのせいかもしれません。
単純にサーバーに置いてあるファイルが古いままであったりとか、
または、ローカルキャッシュの古いほうをロードしている可能性もあります。

Unityのマニフェストファイルをロードすることでバージョン管理をしていますので、
サーバー上のマニフェストファイルが古いままだと、キャッシュの方をロードしてしまいます。


1、サーバー上のファイルが最新であることを確認
2、キャッシュを消す
 エディタ上であれば
 Tools>Delete Output Files>Cache でアセットバンドルのキャッシュをすべて消せますので、それでキャッシュを消す
3、ロードするURLの指定でプラットフォームが間違っていないかチェック


上記を確認してみてください。

exz....@gmail.com

unread,
Jul 3, 2017, 10:17:14 PM7/3/17
to 宴ユーザーグループ
プラットフォームの件については現在Windowsのエディタのみで動作確認しており、
Windows用のアセットバンドルが生成されている所まで確認できております。それをサーバーにアップし、WindowsをURLに含めたものを設定しておりますがやはりchapter.DataListがnullになってしまいます。 キャッシュデータの削除も行ってみましたが変わらず、といった状況です。 1点気になったことがありまして、コンバートをするとchapterのアセットバンドルとbookのアセットバンドル等が生成されますが、
chapterをロードした時にbookのアセットバンドルがロードされておらず、それが原因でnullになっているようにも見えました。 このようなアセットバンドルの依存関係が解決されない原因としては何が考えられますでしょうか。

マッドネスラボ

unread,
Jul 4, 2017, 2:28:20 AM7/4/17
to utag...@googlegroups.com
すみません。
nullになると言っているのは具体的にどの部分なのでしょうか。

1.シナリオ全体のアセット(.scenario.asset) 
 AdvImportScenarios.cs内のchapters

2.各章のアセット(.chapter.asset) の中身
 AdvChapterData.cs内のdataList

3.その他、具体的にソースコードの名前でお願いします。


マッドネスラボ

unread,
Jul 4, 2017, 2:57:26 AM7/4/17
to 宴ユーザーグループ
すみません。
こちらの部分で原因がわかりました。
1点気になったことがありまして、コンバートをするとchapterのアセットバンドルとbookのアセットバンドル等が生成されますが、chapterをロードした時にbookのアセットバンドルがロードされておらず、それが原因でnullになっているようにも見えました。

bookのアセットバンドルが作成されてしまうこと自体がおかしいです。
リソースコンバーターに不具合がありましたので、修正しました。
しばらくお待ちください

マッドネスラボ

unread,
Jul 4, 2017, 3:21:04 AM7/4/17
to 宴ユーザーグループ
アセットバンドル作成時に、アセットバンドル内のリンク先にあるものもアセットバンドルとして作成するとリンクが切れてしまうのですが、それがバグの原因でした。
(リソースコンバーター内でchapterアセットと一緒にbookのアセットバンドルを作ってしまっていて、chapterアセット内のbookへの参照が切れてしまっていました)


リソースコンバーターを修正しましたので、添付のパッケージファイルを適用してみてください。
(念のためにアセットバンドルのキャッシュを消してください)

章別にアセットバンドルを作成するときに作成されるのは、
下記のようにchapterアセットと画像などのリソースファイルのみになり、bookやscenariosのアセットは作成されないようになります。



BugFixChapterConvert.unitypackage
Reply all
Reply to author
Forward
0 new messages