お世話になっております。
BundledPSOCache を利用する際に、PipelineCaches フォルダ配下に配置する spc ファイルの名称についてご質問があります。
spc ファイルは、アプリケーション名をベースに命名されている認識です。
しかし、開発上の都合により、パッケージのビルド構成(Test / Shipping)ごとにアプリケーション名を変更しています。
そのため、指定する spc ファイルの名称を固定したいと考え、ビルド時のオプションである OverrideShaderLibraryName を使用し、Test と Shipping の両方で同一名称の spc ファイルを利用することを試みました。
結果として、Test と Shipping の両方で同一の spc ファイルを読み込んだ状態でパッケージの作成自体は成功しましたが、
パッケージ起動時に
Failed to find shader map for default material
というエラーが発生し、正常にゲームが起動しませんでした。
上記のように、Test と Shipping のパッケージで同一名称ベースの spc ファイルを利用するためには、どのような設定を行えば実現可能でしょうか。
ご教示いただけますと幸いです。
以上、よろしくお願いいたします。
[Attachment Removed]
お世話になっております。
OverrideShaderLibraryNameに関しては現状活用している事例が確認できておらず、取り急ぎコードによる確認となりますが、DLCとしてChunkを分けた際に利用を想定している機能のようでした。
Bundled PSOに゙関してはCook時にShaderのリストを作成する.shk、ランタイム時に利用状況を記録した.upipelinecache、組み合わせて作成される.spcがありますが、この時.spc に含まれるシェーダ情報が実際のパッケージのシェーダーと一致していない等の状況が考えられます。
今回spcの名前を同一にしたいとのことですが、こちらはOverrideShaderLibraryNameを利用せず同一にしない場合は成功している状況でしょうか?
お手数おかけしますが、ご確認頂けますと幸いです。
追記:
問題切り分けのため、.spcを利用せずにOverrideShaderLibraryNameを利用した場合に問題が発生するか合わせてご確認いただけますと幸いです。
[Attachment Removed]
お世話になっております。
OverrideShaderLibraryNameがこちらの目的とする用途ないということなので、利用はやめようと思います。
>今回spcの名前を同一にしたいとのことですが、こちらは>OverrideShaderLibraryNameを利用せず同一にしない場合は成功している状況でしょうか?
はい、内容同じのspcファイルをTestとShipping用に二つ用意したところ、
TestとShippingで問題なくBundldPSOCacheが使えました。
>問題切り分けのため、.spcを利用せずにOverrideShaderLibraryNameを利用した場>合に問題が発生するか合わせてご確認いただけますと幸いです。
確認してみます。
[Attachment Removed]
ご確認ありがとうございます。
OverrideShaderLibraryNameに関しましては利用しない方向で検討頂けるとのこと承知いたしました。
spcをそれぞれ用意頂くことでBundledPROCacheが利用いただけているとのことですので、
.spcを利用しない&OverrideShaderLibraryNameの利用時の挙動に関してはご確認頂かなくても問題ございません。
お手数おかけしてしまい申し訳ございませんが、よろしくお願いいたします。
[Attachment Removed]