Commit Graph

237 Commits

Author SHA1 Message Date
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
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
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
nick brett
d1c6023925 [UE] RBAN Add CVar to force the use of the default deferred simulation CVar to determine whether to defer simulation, ignoring any settings in individual nodes.
- 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]
2023-09-27 06:37:32 -04:00
nick brett
829ee6bc87 [UE] Call FActorHandle::SetKinematicTarget instead of FActorHandle::SetWorldTransform in FAnimNode_RigidBody
- Fixes bug (introduced in CL-25315823) where Kinematic bodies included in an RBAN simuation to represent cloth colliders or world space objects fail to collide with other bodies because their bounding boxes are not updated after calls to FActorHandle::SetWorldTransform.

[REVIEW] [at]Chris.Caulfield
#rnx

[CL 26428233 by nick brett in ue5-main branch]
2023-07-18 05:09:25 -04:00
nick brett
88e3641ff5 [UE] RBAN Cloth Colliders fix for missing bodies
- Check for the the presence of collider assets in PreUpdate rather than InitPhysics as the bodies are not always present by the time InitPhysics is called. This mimics the behaviour of the cloth system.

#rb [at]Chris.Caulfield
#rnx

[CL 26288712 by nick brett in ue5-main branch]
2023-06-28 12:34:34 -04:00
frederick lupien
43ce4fa211 Add animstats.h headers to node that use verbose profiling
[REVIEW] [at]thomas.sarkanen
[FYI] Paul.McLaurin, Jose.Villarroel

[CL 26146900 by frederick lupien in ue5-main branch]
2023-06-21 09:46:47 -04:00
frederick lupien
4b5b01668c Add a define to enable verbose animation node profiling tags. Disabled by default. See ANIMNODE_STATS_VERBOSE in AnimStats.h
[REVIEW] [at]thomas.sarkanen

[CL 25815262 by frederick lupien in ue5-main branch]
2023-06-06 10:07:01 -04:00
danny chapman
0e5c4849f3 Build fix - make some functions inline so they can be used elsewhere
#rb trivial
#preflight 647a01e3e75a2263919b0dc5

[CL 25764895 by danny chapman in ue5-main branch]
2023-06-02 12:32:07 -04:00
jose villarroel
bfd65f960c Added twist offset to LegIK node.
This allows animators inject knee motion either manually or with procedural controls within the graph.
[REVIEW] [at]Aaron.Cox, [at]Thomas.Sarkanen
#preflight 6474508d8137a37b85494382

[CL 25683102 by jose villarroel in ue5-main branch]
2023-05-30 14:35:39 -04:00
kirill zorin
b6ee3a6c64 Fix UE_LOG callsites that have format string-related UB
#rb trivial
#preflight 647107780a6634dbb236a0a6

[CL 25651638 by kirill zorin in ue5-main branch]
2023-05-26 15:52:39 -04:00
dan oconnor
0a97a12d8b Mark FSimSpaceSettings as POD, it has a constructor but can be copied with memcpy, this will result in STRUCT_IsPlainOldData being set, which will speed up working with UserDefinedStructs that aggregate this structure. This structure has been embedded heavily in some UserDefinedStruct (ex. RBANParamsStruct). Drawback to this change is that if we add NON-Pod data to this structure we will memcpy it.
#rb chris.caulfield
#jira
#rnx

[CL 25644740 by dan oconnor in ue5-main branch]
2023-05-26 12:11:11 -04:00
chris caulfield
dd1b9b3b14 RBAN - temp workaround and logging for OOB access of BodyAnimData
#rb benn.gallagher

[CL 25592108 by chris caulfield in ue5-main branch]
2023-05-23 18:11:16 -04:00
sergio gardeazabal
d907da5d37 [Chaos VD] Implemented Recording using Trace
- Created a set of macros to trace data about Solver Frames, Solver Steps, and Solver Particles on Rigid Solvers and RBAN solvers
- Added a way to have the context between CVDTrace calls to know which solver started the call on a determined solver step or particle without having to copy that information to every object

#rb benn.gallagher
#jira UE-181330
#preflight 643d9d4c0a5a4b944e348487

[CL 25077633 by sergio gardeazabal in ue5-main branch]
2023-04-17 18:20:36 -04:00
Thomas Sarkanen
502797ca50 Animation Curve Runtime & Editor Improvements
Runtime notes:
- Removes 'smart name' usage across the animation systems.
- Changed curve blending from a uniform array (sized per skeleton) to a sparse array of sorted named values. Blends and other combiners are performed using a dual iteration 'tape merge'.
- Skeleton curves are no longer guaranteed to cover all curve names that can be found at runtime.

Editor notes:
- Curve metadata (flags, bone links etc.) is still present on the skeleton, but can also now exist on a skeletal mesh
- Curve metadata (for morph targets) is still populated on import
- Curves can now be used arbitrarily at runtime

New features:
- New Find/Replace dialog that allows for batch-replacing curves and notifies across all of a project's assets
- New curve debugger tab in various Persona editors that allows for viewing curve values live. This also now allows viewing curves for specific pose watches.
- Pose watches now output curve tracks to the Rewind Debugger

#rb Jurre.deBaare,Nicholas.Frechette,Sara.Schvartzman,Helge.Mathee,Kiaran.Ritchie,Jaime.Cifuentes,Martin.Wilson,Keith.Yerex,Andrean.Franc (and more!)
#jira UE-167776
#jira UE-173716
#jira UE-110407
#preflight 63fc98c81206d91a2bc3ab90
#preflight 63f3ad4f81646f1f24c240c2

[CL 24421496 by Thomas Sarkanen in ue5-main branch]
2023-02-27 07:20:58 -05:00
bob tellez
f27f2bd3d5 #UE Add a little info to a warning to help identify which AnimNode_LookAt has an invalid axis
[CL 23888382 by bob tellez in ue5-main branch]
2023-01-27 14:14:53 -05:00
nick brett
c339d7a6be [UE] Add ECVF_Scalability flag to p.RigidBodyNode and p.ClothPhysics CVars
- This will allow the ''Preview Rendering Level' setting in editor to set the CVars to the values defined in platform device profiles.

#rb [at]Benn.Gallagher, [at]Ben.Woodhouse

[CL 23741214 by nick brett in ue5-main branch]
2023-01-17 13:13:07 -05:00