Commit Graph

80 Commits

Author SHA1 Message Date
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
thomas sarkanen
a5948bb075 Fixed nested structs that are bound to anim node pins not showing their child values
#rb Jurre.deBaare

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18918369 via CL 18918381 via CL 18918386 via CL 18922642 via CL 18923567
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18923672 by thomas sarkanen in ue5-main branch]
2022-02-09 15:28:13 -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
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
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
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
lucas dower
f5ebc5a62b Node compiler warning for experimental anim node
#jira UE-135338
#rb Thomas.Sarkanen
#preflight 619fb50caa4521f9e7e2f611

#ROBOMERGE-AUTHOR: lucas.dower
#ROBOMERGE-SOURCE: CL 18295417 in //UE5/Release-5.0/... via CL 18295427
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18295434 by lucas dower in ue5-release-engine-test branch]
2021-11-25 12:08:42 -05:00
lucas dower
9d3cb8136b Added 'Pose Watch Manager' and other pose watch improvements
#rb Thomas.Sarkanen
#preflight 619e6b3f0141b3c6da60ae1d
#jira UE-127674

#ROBOMERGE-AUTHOR: lucas.dower
#ROBOMERGE-SOURCE: CL 18285294 in //UE5/Release-5.0/... via CL 18285317
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18285320 by lucas dower in ue5-release-engine-test branch]
2021-11-24 12:24:41 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
thomas sarkanen
05ae5319ec Fixed anim node functions not being called correctly
Due to a previous change, functions were being called on the skeleton class
Also removes an incorrect guard that was preventing binding to native function libraries

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 17502853 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17502870 by thomas sarkanen in ue5-release-engine-test branch]
2021-09-14 06:48:20 -04:00
thomas sarkanen
d708b24c66 Anim node references
Added the abiity to tag and retrieve any anim graph node (similar to how we could reference linked anim graph nodes previously).
Ported linked anim graph nodes to use the new system
Added the ability to reference any anim graph node by tag (via a new custom node, spawnable from the context menu, with the appearance of an actor reference in a level blueprint)
Added tag display and editing in the bottom-right of anim graph nodes
Added new override point to SGraphNodeK2Var to allow for title widget parameters to be overriden by child classes

#jira UE-126286 - Anim node functions: Add anim node references
#rb Jurre.deBaare

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 17472894 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17472913 by thomas sarkanen in ue5-release-engine-test branch]
2021-09-09 11:42:21 -04:00
thomas sarkanen
fc7a8f1fc8 Function library support for member reference customizations and anim node functions
Also fixes missing error when using a non-thread-safe function call on an anim node
Also exposes CreateNodeFunctionsWidget on base anim graph node widget so that non-derived types can use it

#jira UE-124986 - Users Can Change Anim Node Functions to Non-Thread Safe
#rb Jurre.deBaare

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 17437637 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17437664 by thomas sarkanen in ue5-release-engine-test branch]
2021-09-06 08:02:54 -04:00
thomas sarkanen
06f10fad65 Initialize Sematics
Added 'initial update' concept and a seperate tracker via node relevancy subsystem to track it.

#ROBOMERGE-SOURCE: CL 17387331 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17387349 by thomas sarkanen in ue5-release-engine-test branch]
2021-09-01 11:27:56 -04:00
thomas sarkanen
d27ce9ae95 Removing Initialize and Evaluate functions
For now, removing these as their semantics are due to change
Also converting Update and Become Relevant functions to use more-devived-typed update context (less casting required)

#rb Jurre.deBaare

#ROBOMERGE-SOURCE: CL 16771205 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16771237 by thomas sarkanen in ue5-release-engine-test branch]
2021-06-24 08:31:18 -04:00
thomas sarkanen
cc29d26b6f Display whether anim node properties are dynamic in the binding menu
#rb Jurre.deBaare

#ROBOMERGE-SOURCE: CL 16755373 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16755379 by thomas sarkanen in ue5-release-engine-test branch]
2021-06-23 06:38:03 -04:00
thomas sarkanen
da77f53ebc Improvements to anim node function calls
Split 'node context' into an 'evaluation context' and a 'node reference' type and updated regular function signatures when creating node functions. This way we can seperate concerns (and potentially reference anim nodes standalone in the future).
Moved function caller code into function ref file to stop AnimNodeBase bloat.
Fixed functions not being called on root nodes.

#rb Jurre.deBaare

#ROBOMERGE-SOURCE: CL 16727107 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16727111 by thomas sarkanen in ue5-release-engine-test branch]
2021-06-21 07:54:47 -04:00
thomas sarkanen
cecebd0cf8 Anim blueprint encapsulation improvements
Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs
Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant.
Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it.
Functions are displayed on the node if bound, and in the details panel.
Added a new override point to FAnimSubsystemInstance to allow for WT init.
Moved FMemberReference customization into a public header so it can be used on anim node functions.
Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them.
Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly).
Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code.
A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation).
Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied

#rb Jurre.deBaare,Aaron.Cox

#ROBOMERGE-SOURCE: CL 16703644 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16703653 by thomas sarkanen in ue5-release-engine-test branch]
2021-06-17 08:59:23 -04:00
thomas sarkanen
a8fc96c94a Fix asset player names and 'empty' players not appearing in context menus correctly
Also fix asset references persisting when applying a property access binding

#jira UE-116509 - Unable to create empty Blend Space Graphs in the Anim Graph
#rb Jurre.deBaare

#ROBOMERGE-SOURCE: CL 16657336 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16657350 by thomas sarkanen in ue5-release-engine-test branch]
2021-06-14 08:23:08 -04:00
Thomas Sarkanen
56b3ba9d79 Move anim node pin binding to pin context menu
Binding workflow is now common with control rig
Bindings still show up on pins when bound, but the binding combobox is not displayed until bound

#rb Jurre.deBaare

[CL 16465796 by Thomas Sarkanen in ue5-main branch]
2021-05-26 05:12:26 -04:00
thomas sarkanen
eee489983c Fix 'expose as pin' menu item not appearing
Menu extender wasnt being correctly combined with a last minute change to fix a CIS issue.

#rb Jurre.deBaare

#ROBOMERGE-SOURCE: CL 16445600 in //UE5/Main/... via CL 16445628
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Release-Engine-Staging) (v814-16434418)

[CL 16445641 by thomas sarkanen in ue5-release-engine-staging branch]
2021-05-25 05:22:38 -04:00
Thomas Sarkanen
ef85f31796 Fix 'expose as pin' menu item not appearing
Menu extender wasnt being correctly combined with a last minute change to fix a CIS issue.

#rb Jurre.deBaare

[CL 16445600 by Thomas Sarkanen in ue5-main branch]
2021-05-25 05:16:56 -04:00
Thomas Sarkanen
3e92b56aa0 Animation: thread-safe execution and property access improvements
"Call function" anim node:
- Adds the ability to call functions at different points in the anim graph execution (and under different conditions, e.g. when a branch has started blending in). Only thread-safe functions are allowed to be called.
- Adds a thread-safe override point BlueprintThreadSafeUpdateAnimation, called on worker threads for the main instance and for linked instances when they are relevant in the graph (only one call per frame for linked layer instances).

Subsystems:
- Added new override points pre/post event graph(s) (moved override point for worker thread work to around the thread safe update function call).

Improves property access integration:
- Property access now shows (and allows the user to override) the call site of accesses. This is to allow users to see when their property access calls will be made, hopefully making its use less confusing for power users.
- Tweaked UX for property access nodes and dropdowns.
- Anim node pins now have property access bindings in-line on the pin.

Also adds the abilility for the anim graph to opt-in (via a config flag) to more stringent thread safety checks. Disabled by default for now as this requires content fixup.

#jira UE-115745 - Anim Blueprint Encapsulation
#rb Jurre.deBaare

[CL 16434092 by Thomas Sarkanen in ue5-main branch]
2021-05-24 04:47:52 -04:00
Thomas Sarkanen
ddb9eeedd2 Fixed crash deleting, undoing then compiling a blend space graph
#jira UE-115449 - Crash occurs when deleting, undoing, and recompiling a Blend Space Graph node
#rb Jurre.deBaare

[CL 16420036 by Thomas Sarkanen in ue5-main branch]
2021-05-21 12:03:06 -04:00