Commit Graph

151 Commits

Author SHA1 Message Date
jurre debaare
08585f35af Need the ability to give a sequence evaluator a frame instead of time.
#feature sequence evaluator node now exposes ExplicitFrame option, which internally combined with the set AnimSequence is used to generate a time-value (on which the behaviour is based)
#rb Thomas.Sarkanen

[CL 27627946 by jurre debaare in ue5-main branch]
2023-09-06 04:14:59 -04:00
charles lefebvre
061b009699 Kismet Compiler: Deprecate SpawnIntermediateEventNode
#rnx
#rb dan.oconnor

[CL 27365052 by charles lefebvre in ue5-main branch]
2023-08-24 20:56:35 -04:00
jaime cifuentes
e71560bdff Added compiler note and visual warnings to state machine transitions if the transition rule has logic but the flag for automatic rule based condition is set
#jira UE-170338
#rb jose.villarroel

[CL 26665714 by jaime cifuentes in ue5-main branch]
2023-07-28 03:19:20 -04:00
thomas sarkanen
a3f5998775 Fix node bindings not being present for nodes that are drag-dropped
#jira UE-190695
#rb jose.villarroel

[CL 26568590 by thomas sarkanen in ue5-main branch]
2023-07-25 06:18:59 -04:00
jose villarroel
6dc26fd3fb Added "Update If Active" flag to property access, to allow freezing specific properties during blend out.
[REVIEW] [at]Thomas.Sarkanen

[CL 26478895 by jose villarroel in ue5-main branch]
2023-07-19 21:32:37 -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
jose villarroel
0403d0b457 Blend Stack:
-Added initial support for blend stack graphs.
-Changed Max Active Blends to be a compile time fixed value for blend stack.
-review-25906631 [at]Aaron.Cox, [at]Thomas.Sarkanen, [at]Samuele.Rigamonti

[CL 26167901 by jose villarroel in ue5-main branch]
2023-06-21 18:41:47 -04:00
roland munguia
93720bd718 Fixes for automatic transitions rules and added the feature to manually set their trigger time.
- Added support for explicitly specifying the transitions trigger time when using state machine automatic transition rules.
- Fixed state machine automatic transitions rules not triggering from a looping animation.
- Fixed state machine automatic transitions rules that have their next state as a conduit state triggering before reaching the end of the animation.
- Consolidate all the ways to check if asset in asset player is looping into a single api call, IsLooping().
- Added getter for a AssetPlayer's DeltaTimeRecord.
- Added warning when a asset player is using looping animations with automatic rule based transitions.

#jira UE-171299, UE-180844, UE-185174

[CL 25877647 by roland munguia in ue5-main branch]
2023-06-08 14:19:19 -04:00
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
daniel holden
6ccf5e03c5 Added experimental DeadBlending animation graph node.
#jira UE-184569
#rb keith.yerek
#rb danny.champman
#preflight 646e0593f85111e06c8ff205

[CL 25601022 by daniel holden in ue5-main branch]
2023-05-24 09:01:31 -04:00
daniel holden
63ba9cb8d7 [Backout] - CL25578176
[FYI] daniel.holden
Original CL Desc
-----------------------------------------------------------------
Added experimental DeadBlending animation graph node.

#preflight 646c76414422ba05f47337a2
#rb keith.yerek, danny.chapman
#jira UE-184569

[CL 25579640 by daniel holden in ue5-main branch]
2023-05-23 07:48:35 -04:00
daniel holden
e4e1a07f7d Added experimental DeadBlending animation graph node.
#preflight 646c76414422ba05f47337a2
#rb keith.yerek, danny.chapman
#jira UE-184569

[CL 25579599 by daniel holden in ue5-main branch]
2023-05-23 07:47:40 -04:00
roland munguia
215a63cdc8 Disabled option to duplicate a state from the tree view.
This option is being disabled for now since it has never worked properly and it causes a engine crash.

#jira UE-185146
#preflight 6465161f2d446eac96e858f2

[CL 25512536 by roland munguia in ue5-main branch]
2023-05-17 14:09:37 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
aaron cox
4c630fd4e5 Output warnings when the LegIK node is missing definitions or contains references to invalid bones.
[REVIEW] [at]Jose.Villarroel
#jira UE-184701
#preflight 6453f383023fe5d3ad3b0560

[CL 25363353 by aaron cox in ue5-main branch]
2023-05-05 21:38:18 -04:00
David Corral
70e2623a31 [PoseDriver]
- Removed bOnlyDriveSelectedBones bool. Now checks if OnlyDriveBones list has items.
- Fixed issue with OnlyDriveBones with None entry.
- Fixed indentations and improved comments.
#preflight 642b43731d19c0312a6d301c

[CL 24901507 by David Corral in ue5-main branch]
2023-04-03 17:36:03 -04:00
David Corral
dac5a5fa27 [PoseDriver]
- Added EditConditions for OnlyDriveBones, bOnlyDriveSelectedBones and Median properties.
- Rearranged Properties

#jira UE-181415, UE-181411
#preflight 64231547051bec41cda13799

[CL 24821515 by David Corral in ue5-main branch]
2023-03-28 12:49:06 -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
halfdan ingvarsson
6b43bffa1d After five years, it's probably time to remove the 'experimental' flag from the Constraint anim node.
#rnx

[CL 24253438 by halfdan ingvarsson in ue5-main branch]
2023-02-16 04:18:31 -05:00
jaime cifuentes
a20a6e0027 Added validation and visual error functionality to AnimNode_SkeletalControlBase, which can be used to check referenced bones and show errors on the AnimGraph nodes that use them (so it is clear if the setup does not work due to a bone missing)
#rb thomas.sarkanen
#jira UE-160111
#preflight 63b85453c927e34482895de4

[CL 23599353 by jaime cifuentes in ue5-main branch]
2023-01-06 12:16:12 -05:00
dave jones2
9bab3a527e Misc Blueprint changes:
* Added overloads for FindSpecializedConversionNode and SearchForAutocastFunction that don't use output parameters. There are several instances in the engine where dummy variables are used to get around this.
* Updated the Message_ functions to use template parameter packing. The arguments are forwarded to the underlying FCompilerResultsLog, if one exists. This allows us to use tokenized messages.
* Changed several functions in FCompilerResultsLog to use the coding standard's naming convention. Specifically, arguments need to start with an uppercase letter.

#jira none
#preflight 639778dc2960b732208492ae
#rb phillip.kavan

[CL 23482483 by dave jones2 in ue5-main branch]
2022-12-12 15:50:51 -05:00
Bryan sefcik
80f80e7a25 Updated the underlying types for regular and namespaced enums.
#jira
#preflight 638e6d479549ddaa2822be9a

[CL 23421568 by Bryan sefcik in ue5-main branch]
2022-12-06 19:43:59 -05:00
henrik karlsson
b5164ac775 Fixes to make modules compile with IWYU. We've added to IWYU toolchain so it compiles "orphaned" headers which does not have a owning cpp file. This identified lots of headers that couldn't be compiled by themselves (or if they were to included first)
Change consist of only forward declaration and additional includes

#preflight 63789c1de30d438849c48188
#rb none

[CL 23218412 by henrik karlsson in ue5-main branch]
2022-11-21 03:22:23 -05:00
samuele rigamonti
22bd7b7dc3 motion matching - deprecating UPoseSearchSequenceMetaData
#review-23144984 @aaron.cox
#preflight 63751be40c74adb48b0264ba
#preflight 63751f883248425305884639

[CL 23157119 by samuele rigamonti in ue5-main branch]
2022-11-16 12:46:06 -05:00
benjamin jillich
a6ef0d5b7f [UE-136096] Relinking transitions in anim graph state machines
[UE-168360] User can create a transition from a state into the entry state

* Relinking multiple transitions (transition nodes at once) when none of the transition nodes is selected.
* Selective relinking in case a subset of the transition nodes on a transitions are selected.
* Special case handling for transitions from entry state (they don't have a transition node connected).
* Drawing circle indicator around the arrow head in case the mouse cursor is approaching the transition.
* Hovering the arrow head of a transition highlights it by filling the circle with solid orange color and turning the arrow black.
* Ending the relink operation in empty space or the entry node will cancel the relink operation.
* Fixed bug that prevents creating new transitions ending in an entry state.

#jira https://jira.it.epicgames.com/browse/UE-136096
#jira https://jira.it.epicgames.com/browse/UE-168360
#preflight 636a169963037c10262bc421

[CL 23025287 by benjamin jillich in ue5-main branch]
2022-11-08 04:09:22 -05:00