Commit Graph

577 Commits

Author SHA1 Message Date
kiaran ritchie
959c72b0a4 Adding "soft IK" to LegIK anim node.
#rb jose.villarroel
#JIRA UE-201320

[CL 30164446 by kiaran ritchie in ue5-main branch]
2023-12-06 14:46:33 -05:00
euan carmichael
9bb02ce1b1 Fix bug with CurveSource node where it would affect curves not present in the curve source asset
#jira UE-201417
#rb Thomas.Sarkanen

[CL 30161738 by euan carmichael in ue5-main branch]
2023-12-06 13:43:11 -05:00
benjamin jillich
7d8e68533b Add possibility to expose the LOD thresholds as pins
for the following nodes:
Control Rig
Rig Logic
Skeletal Control Base (RBAN)

The plan is to use this on AnimBPs that are shared across different characters presets so that we can granularily control compute on the LOD levels for each.


#rb andrean.franc, danny.chapman, Helge.Mathee, henry.falconer

[CL 30038397 by benjamin jillich in ue5-main branch]
2023-12-01 08:18:10 -05:00
carles fernandez
1662680b8d Disabled RBAN (Rigid Body Animation Nodes) on the server.
- 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]
2023-11-28 12:14:00 -05:00
zenoengine
cc74a7cb05 PR #9749: Fix in randomplayer wrong swap code when min,max playrate need swap.
#ushell-cherrypick of 22988047 by UnrealBot
#jira UE-169258
#rb Thomas.Sarkanen

[CL 29838783 by zenoengine in ue5-main branch]
2023-11-20 06:28:04 -05:00
jason hoerner
61ec1be384 Animation Memory: 17.7 MB savings in array slack.
* 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]
2023-11-09 12:34:49 -05:00
roland munguia
b892ab41ed Make Two Way Blend's "Always Update Children" pinnable to allow gameplay state to modify it.
#rnx
#rb jose.villarroel

[CL 29442879 by roland munguia in ue5-main branch]
2023-11-03 22:24:09 -04:00
david bromberg
aa2abbfe24 Sequencer- Add a new 'SequencerAnimationOverride' interface for blueprint Anim Instances.
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]
2023-11-01 10:25:28 -04:00
mickael gilabert
c3df45d9f7 Fix OOB when accessing SkeletonBoneIndexToBodyIndex array with a negative index
[REVIEW] [at]nicholas.frechette
#rnx

[CL 29277618 by mickael gilabert in ue5-main branch]
2023-10-31 11:43:27 -04:00
nick brett
10231b385e [UE] AnimDynamics CVars to override the clamp on the component linear acceleration and set a global gravity scale
- 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]
2023-10-26 15:30:36 -04:00
benjamin jillich
3ddf102b31 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.


#changelist validated

#virtualized

[CL 29127203 by benjamin jillich in ue5-main branch]
2023-10-26 05:08:54 -04:00
stan hormell
8c1ae5f6e9 [Backout] - CL29082994 - CIS Error
[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]
2023-10-25 19:44:03 -04:00
benjamin jillich
21abf94281 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 29083014 by benjamin jillich in ue5-main branch]
2023-10-25 05:49:26 -04:00
dan kaufman
2ab516c284 Add new physics controls for use with RigidBody AnimNodes
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]
2023-10-25 02:58:29 -04:00
john vanderburg
a18729897b Crash fix in the layered bone blend node, basically undoing previous optimizations.
#trivial
#rb thomas.sarkanen
#swarm none

[CL 29041783 by john vanderburg in ue5-main branch]
2023-10-24 06:20:27 -04:00
nicholas frechette
5e0c9d5dcb Add attribute check to avoid compilation failure on earlier clang versions
[REVIEW] [at]john.huelin
#rb John.Huelin

[CL 29001100 by nicholas frechette in ue5-main branch]
2023-10-21 14:25:06 -04:00
stan hormell
1e442b863a [Backout] - CL28988733
[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]
2023-10-20 20:27:37 -04:00
nicholas frechette
0abb642366 Explicitly disable inlining with clang of specific functions to save stack space in hot recursive function
#rb John.Huelin

[CL 28992750 by nicholas frechette in ue5-main branch]
2023-10-20 20:27:27 -04:00
benjamin jillich
7df2820f11 RBAN Static analysis fix
[CL 28884867 by benjamin jillich in ue5-main branch]
2023-10-18 14:33:06 -04:00
jose villarroel
8804fb854e Allow updating both children of the Two Way Blend even when not relevant
[REVIEW] [at]Thomas.Sarkanen, [at]Samuele.Rigamonti

[CL 28881682 by jose villarroel in ue5-main branch]
2023-10-18 12:59:14 -04:00
benjamin jillich
04ce605fee RBAN can now expose the override physics asset as a pin
* 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]
2023-10-18 07:42:40 -04:00
thomas sarkanen
a5b5993cd8 Fix blend list optimization to correctly check weight of single active pose
#rb timothy.daoust

[CL 28707477 by thomas sarkanen in ue5-main branch]
2023-10-12 08:56:32 -04:00
thomas sarkanen
0bdfe150f6 Optimize common case of single full-weight entry in a blend list
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]
2023-10-11 09:42:44 -04:00
roland munguia
8b941e9232 Fixed UBlendSpaces not syncing when using inertialization. Added support for properly syncing UBlendSpaces when using "Transition Leader" and "Transition Follower" sync group roles.
[RN] minor
#rb Aaron.Cox, Jose.Villarroel, Thomas.Sarkanen
[FYI] Steven.Dickinson

[CL 28545193 by roland munguia in ue5-main branch]
2023-10-06 12:41:45 -04:00
thomas sarkanen
38c05e8619 Anim graph optimizations
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]
2023-10-02 05:23:05 -04:00