27 Commits

Author SHA1 Message Date
sara schvartzman
6b56394012 Control Rig: Fx FKControlRig AnimNode not showing controls as inputs
#jira UE-159124
#rb Helge.Mathee
#rnx

[CL 31051714 by sara schvartzman in 5.4 branch]
2024-01-31 11:54:47 -05:00
bob tellez
1872bc9b00 [Backout] - CL30999475
[FYI] sara.schvartzman
Original CL Desc
-----------------------------------------------------------------
Control Rig: Fx FKControlRig AnimNode not showing controls as inputs
#jira UE-159124
#rb Helge.Mathee
#rnx

[CL 31040038 by bob tellez in 5.4 branch]
2024-01-31 03:46:31 -05:00
sara schvartzman
bb85dd243d Control Rig: Fx FKControlRig AnimNode not showing controls as inputs
#jira UE-159124
#rb Helge.Mathee
#rnx

[CL 30999560 by sara schvartzman in 5.4 branch]
2024-01-30 06:22:41 -05:00
sara schvartzman
0bcc4b46eb Control Rig: Rename BaseControlRig to ControlRig
#rb helge.mathee
#rnx
#p4v-cherrypick 29228200

[CL 29229266 by sara schvartzman in ue5-main branch]
2023-10-30 07:01:53 -04:00
sara schvartzman
4e28ae6a65 Control Rig: Rename ControlRig to BaseControlRig and created a specialized ControlRig
#jira UE-197304
#rb helge.mathee

[CL 28802754 by sara schvartzman in ue5-main branch]
2023-10-16 12:39:18 -04:00
sara schvartzman
1bd2bff83f Control Rig: Adds ScaleFloat as a control type
#jira UE-193392
#rb helge.mathee

[CL 27789089 by sara schvartzman in ue5-main branch]
2023-09-12 09:14:49 -04:00
helge mathee
58cd171e37 Control Rig: Improve FName FString conversion
#rb sara.schvartzman

[CL 27197375 by helge mathee in ue5-main branch]
2023-08-18 04:03:07 -04:00
thomas sarkanen
57122faf0a AnimNext params in Anim BPs
Added a new anim node: AnimNext Parameters. This injects parameters into the AnimNext stack for all leafwards nodes.

Added a new way of binding to parameters on anim nodes.
- Added indirection to UAnimGraphNode_Base to allow different 'binding types' to be authored by deriving from UAnimGraphNodeBinding
- Added new binding type for AnimNext parameters
- Moved existing binding code (inc UI widget creation) into UAnimGraphNodeBinding_Base
- Binding types can be selected on a per-node or per-anim BP basis

Reworked FParamStack API a little
- Allow for better error checking when pushing/popping stack layers. Pushed layers can now only be subsequently popped by passing in the handle of the pushed layer.
- Standalone layers are now wrapped in an opaque handle rather than returning a unique ptr
- GetParamData APIs now perform more involved type checking, allowing derived object types & type conversions to be implemented

Improved parameter type sandboxing for automated tests. If running low-level type tests while execution was happening on another thread, the editor could crash because of invalidating already-existing types.

Lots of other small fixes to get workflows nicer and end-to-end functionality working

#rb Nicholas.Frechette,Jaime.Cifuentes,Jurre.deBaare

[CL 26455905 by thomas sarkanen in ue5-main branch]
2023-07-19 04:36:34 -04:00
helge mathee
6c0a5e4024 Control Rig: Move Variable mapping widget to RigVMEditor
#rb na
#jira UE-180106

[CL 26119739 by helge mathee in ue5-main branch]
2023-06-20 08:31:10 -04:00
Thomas Sarkanen
502797ca50 Animation Curve Runtime & Editor Improvements
Runtime notes:
- Removes 'smart name' usage across the animation systems.
- Changed curve blending from a uniform array (sized per skeleton) to a sparse array of sorted named values. Blends and other combiners are performed using a dual iteration 'tape merge'.
- Skeleton curves are no longer guaranteed to cover all curve names that can be found at runtime.

Editor notes:
- Curve metadata (flags, bone links etc.) is still present on the skeleton, but can also now exist on a skeletal mesh
- Curve metadata (for morph targets) is still populated on import
- Curves can now be used arbitrarily at runtime

New features:
- New Find/Replace dialog that allows for batch-replacing curves and notifies across all of a project's assets
- New curve debugger tab in various Persona editors that allows for viewing curve values live. This also now allows viewing curves for specific pose watches.
- Pose watches now output curve tracks to the Rewind Debugger

#rb Jurre.deBaare,Nicholas.Frechette,Sara.Schvartzman,Helge.Mathee,Kiaran.Ritchie,Jaime.Cifuentes,Martin.Wilson,Keith.Yerex,Andrean.Franc (and more!)
#jira UE-167776
#jira UE-173716
#jira UE-110407
#preflight 63fc98c81206d91a2bc3ab90
#preflight 63f3ad4f81646f1f24c240c2

[CL 24421496 by Thomas Sarkanen in ue5-main branch]
2023-02-27 07:20:58 -05:00
Helge Mathee
f4e396377c RigVM Refactoring: Move the bulk of the code for Control Rig to RigVMHost.
Left ControlRig::Execute untouched for now - we need to refactor it in a follow up step.

#rb sara.schvartzman
#jira na
#preflight https://horde.devtools.epicgames.com/job/63bbe876c45a2c81e0720f1d

[CL 23626024 by Helge Mathee in ue5-main branch]
2023-01-10 09:05:18 -05:00
bryan sefcik
50d4fac9e0 Updated ../Engine/Plugins/... to inline gen.cpp files
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds

After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds

#jira
#preflight 63336159b20e73a098b7f24f

[CL 22218213 by bryan sefcik in ue5-main branch]
2022-09-28 01:06:15 -04:00
sara schvartzman
42b2218f15 Control Rig: Fix control rig nodes in some AnimBPs having multiple alpha pins
#rb jack.cai
#preflight 6310da2a4d54e9a68348b2a9

[CL 21759790 by sara schvartzman in ue5-main branch]
2022-09-02 11:16:33 -04:00
jaime cifuentes
78267bdbb5 Fix for Control Rig exported vectors not working when used on AnimBP
Pin default value is now generated using FBlueprintEditorUtils::PropertyValueToString, which generates a valid default string for anim graph pin editors

#review @helge.mathee @thomas.sarkanen
#jira UE-147767
#preflight 62b19ba4c400b5ee2f4313bc

[CL 20755422 by jaime cifuentes in ue5-main branch]
2022-06-21 06:47:54 -04:00
Helge Mathee
af4d3cb9e3 Control Rig: Proxy control support
#preflight https://horde.devtools.epicgames.com/job/627b92c10a5817c9d93f5da6
#jira na
#rb sara.schvartzman benoit.gadreau

[CL 20136941 by Helge Mathee in ue5-main branch]
2022-05-11 08:12:21 -04:00
marc audy
cff01aa9fa Added support for native FProperty setters and getters.
Setters and getters are native functions called by FProperties when setting property values with *_InContainer functions.
Setters and getter function names can be manually specified with Setter = Func and Getter = Func keywords inside of UPROEPRTY macro but they will also be automatically parsed if the name is not explicitly specified if the setter or getter function name matches SetPropertyName and GetPropertyName pattern.
The latter behavior can be disabled in UHT's DefaultEngine.ini by setting AutomaticSettersAndGetters=False.
ImportText and ExportTextItem functions have been deprecated and should be replaced with *_InContainer or *_Direct variants.

#rb Steve.Robb
#preflight 6210a377a83e0bcefd03d9e1

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19070318 via CL 19098059 via CL 19104650 via CL 19104661 via CL 19110012
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19147839 by marc audy in ue5-main branch]
2022-02-25 10:39:39 -05:00
benoit gadreau
5bac2b1cb2 fixed crash when validating nodes: template anim BPs don't have any skeleton assigned
#rb thomas.sarkanen
[FYI] kiaran.ritchie
#jira UE-142972
#preflight 6214d1cc9e2201e21406a740
#lockdown tbd

#ROBOMERGE-AUTHOR: benoit.gadreau
#ROBOMERGE-SOURCE: CL 19071009 in //UE5/Release-5.0/... via CL 19090369
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19134147 by benoit gadreau in ue5-main branch]
2022-02-24 19:44:00 -05:00
sara schvartzman
de32c5a8c4 Control Rig: Fix nodes with struct pins in AnimBP that are split can result in duplicate pins.
#jira UE-140633
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/6214d918a97c2c3348c96388

[CL 19071110 by sara schvartzman in ue5-main branch]
2022-02-22 07:41:03 -05:00
sara schvartzman
ce31e514f3 Control Rig: Fix error on python script when adding link to array node iterator with generic type pin
#jira UE-135084
#rb helge.mathee
#preflight 61964778186e9fbb9390eee2

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18236793 in //UE5/Release-5.0/... via CL 18236797
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18236804 by sara schvartzman in ue5-release-engine-test branch]
2021-11-18 08:00:07 -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
benoit gadreau
81d953fc3d revert CL 17665256 to propose a better answer
#rb helge.mathee
#jira UE-113131

#ROBOMERGE-AUTHOR: benoit.gadreau
#ROBOMERGE-SOURCE: CL 17677690 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17677706 by benoit gadreau in ue5-release-engine-test branch]
2021-09-30 10:23:02 -04:00
benoit gadreau
35518af54c Removed 'Output' on ControlRig details panel
#rb helge.mathee
#jira UE-113131

#preflight 61546eb2260f7d0001f4434a

#ROBOMERGE-AUTHOR: benoit.gadreau
#ROBOMERGE-SOURCE: CL 17665256 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17665274 by benoit gadreau in ue5-release-engine-test branch]
2021-09-29 14:27:43 -04:00
sara schvartzman
b6378e607c Control Rig: Newly created public variables on Control Rig cannot be used as input pins on Control Rig AnimNode
#jira UE-126751
#rb helge.mathee
#preflight 614376dc3c7c670001d5b2b3

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 17548981 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17548987 by sara schvartzman in ue5-release-engine-test branch]
2021-09-17 04:19:29 -04:00
helge mathee
0b5288e267 Control Rig: Support controls for input on the AnimNode
#rb sara.schvartzman
#jira UE-83021
#preflight https://horde.devtools.epicgames.com/job/612e302d6256b10001d6a4ef

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

[CL 17368386 by helge mathee in ue5-release-engine-test branch]
2021-08-31 11:03:27 -04:00