Commit Graph

59 Commits

Author SHA1 Message Date
timothy daoust
13583ddc3c Added the ability to drag layers to create a linked anim layer node
#jira UE-81805

#rb thomas.sarkanen

#ROBOMERGE-SOURCE: CL 16594838 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16594859 by timothy daoust in ue5-release-engine-test branch]
2021-06-08 17:58:38 -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
589c8f6ad0 Linked anim graphs/layers now appear in the "my blueprint" outline and context menu
Titles & icons tweaked to emphasise the linked content, not the type of the node.
Also fixes bounding box init issue when spawning new input pose nodes in linked anim graphs
Added the ability to override the tag checked when vierufying skeleton compatibility by FAssetData. This allows anim BPs to use the functionality as they have a "TargetSkeleton" tag vs. other assets with a "Skeleton" tag.

#rb Jurre.deBaare

[CL 16434383 by Thomas Sarkanen in ue5-main branch]
2021-05-24 06:55:32 -04:00
Thomas Sarkanen
16eee0289d Anim node data/compiler refactor
Per-node constant data is now held on a generated struct as part of sparse class data.
Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class.

The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements.

Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data.
Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants.
Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link.
Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future.

Moved property access into Engine module & removed event support from it - this was never used.
Reworked property access compilation API a little - construction/lifetime was a bit confusing previously.

Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few.

Patched the following nodes to use the new data approach:

- Asset players (sequences, blendspaces, aim offsets)
- Blend lists
- Ref poses
- Roots

#rb Jurre.deBaare, Martin.Wilson, Keith.Yerex

[CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
Thomas Sarkanen
5364bab827 Backing out CL 16071104
[CL 16071592 by Thomas Sarkanen in ue5-main branch]
2021-04-21 08:01:44 -04:00
Thomas Sarkanen
0ddbfb9894 Anim node data/compiler refactor
Per-node constant data is now held on a generated struct as part of sparse class data.
Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class.

The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements.

Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data.
Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants.
Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link.
Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future.

Moved property access into Engine module & removed event support from it - this was never used.
Includes a thread-safety fix for 4.26 that hasnt made it over to 5.0 yet.
Reworked property access compilation API a little - construction/lifetime was a bit confusing previously.

Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few.

Patched the following nodes to use the new data approach:

- Asset players (sequences, blendspaces, aim offsets)
- Blend lists
- Ref poses
- Roots

#rb Jurre.deBaare, Martin.Wilson, Keith.Yerex

[CL 16071104 by Thomas Sarkanen in ue5-main branch]
2021-04-21 07:09:28 -04:00
john vanderburg
398515a9d3 Initial support for skeletal remapping, which allows you to play animation assets from one skeleton onto the other.
[CL 15464346 by john vanderburg in ue5-main branch]
2021-02-18 18:42:00 -04:00
danny chapman
9a6d7ca014 Reworks BlendSpace to make UBlendSpace the main runtime class, which is able to handle 1 and 2 dimensions.
#jira UE-108155
#rb thomas.sarkanen

[CL 15406467 by danny chapman in ue5-main branch]
2021-02-15 10:12:58 -04:00
timothy daoust
a6dbf3b021 Remove the ability to circumvent connection rules with reroute node in an animation blueprint.
#jira UE-79013
#rb thomas.sarkanen

#ROBOMERGE-SOURCE: CL 15340365 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15340532 by timothy daoust in ue5-main branch]
2021-02-05 15:07:02 -04:00
Thomas Sarkanen
79c9b00eea Misc BlendSpace 2.0 fixes
Fixed drag/drop of samples in blend space graphs.
Fixed issues around replacing samples and stale anim graph tabs when replacing/deleting samples.
Prevented sample point graph duplication from My Blueprint.
Preserved sync groups when converting from players to graphs.

#jira none
#rb Jurre.deBaare

[CL 15216418 by Thomas Sarkanen in ue5-main branch]
2021-01-27 07:24:02 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00
ben hoffman
af13cd2b39 Make SearchForAutocastFunction take in Pin Types, not pin pointers.
#jira UE-94217
#rb none
#rnx

[CL 14167505 by ben hoffman in ue5-main branch]
2020-08-22 14:11:35 -04:00
robert manuszewski
b7568cc694 Fix for UE-90683: You can no longer delete conflicting variables
Refactored FindField into FindUField and FindFProperty to avoid confusion caused by the fact that FindField<UField> will no longer return FProperties.

#jira UE-90683
#rb Steve.Robb
#tests Basic editor functionality test, cooked and ran PC client and server, bot soak tests for two hours

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 12190998 in //UE4/Release-4.25/... via CL 12190999
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v661-12148976)

[CL 12191300 by robert manuszewski in Main branch]
2020-03-15 10:33:45 -04:00
JeanMichel Dignard
70d074639f Merging //UE4/Dev-Main @ 10886849 to Dev-Tools-Staging (//UE4/Dev-Tools-Staging)
#rb none
#rnx

[CL 10906274 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-08 13:26:18 -05:00
jeanmichel dignard
2ce7666d2d Copying //UE4/Dev-Core [at] 10708550 to Dev-Main (//UE4/Dev-Main)
#rb none

#ROBOMERGE-OWNER: jeanmichel.dignard
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 10708666 in //UE4/Main/...
#ROBOMERGE-BOT: TOOLS (Main -> Dev-Tools-Staging) (v626-10872990)

[CL 10898071 by jeanmichel dignard in Dev-Tools-Staging branch]
2020-01-07 15:54:23 -05:00
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00
Robert Manuszewski
7b6f840f7f Copying //UE4/Dev-Core @ 10708550 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 10708666 by Robert Manuszewski in Main branch]
2019-12-13 11:07:03 -05:00
Jamie Dale
872aa869c3 Converted code to use FObjectEditorUtils::GetCategoryText rather than access the UObjectCategory meta-data directly
This keeps the implementation common and will allow it to be changed in the future

#rb none
#rnx

[CL 10075120 by Jamie Dale in Dev-Editor branch]
2019-11-07 15:39:36 -05:00
Lina Halper
3fd7f76532 Copying //UE4/Dev-Anim to Dev-Main (//UE4/Dev-Main)
#fyi: Laurent.Delayn, Marc.Audy
#rb: none

[CL 9321182 by Lina Halper in Main branch]
2019-10-01 16:59:31 -04:00
thomas sarkanen
7ce1684c59 Fix build breakage
#rb none


#ROBOMERGE-SOURCE: CL 9123241 via CL 9123242
#ROBOMERGE-BOT: (v443-9013191)

[CL 9123243 by thomas sarkanen in Main branch]
2019-09-26 06:27:22 -04:00
thomas sarkanen
6f508c80f0 Renaming an animation interface graph now also fixes up layer nodes that use that graph
#rb Jurre.deBaare


#ROBOMERGE-SOURCE: CL 9123175 via CL 9123176
#ROBOMERGE-BOT: (v443-9013191)

[CL 9123177 by thomas sarkanen in Main branch]
2019-09-26 06:05:49 -04:00
thomas sarkanen
53708c2257 Renaming layer and sub-instance related APIs
#jira UE-80147 - Rename new anim layer related APIs
#rb Jurre.deBaare


#ROBOMERGE-OWNER: thomas.sarkanen
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 8973946 via CL 8973950 via CL 8973951
#ROBOMERGE-BOT: (v438-8971340)

[CL 8974019 by thomas sarkanen in Main branch]
2019-09-23 07:23:26 -04:00
Chris Gagnon
2e87118a18 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

[CL 8614014 by Chris Gagnon in Main branch]
2019-09-10 11:35:20 -04:00
thomas sarkanen
bc40812f7a Copying //Tasks/Fortnite/Dev-AnimSubInstances to Main (//Fortnite/Main)
Adds:
- New sub-instance functionality (dynamic setting, inline evaluation)
- Animation layers (experimental)

#rb Jurre.deBaare
[FYI] Laurent.Delayen
#rnx


#ROBOMERGE-SOURCE: CL 6604742 via CL 6605911
#ROBOMERGE-BOT: (v356-6605775)

[CL 6605970 by thomas sarkanen in Main branch]
2019-05-22 12:00:20 -04:00
Chris Gagnon
a48e767b94 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4835066 by Chris Gagnon in Dev-Editor branch]
2019-01-29 16:15:19 -05:00