89 Commits

Author SHA1 Message Date
roland munguia
7dc3bb57a2 State machine entry, exit, fully blended in, and fully blended out anim node functions.
Additional changes:
- Added warnings for users using anim state events since we want to push towards using the state node functions.
- Added support for anim nodes to show any bound functions and not have them hardcoded.
- Added base context type for FAnimExecutionContext.
- Now users can specify the string for the default binding name of a function member reference in a BP by using the "DefaultBindingName" metadata tag. This will give the functionality to avoid having the default binding name be "NewFunction" and instead use the input string from the metadata tag.

#jira UE-184572
#rb Thomas.Sarkanen, jose.villarroel, aaron.cox
#preflight 646e6a836c2a2532b1f91efd

[CL 25631664 by roland munguia in ue5-main branch]
2023-05-25 18:06:26 -04:00
thomas sarkanen
1f669663eb Fix stack corruption caused by calling an anim node function with an altered signature
Adds compiler checks to alert content creators to fix their content
Adds runtime parameter size checks to ensure we dont call functions with an incorrect sized set of parameters

#rb Nicholas.Frechette
#preflight 640200923206d45d2018d411

[CL 24499844 by thomas sarkanen in ue5-main branch]
2023-03-03 11:26:14 -05:00
joe pribele
ed7566be21 removing PRAGMA_DISABLE_OPTIMIZATION
#preflight 6372b7d60c74adb48b4a847f

[CL 23127658 by joe pribele in ue5-main branch]
2022-11-14 17:04:03 -05:00
halfdan ingvarsson
c8022afdca Curve Expression: Fix the verify button to work properly. We now search the BP's hierarchy to find the node. The warning is also added to the node itself rather than just the log.
[FYI] dae.han

[CL 23042483 by halfdan ingvarsson in ue5-main branch]
2022-11-08 17:50:51 -05:00
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -04:00
lucas dower
6bce8973c5 Fixed crash when attempting to draw pose-watched anim nodes which use custom edit modes such as 'Two Bone IK' and 'Transform (Modify) Bones'.
* Only nodes which have been setup to have drawable elements should be drawn when pose watched, such as 'RigidBody'.
* Anim nodes with custom edit modes should only draw their widgets when explicitly selected or override IAnimNodeEditMode::SupportsPoseWatch

#jira 165766
#rb thomas.sarkanen
#preflight 63514130047f3570adddd035

[CL 22655755 by lucas dower in ue5-main branch]
2022-10-20 10:42:00 -04:00
frederick lupien
63fd57b194 Add a context menu option to unexpose all unused pins in LinkedAnimGraph and LinkedAnimLayer nodes in animation blueprints
This is to be able to quickly hide all pins on linked graph nodes based on animation instance that expose a lot of properties

[REVIEW] [at]Thomas.Sarkanen
#tests PIE
#jira UE-156233
[FYI] [at]Paul.McLaurin

[CL 21908860 by frederick lupien in ue5-main branch]
2022-09-08 20:30:49 -04:00
Thomas Sarkanen
cda7eef50c Fix crash customizing an anim node that no longer has a valid blueprint
#jira UE-152535
#rb Jurre.deBaare
#preflight 62f0d013bc175ec68c992de1

[CL 21266739 by Thomas Sarkanen in ue5-main branch]
2022-08-08 05:03:16 -04:00
nick brett
c675819ca1 [UE][FEATURE] Extend Pose Watches to support control of other aspects of animation node debug draw.
- Pose watches can now contain elements which represent different asspects of an anim nodes debug draw (i.e. bodies and constraints in RBAN)
- Elements can be used to enable anim node debug draw even when a node is not selected, acting in the same way as the previous pose watches
- The previous Pose watch behavior is now provided by an element within a pose watch
- RBAN nodes now make use of Pose Watch Elements
- Moved skeleton draw parameter UPROPERTIES from PoseWatch to specialised PoseWatchPoseElement class

#rb [at]Thomas.Sarkanen, [at]Lucas.Dower
#preflight 62d6a3e43c3df323901fca27

#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 21174786 via CL 21175779 via CL 21181135
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21192394 by nick brett in ue5-main branch]
2022-07-20 18:29:30 -04:00
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