RuntimeVirtualTexture に関して

お世話になっております。

現在UE5.5.4 を利用しております。(UE5.6に今後更新予定です)

RuntimeVirtualTexture (RVT)に関して

書き込まれる対象のメッシュがNaniteでは正常に動作しないようでしたので、

通常描画されるモデルはNaniteを利用して、

RVTを参照するだけとして、RVTに書き込まれるメッシュは非Naniteのものにして2重にしています。

この非Naniteのモデルがメモリに常駐しつづけているのですが、それを解決したいです。

①もし、RVTの生成処理が そのレベルを開いてプレイ開始直後に一度だけされるのであれば、その生成完了をまってから描画対象の非NaniteメッシュをもつActorをシーンから取り除きたいです。

生成完了を検知することは可能でしょうか?

②あるいは、エディタ上でRVTの生成を一度実行して通常のVTアセットとして保存することは可能でしょうか? それが可能であれば事前にエディタ上で作成してそちらを描画でつかわれるNaniteメッシュで参照したいと思います。

もし②ができるのであれば、一時的にもよけいなメモリを消費しなくなるので①より助かります。

また、①と②以外にも別の問題解決手段がありましたら教えていただけると助かります。

よろしくお願いいたします。

もし、いずれも仕組み上難しいようでしたら

非Naniteモデルのリダクションの余地はありそうですので、そちらで消費メモリを減らしてみようと思います。

お世話になっております。

RVTに関しましては、ランタイムのビューに応じてページ単位で必要な内容をVirtual Textureに描画し利用する仕組みから、カメラの移動や回転に応じて再度メッシュが必要となる可能性があるため、状況に応じたアンロードは難しいかと思われます。結論として①と②の案は、どちらとも実現が難しい状況です。

代案としましては、Landscapeのサイズや物量にもよるかと思いますが、RVTではなく通常のVTとして予めLandscapeに適用させたいテクスチャを独自で作成し利用する、または既に検討いただいているように非Naniteメッシュの軽量化を検討頂く形になるかと思います。

お手数おかけしますが、よろしくお願いいたします。

ご回答ありがとうございます。

メッシュをリダクションするか通常のVTを検討してみます。