Commit Graph

549 Commits

Author SHA1 Message Date
andrew davidson cfa7a3090e Merge fix for missing expliict cast.
#preflight none

#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18754410 in //UE5/Release-Engine-Staging/... via CL 18757426
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18758422 by andrew davidson in ue5-main branch]
2022-01-27 14:34:22 -05:00
koray hagen 45ef78af92 Anim node Function/Blueprint Function in-use deletion warnings and expanded Find References implementation
#jira none
#rb aaron.cox,thomas.sarkanen
#preflight 61f24626e12e3fcf9b330ce5

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

[CL 18757328 by koray hagen in ue5-main branch]
2022-01-27 14:11:31 -05:00
lucas dower 9a50e490bd Support for disabling pose watching on specific anim nodes
#jira UE-139373
#rb thomas.sarkanen
#preflight 61f2add8c0033b39f8bb1997

[CL 18753518 by lucas dower in ue5-main branch]
2022-01-27 10:11:25 -05:00
thomas sarkanen 8f861ede89 Fix asserts/warnings around child anim BPs
Ensures that cleaned-up sparse class data structs are moved out of the package they are in, thus not requiring a GC step to ensure that batch compilation works correctly.
Without this, it is possible for the NewObject call in FAnimBlueprintCompilerContext::RecreateSparseClassData to attempt to re-use (as it has a fixed name) the currently-existing (but not referenced) object rather than creating a new one.
This also reverts some other changes that were made to try to address related issues.

#rb Phillip.Kavan
#preflight 61f18be3f8088a3d298e6419

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18740288 via CL 18740350 via CL 18740373 via CL 18742029 via CL 18742887
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18743237 by thomas sarkanen in ue5-main branch]
2022-01-26 15:37:52 -05:00
nick brett 01e66fcf2b [FIX] Attempt to fix build error on UnrealEditor NonUnity Win64 (Strict, VS2019) by adding missing include.
#rmx

#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 18721437 via CL 18721476 via CL 18721480 via CL 18724677 via CL 18725105
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18725125 by nick brett in ue5-main branch]
2022-01-25 13:02:31 -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
bob tellez db60633312 #UE Fix for crash overwriting NewAnimBlueprintConstants object during load
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 18720630 via CL 18720632 via CL 18720638 via CL 18720809 via CL 18720870
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18720871 by bob tellez in ue5-main branch]
2022-01-25 04:38:05 -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
thomas sarkanen 5c8350df5a Property access UI fixes
Nested property validity filter (checking to see if an entry in the menu has compatible sub-menus) is now performed for functions.
Prevented UObject types from being bound to unrelated types via the menu (now does a IsChildOf check - previously you could attempt to bind a UAnimSequence to an AActor!)
Display 'display name' for script properties/functions (also use ScriptName for native ones if available).

#jira UE-126829 - Property Access with UStructs has different "compatibility" visibility than other types
#jira UE-125003 - Unable to Access Transform on Character Member via Property Access
#jira UE-132802 - Property Access shows mangled names for Blueprint-defined struct members
#rb Jurre.deBaare
#preflight 61ea79adf1438e8a4b1c71d2

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18687397 in //UE5/Release-5.0/... via CL 18687402 via CL 18687407
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)

[CL 18687412 by thomas sarkanen in ue5-main branch]
2022-01-21 04:24:19 -05:00
thomas sarkanen 8871edd2dc Fixed being unable to override aim offset assets
A previous refactor missed this file

#jira UE-139706 - Cannot override aim offset assets in child anim BPs
#rb Jurre.deBaare
#preflight 61e9697bcc5594132e0c667c

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18673866 in //UE5/Release-5.0/... via CL 18674084 via CL 18674138
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)

[CL 18679653 by thomas sarkanen in ue5-main branch]
2022-01-20 15:18:46 -05:00
jose villarroel 24709eb4ce Allow child anim blueprints to be used as the default instance class in LinkedAnimLayers
#jira none
#preflight 61e6fde97f0c4b5aad6a30a7

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

[CL 18644672 by jose villarroel in ue5-main branch]
2022-01-18 14:18:19 -05:00
lucas dower f271f57081 Fixed pose watches not removing on graph deletion
#jira UE-137344
#rb Thomas.Sarkanen
#preflight 61e6899caa460e33b1b49093

#ROBOMERGE-AUTHOR: lucas.dower
#ROBOMERGE-SOURCE: CL 18637622 in //UE5/Release-5.0/... via CL 18637640 via CL 18637722
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637735 by lucas dower in ue5-main branch]
2022-01-18 04:59:27 -05:00
thomas sarkanen df0b8f03c8 Fixed linked anim layers showing up multiple times in context menu
Iterate over interfaces rather than ALL anim BPs, as well as accounting for self layers, then filter appropriately according to current BP

#jira UE-133258 - Linked anim layers show up multiple times in the context menu
#rb Jurre.deBaare
#preflight 61e56fa4a2616066f68089e5

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18632528 in //UE5/Release-5.0/... via CL 18632536 via CL 18632539
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18636706 by thomas sarkanen in ue5-main branch]
2022-01-18 00:02:46 -05:00
thomas sarkanen df319ec38b Added anim composites to anim BP context menu
#jira UE-134132 - Include Anim Composites & Pose Assets in the anim graph r-click action menu
#rb Jurre.deBaare
#preflight 61e021441e7c2075bb209039

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18595806 in //UE5/Release-5.0/... via CL 18595810 via CL 18595821
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18596762 by thomas sarkanen in ue5-main branch]
2022-01-13 10:13:43 -05:00
thomas sarkanen 3407473a29 Fixed double clicking an aim offset with exposed pins not working
#jira UE-136085 - Double clicking an Aim Offset in the anim graph doesn't always open the asset
#rb Jurre.deBaare
#preflight 61dff35fa11335e9c4aa3205

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18594772 in //UE5/Release-5.0/... via CL 18594791 via CL 18594799
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18596608 by thomas sarkanen in ue5-main branch]
2022-01-13 10:05:25 -05:00
benjamin fox 57011b5f32 Disable Pin Value Inspection Tooltips for Pose Pins in AnimBPs
#jira UE-136038
#rb ben.hoffman
#preflight 61d4b8bad17842e547ab783d

#ROBOMERGE-AUTHOR: benjamin.fox
#ROBOMERGE-SOURCE: CL 18512890 in //UE5/Release-5.0/... via CL 18512942
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18512978 by benjamin fox in ue5-release-engine-test branch]
2022-01-04 16:30:54 -05:00
bob tellez f3eba66899 #UE4 Add more info to an assert
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 18476381 via CL 18477404 via CL 18477469 via CL 18477893 via CL 18481497
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18481767 by bob tellez in ue5-release-engine-test branch]
2021-12-16 19:52:49 -05:00
thomas sarkanen 9e7c191aca Anim blueprint editor modes now display transform toolbar
Deferred to the active editor modes when determining transform toolbar visibility
Updated existing edit modes to correctly update their available widget modes

#rb Nick.Brett
#preflight 61ba0002590498f205a19fb2

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18467669 via CL 18467672 via CL 18467673 via CL 18468089 via CL 18468141
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18468161 by thomas sarkanen in ue5-release-engine-test branch]
2021-12-15 12:17:40 -05:00
Marc Audy f512a6d461 Eliminate whitespace only differences between Release-Engine-Staging and Release-Engine-Test
#fyi Aurel.Cordonnier

[CL 18448630 by Marc Audy in ue5-release-engine-test branch]
2021-12-13 15:59:48 -05:00
thomas sarkanen fff3c9141f Added anim node data flags to reduce overhead introduced by anim node functions
Now we dont have to fetch the data out of folded constants to determine that it is invalid

#jira UE-130378 - Optimization pass on new UE5 anim node features
#rb Martin.Wilson
#preflight 61b758e3fc57089133808370

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18443507 in //UE5/Release-5.0/... via CL 18445092
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18445251 by thomas sarkanen in ue5-release-engine-test branch]
2021-12-13 13:34:59 -05:00
thomas sarkanen a60e7b2a87 Fix crash when selecting property access chains involving structs with native break functions
#jira UE-137312 - check() when accessing x/y/z of a vector with Property Access
#rb Martin.Wilson
#preflight 61b758b3c65177a674657e6d

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18443429 in //UE5/Release-5.0/... via CL 18445080
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18445245 by thomas sarkanen in ue5-release-engine-test branch]
2021-12-13 13:34:38 -05:00
nick brett fe791cd3bd [FIX] Crash when exiting anim graph editor - removeing call to ExitMode from Exit function as Exit is called from within the owning objects dtor but ExitMode calls v-function on owning object which is unsafe
[REVIEW] [at]thomas.sarkanen
#preflight 61a8afeaca183f8de48a8107

#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 18351791 via CL 18353515 via CL 18353622 via CL 18434113 via CL 18435455
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18436220 by nick brett in ue5-release-engine-test branch]
2021-12-10 18:30:52 -05:00
nick brett 357c0294c4 Reinstate code that was removed in CL-18260151 to fix a bad merge
[REVIEW] [at]thomas.sarkanen

#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 18351800 via CL 18351804 via CL 18434108 via CL 18435450
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18435929 by nick brett in ue5-release-engine-test branch]
2021-12-10 18:10:49 -05:00
thomas sarkanen b506cf5727 Fix crash selecting linked anim layer class
Prevent filtering and selection of anim blueprints with incompatible/null skeletons, depending on context.
Additionally prevents non-template anim blueprints from being selected within templates and adds compile-time checks for compatibilty

#jira UE-136082 - Crash when clicking on the dropdown next to Instance Class in the Linked Anim Layer node settings
#rb Keith.Yerex
#preflight 61b092e55c61dba07bf10535

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

[CL 18404555 by thomas sarkanen in ue5-release-engine-test branch]
2021-12-08 06:43:16 -05:00
thomas sarkanen 45b9547da9 Anim blueprints now dont participate in unneeded dependency compilation
This is because dependent BPs at least need a re-link to pick up layout changes in their property access 'bytecode'.

The also requires some re-arranging of where sparse class data gets created, linked and patched.
 - Previously sparse class data was patched in the linker at the point of re-creation, but this meant that stale TRASHCLASS sparse class data was could still be in the struct hierarchy when we are BATCH compiling (when batch compiling, each compilation phase is performed in turn for all compiling/dependent BPs). This change removes the sparse class data when the class is sanitized prior to full compilation and stashes it for later patching. This ensures that sparse class data doesnt get linked into stale structs that can then get GCed later, invalidating property links.
- Sparse class data is now linked when its containing ABPGC is linked. It also ensures that the hierarchy of sparse class data mirrors that of the ABPGC. The 'mirror hierarchy' is currently only an invariant of anim blueprints.

Part of this change alters the behavior of UClass::SetSparseClassDataStruct when passed a NULL value. This will now ensure that subclasses are left in a valid state when this occurs. Previously if sparse class data was nulled-out, subclasses would be left pointing at a potentially stale struct in the case where the struct was being regenerated.

Added an override point for subsystems to participate in Link() and made sure property access offsets are patched there, to catch cases where dependent BPs get either a bytecode-only or link-only compile

#jira UE-136035 - Unexpected results from Property Access after changing Lyra animbp
#jira UE-130965 - Multiple crashes involving anim BP sparse class data, inheritance & GC
#rb Phillip.Kavan,Matt.Peters
#preflight 61af321f470c73a8c4933ff5

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

[CL 18393353 by thomas sarkanen in ue5-release-engine-test branch]
2021-12-07 05:32:13 -05:00