ResourceConveterで一部アセットバンドル化されないファイルが発生する

38 views
Skip to first unread message

Unity太郎

unread,
Sep 6, 2025, 11:38:53 AM (4 days ago) Sep 6
to 宴ユーザーグループ
・宴のバージョン 4.2.1
・UnityのバージョンとOS Unity 6 6000.0.40f1
・Unityの習熟度 そこそこ

お世話になっております。 
表題の通りなのですが、ResourceConverterを使った際に一部アセットバンドル化されないmp3ファイルがあり、ゲームの起動自体は出来ますが進行中にそのファイルが見つけられず途中で止まってしまいます。
エラー.jpg

【発生した流れ】
①ResourceConverterでアセットバンドル化
②Sound/SEフォルダに5つ置いていたoggファイルがアセットバンドル化されていない
③シナリオシートでは.oggと指定していたので拡張子不定などの問題は出ないはず……?と思いつつ、oggであることが原因なのであればmp3にしてみようと考え、全てmp3に変換する
④mp3に変換してもアセットバンドル化されず、ゲーム進行時に↑のエラーが出る(アセットバンドル化の際はコンソールに成功としか出ていない)

【試したこと】
①シナリオシートでmp3に拡張子指定
②一度該当のmp3ファイルとmetaファイルを削除してシナリオファイルを読み込み直し、Unityを再起動した後、再度mp3をフォルダに戻す
③↑の後、アセットバンドルを削除→再生成(やはり該当ファイルは生成されず)

【疑問に思うこと】
生成されないのは全て元oggファイルだったものなのでファイルがおかしいのかと思いましたが、他の(アセットバンドルがちゃんと生成される)mp3との違いは無いように見えました。(プレイヤーを使っての再生は問題なくできる上、Unity上での設定も他のmp3と同じ)

また、ResourceConverterの設定は以下の通りです。
設定.jpg

原因の心当たりや、他に何か試した方がいいことなどありましたら、お手数ですがご教授願えますと幸いです。

マッドネスラボ

unread,
Sep 6, 2025, 1:04:50 PM (4 days ago) Sep 6
to 宴ユーザーグループ
心当たりとしては、以下になります。

  • 出力先のフォルダの勘違い
    • 出力先はプロジェクト外のフォルダも指定できるので、意図した場所と違う場所に書き出してしまう可能性があります。
    • また、出力先のフォルダは対象プラットフォームごとにサブフォルダが作られるため、結果的に似たような構成のフォルダができてしまい混同しがちなため、一応ご確認ください。
  • ファイルパスに日本語が含まれている
    • Unityが正しく処理してくれない可能性が高いため、基本的にはファイル名は半角英数字にしてください。
  • 拡張子以外同じファイルパスがある。
    • アセットバンドルは拡張子の違いを認識できなくなってしまうので、拡張子以外のファイルパスが違うものになるようにしてください。


2025年9月7日日曜日 0:38:53 UTC+9 Unity太郎:

Unity太郎

unread,
Sep 7, 2025, 3:04:26 AM (3 days ago) Sep 7
to 宴ユーザーグループ
返信いただきありがとうございます。

ご指摘いただいた三点は問題ありませんでした。
他のプロジェクトのファイルを指定していないかも確認してみましたがその線は無さそうでした。

次はファイル名を変更して完全に別のファイルとして読み込んでみようと思い、
A.mp3だったものをA_2.mp3に変更し(リネームではなくA.mp3を削除した後にA_2.mp3を読み込み)、
シナリオファイルでもA_2.mp3と指定しました。
ですが今度はLocalエディタでも、A.mp3が見つからないとエラーを吐くようになっていました。

念のためシナリオファイル(.xls)内をA.mp3で探しましたが、やはり記述はしていません。
シナリオファイルを置くフォルダを間違えているわけでもなく、
間違えて別のシナリオファイルを読み込んでいるということもありませんでした。
(テキストだけ変更してみたら、そちらはしっかり反映されました)

Scenario Data Buillderではちゃんとプロジェクト内のファイルを指定し、
AdvEngineStarterでもStrage Typeは確かにLocalになっています。

Scenario Data Builderから手動でインポートしても同じでした。
File Path Check On Import機能も使ってみましたが特に引っかかりません。
ですが実際にエディタ上で起動してみると、
存在しないし指定もしていないはずのA.mp3を探してしまいます。
metaファイルが残っている等もありません。

なぜシナリオファイル内で記述を消したはずのmp3ファイルを探してエラーが出てしまうのでしょうか。
おそらくアセットバンドル化が上手くいかないのも同じ原因だとは思うのですが見当がつかず……。
お手数ですがご助言あれば頂けますと幸いです。
2025年9月7日日曜日 2:04:50 UTC+9 マッドネスラボ:

マッドネスラボ

unread,
Sep 7, 2025, 2:42:26 PM (3 days ago) Sep 7
to 宴ユーザーグループ
すみません。ご報告にあるような状況でエラーがでる心当たりはありません。
シナリオのテキストの変更が反映されているのであれば、そのシナリオファイルは正常にインポートできていて、アセットバンドルからシナリオをロードしているということもなさそうなので、素材のファイル名の変更だけ反映されていないというのはちょっと考えられないです。

考えられるとしたら

  • シナリオがアセットバンドルからロードされている
    • ないとは思うのですが、テキストの変更をしたのちにアセットバンドルを作って、アセットバンドルからシナリオをロードしてしまっている場合、テキストの変更のみ反映されるということはあります。
    • テキストを再度変更して、それをアセットバンドル化せずにすぐにチェックしてゲームプレイに反映するか確認してみてください。(反映されるならやはりシナリオは正常にインポートされ、アセットバンドル以外からロードしていることになります)
  • シナリオファイルが複数に分かれている
    • テキストを変更したファイルと素材ファイル名の指定をしているファイルが違う場合、ファイル名の指定をしているほうのファイルの置き場所が間違っていていたり、ファイル名を変更したときのファイルが別の場所にある場合その変更が反映されていない可能性があります。
    • シナリオファイルを複製したりして同じプロジェクト内の別の場所に似たようなファイルがあったり、プロジェクト外に複製があってそちらを間違って編集したときは、意図したとおりのファイルがロードできてないことになります。
    • File Path Check On Importでチェックしたのであれば、これは考えづらいのですが、 一応見落としがちなパターンとしてお伝えします
  • ローカライズの影響
    • ボイスのローカライズを有効にしていて、ある言語のボイスファイル名の指定を変更したが、ローカライズによって旧ファイル名が残っている可能性があります。
    • >シナリオファイル(.xls)内をA.mp3で探しました とのことなので、これもちょっと考えづらいのですが、一応見落としがちなパターンとしてお伝えします
  • なんらかのカスタム処理の影響
    • 宴の標準ではなく、カスタムコマンドやファイルロード関係のカスタム処理を使用している場合。
    • これも、通常は行っていないはずなので考えづらいのですが、もしなんらかの処理をしているのであれば可能性としてはありえます。
  • 実際に実行するシーンやAdvEngineが間違っている
    • テストしているつもりのシーンと、実際に実行されているシーンが食い違っている可能性があります。
    • バックアップなどのためにシーンファイルを複製したりしていて似たようなシーンがあったり、複数シーンを使った構成にしていてプログラムで自動的にロードするシーンが決まる場合などに起こりえます。
    • 実際に実行されているときのシーンのAdvEngineStarterの設定を見直して、それがServerなどになっていたらアセットバンドル化した時点のシナリオが読み込まれています。
    • 宴の機能にはないですが、Unityではシーンファイル自体もアセットバンドル化することが可能なので、もしアセットバンドル経由でシーンをロードするように独自プログラムしているなら、アセットバンドル化したシーンファイルの設定を見直してみてください。

不具合が解消されないようであれば調査しますので、こちらに不具合が再現可能なプロジェクトと、不具合の再現手順を送信願います。


2025年9月7日日曜日 16:04:26 UTC+9 Unity太郎:

Unity太郎

unread,
Sep 7, 2025, 10:21:18 PM (3 days ago) Sep 7
to 宴ユーザーグループ
ご返信いただきありがとうございます。

ご提示いただいたケースを当たってみてもやはり原因が見つけられず、
先ほどプロジェクトを送付させていただきました。

お手数ですが何卒宜しくお願いいたします。

2025年9月8日月曜日 3:42:26 UTC+9 マッドネスラボ:

マッドネスラボ

unread,
Sep 8, 2025, 1:04:35 AM (2 days ago) Sep 8
to 宴ユーザーグループ
プロジェクトの送信ありがとうございます。

宴のシナリオでは、Scenarioフォルダ以下に、 *.book ,  *.chapter,  *.scenarioなどのアセットがあります。
これらはシナリオをインポートするごとに自動生成されるものもあるのですが、置き場所を移動させたりすると、一部が自動生成されて重複してしまい新旧のデータが混ざってしまってしまいます。
基本的には、Scenarioフォルダ以下から置き場所を変えないようにしてください。

プロジェクト名フォルダの直下は、シーンファイルと、*.projectがあるだけというのが正しいです。
宴のプロジェクトのデフォルトの構成はこちらになります。

現在は、プロジェクト名フォルダの直下にも、*.scenarioと*.chapterが存在するのでこれをいったん削除してください。
フォルダ名直下にある*.scenarioファイルを削除したあと、
・シナリオを一度再インポートする
・AdvEngineStarterの「Scenarios」をチェックしてMissingになっているようなら、Scenarioフォルダ以下の*.scenarioを設定。
ss_1101.png
・プロジェクト名フォルダの直下の   *.project アセットの「Scenarios」をチェックしてMissingになっているようなら、Scenarioフォルダ以下の*.scenarioを設定。
ss_1100.png


これで正常にシナリオがロードされるようになると思います。

2025年9月8日月曜日 11:21:18 UTC+9 Unity太郎:

マッドネスラボ

unread,
Sep 8, 2025, 1:33:09 AM (2 days ago) Sep 8
to 宴ユーザーグループ
上記とは別にいくつかエラーがでていました。
一時的であえて放置しているエラーだったのかもしれませんが、修正する場合は一応以下を参考にしてください。


・Localizeシートに空の行があるとエラーメッセージがでてしまう不具合が宴側にあるようでした。
 already exists in  xxxx.
宴側の修正が必要なので、添付のパッケージファイルを適用してください。
(ダウンロードした添付ファイルの拡張子が *. gzになっている場合は、*.unitypackageに変えてからプロジェクトに適用してください)
この変更は、次回の宴のアップデートにも反映させる予定です。
現状でもエラーメッセージがでるだけで動作には問題はないのですが、添付のパッケージを適用するとエラーメッセージが消えます。

・シングルトンなオブジェクトを二個以上作ろうとしました
SystemUiコンポーネントが、複数個所に設定されてしまっています。
おそらく既存のオブジェクトをコピペし際にSystemUiコンポーネントもコピーしてしまったのかもしれないですが、
SystemUiコンポーネントはアプリ内で1つしか使用しない前提の設計になっていますので、複数使用しないでください。
Projecetウィンドウ内でSystemUiコンポーネントを選択して、右クリック→「Find References in Scene」でそのコンポーネントを使っているシーン内のオブジェクトが表示されます。
この機能を使って、SystemUiコンポーネントを使用しているオブジェクトを見つけて、デフォルトのCanvas-System-Ui以外からは削除するようにしてください。
SystemUiコンポーネントへの参照が必要なのであれば、Canvas-System-Uiオブジェクトにあるものを参照するように設定しなおしてしてください。
(現状該当オブジェクトのOnClickから参照していますが、これは動作していなかったと思います)

・ローカライズキーがないエラー
xxxx is not found in localize key
UguiLocalizeコンポーネントに、対応してないキーが設定されているときに発生します。
エラーメッセージをクリックすると該当のオブジェクトがピックアップされます。
おそらく、ローカライズをしないテキストにUguiLocalizeコンポーネントを使っているようですので、UguiLocalizeコンポーネントを削除してください。
(意図的であれば、指定のキーのローカライズデータを追加してください)


・Fontのロードエラー
Fonts & Materials\xxxxx is not found
これは、フォントファイルのロードができないときに発生するエラーです。
UnityではResourcesフォルダ以下ないアセットは基本的には動的にロードできません。
デフォルトでは、Resourcesフォルダ以下にFonts & Materialsフォルダがあるのですが、これが別の場所に移動してしまっているようです。
以下はサンプルプロジェクトのフォルダ構成ですが、同じようにResourcesフォルダ以下置くようにしてください。
ss_1102.png




2025年9月8日月曜日 14:04:35 UTC+9 マッドネスラボ:
FixLangageData.unitypackage

Unity太郎

unread,
Sep 8, 2025, 11:30:18 AM (2 days ago) Sep 8
to 宴ユーザーグループ
ご返信ありがとうございます。

ご提示いただいた方法で、Localもアセットバンドルも上手く動きました。
とても助かりました。
Scenarioフォルダの中身を消したり復元したりしていたので、
その時に混ざってしまったのだと思います。
お手数おかけいたしました。

また他の箇所のエラーについても解決法をいただきありがとうございます。
修正させていただきました。

お忙しいところご対応ありがとうございました。
2025年9月8日月曜日 14:33:09 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages