AActor::WasRecentlyRendered() and UPrimitiveComponent::GetLastRenderTimeOnScreen() both still trigger when a skeletal mesh (occluded behind a wall) re-enters the player's view frustum after being outside of it.
Both these functions seem to not trigger as expected when the occluded object is within the view frustum for a while or outside of it, so it seems that something that only happens when it re-enters the view.
1. Create an empty project in 5.4 or 5.5.
2. Add "TestCullingObject.h" and "TestCullingObject.cpp" provided by the licensee to the project (see addl info URL).
3. Create a BP character using this class, set a skeletal mesh, and place it behind a wall in such a way that it should be occluded from the player.
4. The character should print to the output log how long since the last time it was rendered.
5. Turn on "r.VisualizeOccludedPrimitives 1" so you can see that where the occluded character is.
6. Turn the camera so that the occluded character is outside of the view. Then turn the camera back towards the character.
7. Note that the last render time starts up for a short while despite the character still being occluded.
I am not able to find world outliner how to enable it?
What method is used to fill polygonal regions when drawing spline mesh at run time?
Undefined sysmbol: typeinfo for AActor when cross-compile linux dedicated server on windows
How does TextureRenderTarget2D get TArray<uint8> type data?
How to achieve HLSL Multiple Render Target in Material blueprints?
How does UMG set overlapping layouts?
How can PaintContext be used as function parameter in OnPaint?
How to properly terminate the DoWork thread function in FAsyncTask?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-232145 in the post.
1 |
Component | UE - Rendering Architecture |
---|---|
Affects Versions | 5.4 |
Target Fix | 5.6 |
Created | Dec 4, 2024 |
---|---|
Updated | Dec 5, 2024 |