Commit Graph

286 Commits

Author SHA1 Message Date
nick brett
7e1eab27e2 [UE][Feature] RBAN Better Debug Draw - 2nd attempt
- 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]
2022-03-10 21:02:14 -05:00
thomas sarkanen
08e64562f8 Tweak tooltip for sequence player's SetStartPosition to better explain its functionality
#jira UE-143513
#rb jose.villarroel
#preflight 621cd5d36e5ae46efd45320c
#lockdown laurent.delayen

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 19173153 in //UE5/Release-5.0/... via CL 19173711
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19173874 by thomas sarkanen in ue5-main branch]
2022-02-28 10:29:40 -05:00
chris caulfield
1010d59e0e Chaos
- 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]
2022-02-25 19:46:14 -05:00
timothy daoust
52dcf64db7 Fixed a bug where mirroring did not work correctly with some skeletons
Cherry pick with additional edits from CL18522092, CL18536881, CL18811714

#jira UE-142948
#lockdown laurent.delayan
#rb thomas.sarkanen
#preflight 620ede42c91bcd0017afa29a


#ROBOMERGE-AUTHOR: timothy.daoust
#ROBOMERGE-SOURCE: CL 19090710 via CL 19092613 via CL 19094336 via CL 19095814 via CL 19101845
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19141885 by timothy daoust in ue5-main branch]
2022-02-25 00:11:37 -05:00
daniel holden
12b9a1a1b1 Allowed BlendSpaceEvaluators to run with non-zero playrate so that they can generate notifies during playback.
#jira UE-130693
#rb thomas.sarkanen, jurre.debaare, timothy.daoust
#preflight 6214e672a97c2c3348cbda4c

[CL 19071787 by daniel holden in ue5-main branch]
2022-02-22 08:43:10 -05:00
bob tellez
5a80ba8267 [Backout] - CL18693092
[FYI] Keith.Yerex
Original CL Desc
-----------------------------------------------------------------
Lazy initialization of AnimNode_RigidBody - Memory saving optimization.
#rb Thomas.Sarkanen
#preflight 61eb033745399e9f503e5260

#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 18963605 in //UE5/Release-5.0/... via CL 18964066 via CL 18965010
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18965045 by bob tellez in ue5-main branch]
2022-02-11 18:24:10 -05:00
jose villarroel
ede003b2ad Fix for non-unity compile error in AnimationStateMachineLibrary
#rb trivial
#jira none
#preflight skip
#rnx

[CL 18930125 by jose villarroel in ue5-main branch]
2022-02-09 20:29:20 -05:00
jose villarroel
e754e08fca Added anim state machine set/get state functions
#jira none
#review-18894918 @Thomas.Sarkanen, @Koray.Hagen, @Aaron.Cox
#preflight 620410a4a65a8a2846254b62

[CL 18922530 by jose villarroel in ue5-main branch]
2022-02-09 14:20:43 -05:00
nick brett
6d3811e933 [UE][FIX] Bug fixes for Anim Dynamics UI
- 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]
2022-02-09 05:02:00 -05:00
thomas sarkanen
d6b88f4848 Fixed sequence player node blueprint exposure issues
Fixed GetSequence to be a pure node, making it possible to use it in the anim graph
Additionally, marked UAnimSequenceBase::GetPlayLength BlueprintThreadSafe

#jira UE-141278 - Sequence player functions cannot be used in anim graphs
#rb jurre.debaare
#preflight 61fd117b0a43b689e16e7119
#lockdown cristina.riveron, laurent.delayen

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18861940 in //UE5/Release-5.0/... via CL 18862127 via CL 18862344
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18862356 by thomas sarkanen in ue5-main branch]
2022-02-04 08:48:06 -05:00
braeden shosa
0c98b61785 Added blend profile support to inertialization requests.
Shelf CL: 15427774 and 15596715 from The Coalition by David Bollo
#preflight 61f8acbbf657e25a590a7c3d
#rb john.vanderburg,thomas.sarkanen,timothy.daoust

[CL 18811714 by braeden shosa in ue5-main branch]
2022-02-01 13:38:41 -05:00
nick brett
d4e53c951f [UE][FEATURE] AnimDynamics node TRS Widget and Chain Body Editing:
+ 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]
2022-01-25 12:55:32 -05:00
marc audy
6553e6cd0a Remove as much C++ deprecation as possible up to 4.17 (along with a few scattered removals from beyond)
#preflight 61eefc77ba69a4fdb220bf23

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18712765 in //UE5/Release-5.0/... via CL 18712784 via CL 18713147
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18713191 by marc audy in ue5-main branch]
2022-01-24 15:07:48 -05:00
koray hagen
dd1c74b2a5 Fixed getter functions for the Sequence Player Library
#jira UE-139605
#rb aaron.cox, jose.villarroel
#preflight 61eb0e9145399e9f5040aa29

#ROBOMERGE-AUTHOR: koray.hagen
#ROBOMERGE-SOURCE: CL 18694698 in //UE5/Release-5.0/... via CL 18694793 via CL 18694807
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18694835 by koray hagen in ue5-main branch]
2022-01-21 15:23:50 -05:00
keith yerex
7492685d04 Lazy initialization of AnimNode_RigidBody - Memory saving optimization.
#rb Thomas.Sarkanen
#preflight 61eb033745399e9f503e5260

#ROBOMERGE-AUTHOR: keith.yerex
#ROBOMERGE-SOURCE: CL 18693092 in //UE5/Release-5.0/... via CL 18693260 via CL 18693425
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18693564 by keith yerex in ue5-main branch]
2022-01-21 14:26:07 -05:00
jose villarroel
7eba34b59b Added anim node function getter for accumulated time/current sequence for sequence evaluators
#jira none
[REVIEW] [at]Aaron.Cox
#preflight 61e83faeda16597a1f3b9ddc

#ROBOMERGE-AUTHOR: jose.villarroel
#ROBOMERGE-SOURCE: CL 18659388 in //UE5/Release-5.0/... via CL 18659401 via CL 18659426
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18659451 by jose villarroel in ue5-main branch]
2022-01-19 11:53:03 -05:00
jurre debaare
838e928cde Validate Attribute bone index typing / mapping
#jira UE-132455

Animaton attribute index remapping:
- Introduced FMeshAttributeContainer which stores the attributes according to FMeshPoseIndex
- Added FinalizeAttributeEvaluationResults to SkeletalMeshComponent - which remaps the evaluated compact-pose indexed attributes to mesh-indices
- Added CopyFrom template for different bone index types
- Updated CopyPoseFromMesh
   * Added SourceBoneToTarget as attributes are mapped from source to target vs target to source for Bones
- Ensure that attributes are only inserted during evaluation if its bone index is present in the required bones
- Added testing for remapping attributes
    * Remapping between LODs with removed bones
    * Remapping between Skeletal meshes with different skeleton hierarchies

#rb Thomas.Sarkanen
#preflight 61e8067e843acf1b2428c2be

#ROBOMERGE-OWNER: jurre.debaare
#ROBOMERGE-AUTHOR: jurre.debaare
#ROBOMERGE-SOURCE: CL 18657038 in //UE5/Release-5.0/... via CL 18657062 via CL 18657063
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18657069 by jurre debaare in ue5-main branch]
2022-01-19 07:57:49 -05:00
max chen
1751c784a3 Anim: Remove AnimInstance->Montage_Stop which is stopping all montages when unbinding from Sequencer. Sequencer already stores and restores the specific montages that need to be stopped in FStopPlayingMontageTokenProducer.
#jira UE-88590
#preflight 61e05bcb787db720a90db685
#rb thomas.sarkanen

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 18647408 in //UE5/Release-5.0/... via CL 18649164 via CL 18649569
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18649886 by max chen in ue5-main branch]
2022-01-18 17:43:49 -05:00
evgenii babinets
5d54245736 Fixed a long stall that could occur with the deferred RBAN task. Migrated the task to the new UE5 task interface that will retract it from the task queue and run it inline if it doesn't get started by the time it's flushed next frame.
#rb jordan.cristiano, andriy.tylychko
[FYI] mickael.gilabert

#ROBOMERGE-AUTHOR: evgenii.babinets
#ROBOMERGE-SOURCE: CL 18600953 via CL 18600969 via CL 18600995 via CL 18601010 via CL 18613991 via CL 18614074 via CL 18614110
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18614126 by evgenii babinets in ue5-main branch]
2022-01-13 22:32:50 -05:00
thomas sarkanen
d21fdd3d20 Consolidate SoA into AoS in FAnimNode_BlendListBase
Savings ~1.4 MB peak in synthetic tests

#jira UE-138731 - Investigate memory savings in anim graph nodes
#rb Jurre.deBaare

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18595351 via CL 18595366 via CL 18595374 via CL 18595692 via CL 18595725 via CL 18595751
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18596746 by thomas sarkanen in ue5-main branch]
2022-01-13 10:12:43 -05:00
koray hagen
80e9665606 #jira UE-131665
#rb none
#trivial

Animation Warping tooltip/comment quality improvements and minor code cleanup.

#ROBOMERGE-AUTHOR: koray.hagen
#ROBOMERGE-SOURCE: CL 18377514 in //UE5/Release-5.0/... via CL 18377515
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18377516 by koray hagen in ue5-release-engine-test branch]
2021-12-04 17:35:53 -05:00
jose villarroel
55b6426a6b Fix for blend masks not being added when adding input pins to the layered blend per bone node
#jira none
[at]Thomas.Sarkanen, [at]Koray.Hagen
#preflight 619e5a1eaa4521f9e7bb2592
#rnx

#ROBOMERGE-AUTHOR: jose.villarroel
#ROBOMERGE-SOURCE: CL 18326403 in //UE5/Release-5.0/... via CL 18326431
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18326457 by jose villarroel in ue5-release-engine-test branch]
2021-11-30 12:15:54 -05:00
jose villarroel
95dd318cea Added Animation State Machine Library for common helper functions used in anim node functions:
*Added IsStateBlendingIn/Out to library
#jira none
[at]Thomas.Sarkanen, [at]Koray.Hagen
#preflight 619eab6488439fccfeab1615

#ROBOMERGE-AUTHOR: jose.villarroel
#ROBOMERGE-SOURCE: CL 18326309 in //UE5/Release-5.0/... via CL 18326338
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18326360 by jose villarroel in ue5-release-engine-test branch]
2021-11-30 12:12:43 -05:00
danny chapman
d837949fa7 Fix for: Single Frame blendspace doesn't sample root motion
#rb thomas.sarkanen
#jira UE-120375
#preflight 619e4307aa4521f9e7b871dd

#ROBOMERGE-AUTHOR: danny.chapman
#ROBOMERGE-SOURCE: CL 18283189 in //UE5/Release-5.0/... via CL 18283206
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18283213 by danny chapman in ue5-release-engine-test branch]
2021-11-24 09:32:29 -05:00
thomas sarkanen
5ac0e390f5 Blend lists now only re-initialize children when weight is zero
This prevents re-initialization pops if a non-active child still has weight, and is consistent with state machines

#jira UE-96588 - GitHub 7249 : Added an option to AnimNode_BlendListByBase to Allow for Re-initialization only when active child's weight is zero
#7249
#preflight 619d1e3e974d7d57269201f0
#rb Jurre.deBaare

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18280962 in //UE5/Release-5.0/... via CL 18280997
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18281042 by thomas sarkanen in ue5-release-engine-test branch]
2021-11-24 05:02:25 -05:00