Commit Graph

534 Commits

Author SHA1 Message Date
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
helge mathee
645e1c7469 Control Rig: Support modifybone to work without a preview mesh
#rb sara.schvartzman
#jira UE-141661
#preflight https://horde.devtools.epicgames.com/job/62027c51bf1c496911476ca7
#lockdown juan.canada

#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18902011 in //UE5/Release-5.0/... via CL 18902196 via CL 18902397
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v912-18901109)

[CL 18902410 by helge mathee in ue5-main branch]
2022-02-08 10:30:46 -05:00
jose villarroel
3f650197bf Fix "additional meshes" in persona preview not animating
#rb Aaron.Cox, Jurre.DeBaare
#preflight 61fd7b9fe65336d14550704c

#ROBOMERGE-AUTHOR: jose.villarroel
#ROBOMERGE-SOURCE: CL 18872694 via CL 18872736 via CL 18872771 via CL 18875005 via CL 18875491
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18875508 by jose villarroel in ue5-main branch]
2022-02-04 17:43:49 -05:00
dave jones2
ed1b4ed6a5 UE-140327 - Remove ENABLE_BLUEPRINT_REAL_NUMBERS usage
The original ENABLE_BLUEPRINT_REAL_NUMBERS macro was strictly meant for AB testing in the Dev-LWC. Currently, disabling it won't work, and would likely lead to broken behavior. Its presence might incorrectly indicate to licensees that this is an option that can be toggled safely.

#rb marc.audy
#jira UE-140327
#preflight 61fc6449dc0b3ecbecb6f381
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: dave.jones2
#ROBOMERGE-SOURCE: CL 18864654 in //UE5/Release-5.0/... via CL 18864683 via CL 18864993
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18865002 by dave jones2 in ue5-main branch]
2022-02-04 11:54:52 -05:00
thomas sarkanen
ff1e91c927 Fix issues with child anim BP compilation ordering & sparse class data fixup
This partially ports a fix from CL 18740288, but improves on when and how sparse class data gets fixed up.
This allows this fix to cover more parent->child load/compile orderings (the previous fix only worked if they were all compiled in the same batch, which isnt always guaranteed.

Original CL desc:

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.

#jira FORT-444463
#jira UE-140565
#jira UE-140530
#lockdown laurent.delayen
#rb jurre.debaare
#preflight 61fbddc53b22793ca35ebfc0

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

[CL 18843294 by thomas sarkanen in ue5-main branch]
2022-02-03 10:36:00 -05:00
nick brett
b33f552b57 [UE][FIX] Static analysis warning on missing null check
#jira UE-140660
#rmx
#rb [at]Thomas.Sarkanen
#preflight 61fa66e61d7ca8ed2d76906e

#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 18825263 via CL 18825278 via CL 18825306 via CL 18835789 via CL 18836335
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18836421 by nick brett in ue5-main branch]
2022-02-02 18:24:37 -05:00
jurre debaare
92fa622bf6 Variable watch within state machines is broken
- Ensure that any folded AnimNode property gets remapped correctly for pin-to-property map in FBlueprintDebugData
- Ensure  pin value watching for folded properties retrieves the correct value
- Const-ifying some code paths around blueprint pin watching
#jira UE-139995
#preflight 61fa624ddb42673a60239ce1
#rb Thomas.Sarkanen
#lockdown Cristina.Riveron

#ROBOMERGE-AUTHOR: jurre.debaare
#ROBOMERGE-SOURCE: CL 18824229 in //UE5/Release-5.0/... via CL 18825883 via CL 18826298
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18826349 by jurre debaare in ue5-main branch]
2022-02-02 09:54:14 -05:00
dave jones2
c8574d3b74 Merging //UE5/Dev-LargeWorldCoordinates [at] 18802167 to //UE5/Release-5.0
Blueprint real number support.

This change deprecates the use the of "float" and "double" types in Blueprints in favor of a new "real". By default, "real" is back by a double precision floating point number. However, it can be single precision if the number is a native float property or function parameter. This distinction won't be visible to the Blueprint user: in both instances, they'll be represented by "real" pin types. During deserialization, we'll automatically convert Blueprint pin types to use real/doubles, unless they're used to represent native code (including delegate signatures).

One consequence of this change is that we need to perform implicit casts between single and double precision real numbers. During Blueprint compilation, the compiler will detect points in the graph for when either a widening or narrowing conversion needs to occur. Subsequently, the script bytecode will contain a new cast instruction that performs the conversion. This also works on container types, but each entry in the container will have to be converted. This can introduce unwanted overhead for large containers that are frequently passed between Blueprint and native code.

The scope of this change affects Blueprints used by Gameplay, Animation, Control Rig, and UMG.

#rb marc.audy (serialization changes)
#jira UE-116484
#preflight 61f8bdd5a2514ba12ff7bdfc

#ROBOMERGE-AUTHOR: dave.jones2
#ROBOMERGE-SOURCE: CL 18809077 in //UE5/Release-5.0/... via CL 18809455 via CL 18822548
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18823569 by dave jones2 in ue5-main branch]
2022-02-02 05:50:50 -05:00
lucas dower
27ea093828 Fix autowire for non-pose pins on anim nodes
#jira UE-140058
#rb thomas.sarkanen
#preflight 61f7dd8541414fb013c2e14c

[CL 18788618 by lucas dower in ue5-main branch]
2022-01-31 08:27:58 -05:00
jose villarroel
9746cc9977 [Backout] - CL18751910
[FYI] Thomas.Sarkanen
Original CL Desc
-----------------------------------------------------------------
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.

#jira FORT-444463
#rb Phillip.Kavan
#preflight 61f18be3f8088a3d298e6419
#p4v-cherrypick 18740288

#ROBOMERGE-AUTHOR: jose.villarroel
#ROBOMERGE-SOURCE: CL 18773105 in //UE5/Release-5.0/... via CL 18773189 via CL 18773693
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18773704 by jose villarroel in ue5-main branch]
2022-01-28 12:39:05 -05:00
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