19 Commits

Author SHA1 Message Date
helge mathee
accd260a99 Control Rig: Move Variable mapping widget to RigVMEditor
#rb na
#jira UE-180106

[CL 26285076 by helge mathee in 5.3 branch]
2023-06-28 10:46:14 -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
jack cai
d758600f65 Control Rig: Make sure to set auto-gen default values for custom pins on the Control Rig Anim Node, otherwise when an empty auto-gen default value is used to initialize the actual default value, the empty default value would be considered invalid by the BP compiler.
#jira none
#horde https://horde.devtools.epicgames.com/log/60f6610892cf8900013c9270?issue=302
#rb helge.mathee

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

[CL 16909495 by jack cai in ue5-release-engine-test branch]
2021-07-21 10:41:47 -04:00
helge mathee
eaf67bfba8 Control Rig - Moving out of experimental
#jira UE-114826
#rb na

Changing Control Rig plugin directory from

Engine/Plugins/Experimental/ControlRig

to

Engine/Plugins/Animation/ControlRig

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

[CL 16658329 by helge mathee in ue5-release-engine-test branch]
2021-06-14 10:30:43 -04:00