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]
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch
#preflight 63635997876630122adeab9f
#rb none
[CL 22958990 by henrik karlsson in ue5-main branch]
Also patched up some other instances of anim nodes where this could occur
#jira UE-166235
#preflight 634406087045f13c96aafa70
#rb Jurre.deBaare
[CL 22431499 by thomas sarkanen in ue5-main branch]
This is a huge change with the focus on improving compile times. It SHOULDN'T have any behavior changes since it is "only" splitting up large files in multiple smaller files and forward declare lots of types. This change is based on compile score results.
Highlights
* Moved lots and lots of types out of FortTypes.h and in to their own files to be able to avoid including FortTypes.h
* Removed FortTypes.h includes from lots of files
* Identified critical paths for includes and cut them off using forward declares or moving types out of big files
* Lots of adding of includes to be able to handle a large UE change that cut off dependencies in lots of engine files (will be submitted separately
Also fixed a bunch of linux non-monolithic build errors just to be able to verify that these changes worked
Reviewed in spirit by Marc Audy :-)
#rb none
#preflight 634350bcc272487ed4323f00
[CL 22427442 by marc audy in ue5-main branch]
Headers are updated to contain any missing #includes needed to compile and #includes are sorted. Nothing is removed.
#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira
#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf
[CL 21181076 by Bryan sefcik in ue5-main branch]
Remove properties and functions so that redirectors can do their job
Add redirector for function paramter
#preflight
#codereview jaime.cifuentes, thomas.sarkanen, john.vanderburg
[CL 21140261 by Marc Audy in ue5-main branch]
Renamed / deprecated master/slave terms at SkinnedMeshComponent and SkeletalMeshComponent (plus all the users)
#jira UE-158645, UE-158525, UE-158532
#review @thomas.sarkanen @john.vanderburg
#preflight 62ced88af324cee189e48d43
#tests Verified the properties transfer correctly after modifying them without the fix and loading the character with the component with the fix applied
#preflight 62cfc490c36afd11ef07c9ab
[CL 21088391 by jaime cifuentes in ue5-main branch]
Adding the old property as deprecated, so the c++ continues compiling for external users of the engine
#jira UE-158645
#review @thomas.sarkanen
#fyi @benn.gallagher
#preflight 62cd75d33f422700272a0e11
[CL 21055821 by jaime cifuentes in ue5-main branch]
Fixed RBAN not re-initialzing correctly on re-instancing - added a special case to reinit the simulation.
Made reinstancing handler virtual so users can add their own fallbacks in the future.
Fixed dynamic AnimGraphLayers not (un)linking correctly after live-recompile, as it was trying to link against the old (replaced) animation instance
#rb Jurre.deBaare
#preflight 628cf1dec97e4beea3a2f541
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 20349883 via CL 20349893 via CL 20349912
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)
[CL 20352477 by thomas sarkanen in ue5-main branch]
- Rigid Body Animation Nodes can now add kinematic objects at runtime to represent any Cloth Colliders defined in a parent skeleton. This can be used to improve the behavior of RBAN alternatives to cloth simulation (often used at lower LODs).
- There is a new Checkbox (called Use External Cloth Collision) on the RBAN node preferences panel to enable this feature .
[REVIEW] [at]Chris.Caulfield, [at]Kriss.Gossart
[FYI] [at]Charles.Anderson
#preflight 62419a0e4271438b073c931a
#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 19525550 via CL 19525561 via CL 19525566
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)
[CL 19532620 by nick brett in ue5-main branch]
- Added Debug Visualization of physics bodies and constraints for RBAN nodes in AnimBP editor
- Added checkboxes to filter debug Visualization to Phat skeleton tree
- Created a new PhysicsAssetRenderSettings class that incorporates the debug rendering and filtering settings from Phat
- Created a new PhysicsAssetRenderUtilities namespace that incorporates the debug rendering and filtering code from Phat
- Synchronize debug visualization of physics bodies and constraints between Phat and AnimBP editors
oringinaly submitted as cl-19242421 but failed on non-unity build so backed out
#rb [at]Chris.Caulfield, [at]Thomas.Sarkanen, [at]Cedric.Caillaud
#preflight 6221e57d335298c3145112d1
#ROBOMERGE-OWNER: nick.brett
#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 19283727 via CL 19295417 via CL 19304854 via CL 19304870
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19347122 by nick brett in ue5-main branch]
- RBAN QPBD and linear joint solver support
- Add 3rd phase to solver loop for projection
- Add settings for QPBD to PhysicsAsset
- Add cvar overrides for all settings
- Hide settings for legacy solver
#rb michael.forot
#jira UE-140717
#preflight
#ROBOMERGE-AUTHOR: chris.caulfield
#ROBOMERGE-SOURCE: CL 19156094 in //UE5/Release-5.0/... via CL 19159784
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19161460 by chris caulfield in ue5-main branch]
- Removed cached USkeletalMeshComponent* from AnimGraphNode as we can now get it from AnimGraphNode_Base
- Add a templatized version of AnimGraphNode_Base::GetDebuggedAnimNode() that allows retrival of derived node types
- Can now calculate chain bones without waiting for the node to be compiled - removed associated warning from UI
- Prevent Copy+Paste of bone names in chain bone array, improving workflow
- Ensure that changing bound bone name does not reset physics body parameters, improving workflow
- Improve chain body UI
[REVIEW] [at]Thomas.Sarkanen
[FYI] [at]Charles.Anderson
#ROBOMERGE-OWNER: nick.brett
#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 18903371 via CL 18903392 via CL 18903410 via CL 18915322 via CL 18915359
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v915-18905420)
[CL 18915362 by nick brett in ue5-main branch]
+ Support for editing most geometric parameters (Joint Offsets, Box Extents, Collision Planes etc) with a TRS Widget.
+ Allow parameters to be edited for each individual physics body in a chain.
+ DEPRECATED some physics body properties, these are now held in an array, one instance per physics body.
+ Changed definition of LocalJointOffset - was joint position relative to physics body, now physics body position relative to joint
+ Fix for apparent bug in position constraints between chain bodies.
+ Added a new AnimDynamics Edit Mode to support new widget features.
+ Changes to details panel layout.
#rb [at]Benn.Gallagher, [at]Thomas.Sarkanen
[FYI] [at]charles.anderson
#preflight 61eec96daa3f15faa57b841f
#ROBOMERGE-OWNER: nick.brett
#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 18721085 via CL 18721089 via CL 18721093 via CL 18724643 via CL 18724991
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18725005 by nick brett in ue5-main branch]