お世話になっております。
FEngineShowFlags::SetRendering()にfalseを引数にして特定のシーンで描画を止めておりましたが、UE5.6ではこちらの関数で描画を止めると以下アサートエラーが発生してしまいます。
GEngine->GameViewport->bDisableWorldRenderingで代用することもできるのですが、UE5.6からはFEngineShowFlags::SetRendering()が廃止されたということでしょうか?
`Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 1067]
Array index out of bounds: 0 into an array of size 0`
再現手順
// 以下コードの実行で再現できます const auto& ViewportClient = GEngine->GameViewport; if (::IsValid(ViewportClient.Get())) { if (auto EngineShowFlags = ViewportClient->GetEngineShowFlags()) { EngineShowFlags->SetRendering(bNewEnabled); } }
お世話になっております。
ご報告頂きありがとうございます。この現象を"showflag.rendering 0"で再現することができましたらので以下の番号で不具合として登録いたしました。
RenderingのShowflagが廃止になったわけではないためUE5.6後からの不具合であると推測されますが、修正までは恐れ入りますがDisableWorldRendering等で回避して頂けますと幸いです。
承知しました。
しばらくはDisableWorldRenderingで回避しておきたいと思います。
ご回答いただきありがとうございました。