* 14.3 MB: Reserve space in CurvePoseSourceIndices members in AnimNode_BoneMask and AnimNode_LayeredBoneBlend based on the exact amount used. Many nodes don't use this feature, so the array ends up empty, but in other cases, less than 5% of the reserve is used.
* 3.4 MB: Eliminate Reserve for QueuedTransitionEvents member in AnimNode_StateMachine. Reserve is wasteful because it's deleted anyway by a Shrink call in FAnimNode_StateMachine::Update_AnyThread for active state machines, and only ends up sticking around for inactive state machines, where it's irrelevant, so it doesn't affect performance to take this out.
#rnx
#rb thomas.sarkanen jose.villarroel
[CL 29601012 by jason hoerner in ue5-main branch]
This allows custom anim blueprints to either:
a) Allow Sequencer to swap out their anim instance during playback (swapping it back after). This is similar to checking the 'Force Custom Mode' checkbox on a Skeletal Animation track section, but at the blueprint level without having to change anything in Sequencer.
b) Provide a list of valid Anim Slot names for the Sequencer Skeletal Animation track section UI to choose from. When provided by a blueprint with the interface, a valid slot will always be chosen when creating new skeletal animation sections.
These features will allow UEFN devs to better manage Sequencer takeover of pawn animation without the user having to edit a SlotName in the Sequencer UI. To use these features will require them editing their anim blueprints to use this interface.
I had considered as part of this change hiding the Slot Name UI entirely in UEFN when there is no choice to be made, but decided against it for less UEFN-specific code.
[REVIEW] [at]ue-sequencer [at]guillaume.guay
#jira UE-199199, UE-199200
#rb Max.Chen
[CL 29316313 by david bromberg in ue5-main branch]
- Added p.AnimDynamics.ComponentAppliedLinearAccClampOverride CVar to override the clamp on the component linear acceleration applied to AnimDynamics simulation for all assets.
- Added p.AnimDynamics.GravityScale Cvar to set a gravity scale that is applied to the default gravity and the gravity override vector.
- Prior to this change, when the sim space was set to World, the gravity override vector was only applied on init. Now it will now be applied every update with any sim space setting.
[REVIEW] [at]Benn.Gallagher
[FYI] [at]Charles.Anderson
[CL 29146184 by nick brett 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]
[FYI] Nicholas.Frechette
Original CL Desc
-----------------------------------------------------------------
Explicitly disable inlining with clang of specific functions to save stack space in hot recursive function
#rb John.Huelin
[CL 28992766 by stan hormell 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]
Prior to this change, a single entry would needlessly multiply a pose with weight 1
#rb Jurre.deBaare,Timothy.Daoust
[CL 28662081 by thomas sarkanen in ue5-main branch]
Implemented ISPC versions of missing layered blend per bone hot paths.
Tweaked inlining and added ptr RESTRICT to various curve operations
Removed array copy in control rig node curve outputs
Increased inline alloc size of cached poses to reduce allocations
Removed refpose copies and allocations with linked anim graphs (these can be skipped now the bone containers are all centralized)
#rb Nicholas.Frechette,Jurre.deBaare
#tests Juno, NoMcp
[CL 28371404 by thomas sarkanen 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]
- Trace selected animation for ChooserPlayer node.
- Make debug bubbles in rewind debugger show all traced node properties, except Name.
- Make sequence player nodes display the current sequence in the debug bubble.
- Trace assets, such as Sequence or BlendSpace with the Key: Asset, and enable display of the Asset column in the AnimGraph rewind debugger details.
#rb Samuele.Rigamonti
[CL 28214450 by keith yerex in ue5-main branch]
#feature sequence evaluator node now exposes ExplicitFrame option, which internally combined with the set AnimSequence is used to generate a time-value (on which the behaviour is based)
#rb Thomas.Sarkanen
[CL 27627946 by jurre debaare in ue5-main branch]