Commit Graph

352 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
frederick lupien
9ca054d8a2 Add PostEvaluateSourcePose interface to FAnimNode_Slot to be able to override some of the curves in derived nodes
#reivew-27523875 [at]Jose.Villarroel
[FYI] Paul.McLaurin

[CL 27531431 by frederick lupien in ue5-main branch]
2023-08-31 14:32:11 -04:00
jose villarroel
cc70480524 Expose anim graph IsActive to blueprint
[REVIEW] [at]Aaron.Cox, [at]Thomas.Sarkanen

[CL 26963550 by jose villarroel in ue5-main branch]
2023-08-09 13:42:26 -04:00
roland munguia
5a89feb581 Allow users to cast a Anim Node Reference to a Modify Curve Node.
- Allow the user to set/get Alpha.
- Allow the user to set the Curve Map.

[CL 26826250 by roland munguia in ue5-main branch]
2023-08-03 16:38:51 -04:00
roland munguia
5175e025fa Allow users to cast a Anim Node Reference to a Mirror Node inside a Anim Node Function.
- Allow the user to set/get Mirror flag, and BlendTime using a Mirror Anim Node Reference.

#rb aaron.cox, jose.villarroel, thomas.sarkanen

[CL 26570163 by roland munguia in ue5-main branch]
2023-07-25 08:48:32 -04:00
henrik karlsson
5db685f97d [Engine]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds

[CL 26082269 by henrik karlsson in ue5-main branch]
2023-06-17 18:13:06 -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
danny chapman
0e5c4849f3 Build fix - make some functions inline so they can be used elsewhere
#rb trivial
#preflight 647a01e3e75a2263919b0dc5

[CL 25764895 by danny chapman in ue5-main branch]
2023-06-02 12:32:07 -04:00
jose villarroel
bfd65f960c Added twist offset to LegIK node.
This allows animators inject knee motion either manually or with procedural controls within the graph.
[REVIEW] [at]Aaron.Cox, [at]Thomas.Sarkanen
#preflight 6474508d8137a37b85494382

[CL 25683102 by jose villarroel in ue5-main branch]
2023-05-30 14:35:39 -04:00
roland munguia
9bd181ad63 Added a deprecation warning for AnimNode_StateResult.h located in AnimGraphRuntime module since the file got moved to Engine/Animation in CL 25613502.
#jira UE-184572
#preflight 646f9474407983b9980af164

[CL 25645220 by roland munguia in ue5-main branch]
2023-05-26 12:17:49 -04:00
dan oconnor
0a97a12d8b Mark FSimSpaceSettings as POD, it has a constructor but can be copied with memcpy, this will result in STRUCT_IsPlainOldData being set, which will speed up working with UserDefinedStructs that aggregate this structure. This structure has been embedded heavily in some UserDefinedStruct (ex. RBANParamsStruct). Drawback to this change is that if we add NON-Pod data to this structure we will memcpy it.
#rb chris.caulfield
#jira
#rnx

[CL 25644740 by dan oconnor in ue5-main branch]
2023-05-26 12:11:11 -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
jose villarroel
07ea17b98f Rotate root bone can opt-in to rotate the root motion custom attribute
[REVIEW] [at]Aaron.Cox, [at]Fernando.Coello, [at]Thomas.Sarkanen
#preflight 6467b3770577c206c7bc6557

[CL 25553334 by jose villarroel in ue5-main branch]
2023-05-19 17:51:59 -04:00
Steve Robb
cdf61a7e2b Removed operator new (TArray) usage from headers.
#rb james.hopkin
#jira none
#preflight 6454fcdc4574b81df4e18dc5

[CL 25353357 by Steve Robb in ue5-main branch]
2023-05-05 09:13:53 -04:00
benjamin jillich
50ff8d4637 Small typo fixes
#preflight 64413668b91c13075807ce9d

[CL 25125893 by benjamin jillich in ue5-main branch]
2023-04-20 09:13:09 -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
justin hare
4f2df46e79 Allow PlayMontageCallbackProxy to be derived from, to support plugins that want to provide customized versions of playing montages without duplicating existing code
#jira UE-177863
#rb roland.munguia aaron.cox
#preflight 6414aa183f3d31c94a9d5aa7

[CL 24754967 by justin hare in ue5-main branch]
2023-03-22 17:41:18 -04:00
frederick lupien
2fb8af746d Remove empty display name from UBlendListBaseLibrary
#rnx

[CL 24593066 by frederick lupien in ue5-main branch]
2023-03-10 11:59:53 -05:00
frederick lupien
cd5ba4641b Add anim node library function for blend list base
Add an anim node function to reset blend lists


[REVIEW] [at]Thomas.Sarkanen
[FYI] Paul.McLaurin

[CL 24577496 by frederick lupien in ue5-main branch]
2023-03-09 12:02:01 -05:00
Max Chen
3b95ddaf05 Sequencer: Remove deprecated at 5.0 and below from movie scene and level sequence
#preflight 6407e62cc13b7130d2811d09
#jira none
#rb matt.hoffman
#rnx

[CL 24567160 by Max Chen in ue5-main branch]
2023-03-08 16:33:59 -05:00
Thomas Sarkanen
0d0a030aa5 Curve refactor fixes: Pose Assets, Pose Driver and more
Addresses curves all being set to NAME_None for pose assets saved between CLs 3002109 and 3026802.
Fixes curve extraction in pose assets.
Fixes pose driver not setting curves unless they already exist.
Fixes instances where TBaseBlendedCurve::Set was being used incorrectly - this now inserts the element if it wasnt present before, potentially causing a re-sort but at least not behaving un unexpected ways compared to the old use case.

#jira UE-179096
#preflight 640615ad0c7df1967f08e090
#rb Jurre.deBaare
#preflight 640723e28c0039bbf79e25f3

[CL 24538171 by Thomas Sarkanen in ue5-main branch]
2023-03-07 06:58:13 -05: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
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
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