お世話になっております。
テクスチャグループの読み込み優先度を指定できるかどうかについての質問です。
<br/>
https://qiita.com/EGJ-Nori_Shinoyama/items/8b3c2e4e372f05e33476
<br/>
上記サイト内で,「ProjectGroupなどProjectで追加拡張できるTextureGroupを作成した場合など、独自で優先的にストリームされるTextureGroupを制御したい場合、StreamingTexture.cppのソースコード内部を変更することで対応が可能となる」との記載がありました。
<br/>
ただ、UE5.3ではそのようなソースコードが見つかりませんでした。
UE5では、どのようにしてプロジェクトで作成したTextureGroupを優先的にストリームされるようにすればいいでしょうか?
<br/>
以上になります。
よろしくおねがいいたします。
<br/>
Epicの人ではないですが、ちょうど先日調べたところだったので情報共有しておきます。
5.4で調べた話ですが、TEXTUREGROUPの設定にHighPriorityLoadというのが増えていて、設定ファイルの変更だけで対応できるようになっているようです。(ソースコードを見る限りは5.3でも大丈夫そう)
実際に試すところまでしていませんが、
TextureLODGroups=(Group=TEXTUREGROUP_World, … ,HighPriorityLoad=True, …)
という感じでTEXTUREGROUPの設定に加えると有効になりそうな感じでした。
エンジンのソースコード的には、Engine\Source\Runtime\Engine\Private\Streaming\StreamingManagerTexture.cpp(167)辺りの処理です。
UE4の頃はこんな設定が無く、この辺のコードを自分で書き換える必要があったんですが、今は設定が増えて便利になったようです。
情報共有ありがとうございます。
※EPSではクローズ1か月後に情報公開が行われるため宛名の記述は控えさせて頂いております。
本件は共有いただいておりますように"HighPriorityLoad"フラグにて設定可能です。
エンジン実装内にてTEXTUREGROUP_Character, TEXTUREGROUP_CharacterSpecular, TEXTUREGROUP_CharacterNormalMapにこちらのフラグが設定されているため、必要に応じて追加頂けますと幸いです。
よろしくお願いいたします。
ご回答ありがとうございます。
ご案内いただいた HighPriorityLoad の設定で読み込み優先度の設定が可能とのこと理解いたしました。
また、関連するソースコード箇所(StreamingManagerTexture.cpp)も教えていただき、大変参考になりました。
実際の挙動については、こちらでも近日中に設定を適用し、動作確認を行ってみようと思います。