- debug draw system supports out-of-context draws
- add debug draw timelines to RBAN
- debug draw context cleanup
- new debug draw command system (not used yet)
Debug Draw commands from a thread on which DD is not initialized will fall back to a "global frame" which is a never-ending debug draw frame that we pull debug draw commands from every time we render. Draws to the global frame suffer from the same flicker problems as the old DD backend but it will allow use to remove the old system. The ultimate goal is to give a context to all threads that use DD.
Debug Draw commands can now be more sophisticated and can defer decisions like the color and line thickness, or whether to display at all, to render time. This will be important when we can rewind the debug draw and want to change visualization settings after the commands have been queued. This can also make the draw queue much smaller (e.g, when drawing a mesh we previously had to enqueue a Line command for every edge, and now it is just an implicit object pointer)
[CL 33481131 by chris caulfield in ue5-main branch]
Without this fix, RBAN solver recording is non functional if a Rigid Solver has an id 1 (usual on first recordings of a session), and some visualization flags that color or hides geometry based on if a particles is from server or client does not work.
#jira UE-207855
#tests Tested by doing a recording of out test map for RBAN and playing it back PIE
#rb Benn.Gallagher, cedric.caillaud, Chris.Caulfield
[CL 31772836 by sergio gardeazabal in ue5-main branch]
[FYI] Yoan.StAmant
Original CL Desc
-----------------------------------------------------------------
Removed some headers dependencies on 'FHitResult' and 'FOverlapResult'
#rb Mieszko.Zielinski
[CL 31440421 by alex kahn in ue5-main branch]
Introduced new flag to ignore the RBAN LOD threshold CVAR and force use the one locally set on the anim graph node.
#changelist validated
#virtualized
[CL 31291341 by benjamin jillich in ue5-main branch]
- Created CVD Macros to trace the three scene query types we have in all their modes
- Create CVD data wrappers for scene queries related data
- Added support to debug draw implicit objects in CVD directly (without creating a mesh)
- Created a new Scene Query Data inspector. This is a custom details panel which will show the data for any selected query in the viewport
#jira UE-193754, UE-203452, UE-203451, UE-193755
#rb Benn.Gallagher
[CL 30821555 by sergio gardeazabal in ue5-main branch]
p.RigidBodyNodeServer has been removed in favor of the already existing "p.RigidBodyNode". We are now setting this CVar to false via DedicatedServerEngine.ini.
Refactored CVarEnableRigidBodyNode to use FAutoConsoleVariableRef instead of TAutoConsoleVariable.
Using bools directly instead of calling (CVar.GetValueOnAnyThread())
#tests Tested in editor and cooked builds (Development and Test configs).
#rb andrew.ladenberger, evgenii.babinets
[FYI] richard.smith
[CL 30816069 by carles fernandez in ue5-main branch]
- Created new cvar: "p.RigidBodyNodeServer" which defaults to 0 (disabled).
- Added new STAT_RigidBodyNodeInitTime_SetupSimulation which tracks the more expensive part of calling FAnimNode_RigidBody::InitPhysics.
#rb matt.harris, richard.smith
#tests Tested in editor and cooked builds (Development and Test configs).
[FYI] richard.smith
[CL 29962655 by carles fernandez in ue5-main branch]
A few days ago I've added runtime switching for the override physics assets by exposing the override physics assets as a pin. To align better with the pattern we use with larger objects, I've now changed that to a function library.
#changelist validated
#virtualized
[CL 29127203 by benjamin jillich in ue5-main branch]
[FYI] benjamin.jillich
Original CL Desc
-----------------------------------------------------------------
Runtime switching override physics assets on rigid body animation node using function library
A few days ago I've added runtime switching for the override physics assets by exposing the override physics assets as a pin. To align better with the pattern we use with larger objects, I've now changed that to a function library.
[CL 29110798 by stan hormell in ue5-main branch]
A few days ago I've added runtime switching for the override physics assets by exposing the override physics assets as a pin. To align better with the pattern we use with larger objects, I've now changed that to a function library.
[CL 29083014 by benjamin jillich in ue5-main branch]
Slack thread with more info
https://epicgames.slack.com/archives/C045B1XPYTA/p1698083710894179
NOTE: Tested w/ full Durian run (PIE) in DEV-FN-27 with changes applied locally
[FYI] Chris.Caulfield, Charles.Anderson
#rnx
[CL 29077898 by dan kaufman in ue5-main branch]
* Detects changes on the physics override asset in case it gets piped in as a pin and re-initializes physics along with the bone references.
* Added a new property to control if the physics asset shall be defaulted to the one set to the skeletal mesh in case the overwrite physics asset is not specified. Default is true to ensure behavior doesn't change.
[CL 28873907 by benjamin jillich in ue5-main branch]
- This can be used to force deferred simulation on or off for all RBAN
#rb [at]chris.caulfield
[FYI] [at]Ryan.Wiederkehr, [at]Charles.Anderson
[CL 28268650 by nick brett in ue5-main branch]