58 Commits

Author SHA1 Message Date
aris theophanidis
7192b9d0a2 Remove text.h from script.h (script.h is included by object.h)
#rb Yoan.StAmant

[CL 30776575 by aris theophanidis in ue5-main branch]
2024-01-22 11:52:48 -05:00
steve robb
6d5b974842 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30735396 by steve robb in ue5-main branch]
2024-01-19 19:41:56 -05:00
shchavinskyi
6efc713fbc PR #10124: AnimationBlueprintLibrary Curve Functions
#jira UE-177275
#rb Thomas.Sarkanen

[CL 30037201 by shchavinskyi in ue5-main branch]
2023-12-01 07:19:43 -05:00
shchavinskyi
6e4d2301c8 Undo changelist 29838857
PR #10124: AnimationBlueprintLibrary Curve Functions
#ushell-cherrypick of 24248270 by UnrealBot
#jira UE-177275
#rb Thomas.Sarkanen

[CL 29839207 by shchavinskyi in ue5-main branch]
2023-11-20 07:22:30 -05:00
shchavinskyi
0b80f36be3 PR #10124: AnimationBlueprintLibrary Curve Functions
#ushell-cherrypick of 24248270 by UnrealBot
#jira UE-177275
#rb Thomas.Sarkanen

[CL 29838867 by shchavinskyi in ue5-main branch]
2023-11-20 06:36:25 -05:00
steve robb
51f3ea53ae Removed ChooseClass.h includes.
#rb trivial

[CL 27823723 by steve robb in ue5-main branch]
2023-09-13 05:43:01 -04:00
jurre debaare
fa256cd2f3 Allow users to specify bForceRootLock when sampling poses via AnimPose API
#jira UE-188193
#rb Thomas.Sarkanen, Euan.Carmichael

[CL 26767101 by jurre debaare in ue5-main branch]
2023-08-02 05:38:23 -04:00
max chen
dc036c590a Sequencer: Check for valid skeleton in EvaluateRootBoneTimecodeAttributesAtTime
#rb mike.zyracki

[CL 26746830 by max chen in ue5-main branch]
2023-08-01 14:08:12 -04:00
thomas sarkanen
295f81df17 Fix crash from incorrect bone index type usage in UAnimationSequencerDataModel::GeneratePoseData
Also fixed bone index usage in FAnimPose::GetPose

#rb Nicholas.Frechette
[FYI] Jurre.deBaare

[CL 26482431 by thomas sarkanen in ue5-main branch]
2023-07-20 07:41:53 -04:00
stan hormell
35591ff46d [Backout] - CL26178322 - CIS Issue 324063
[FYI] Jurre.deBaare
Original CL Desc
-----------------------------------------------------------------
Added UFunction missing deprecation/message keywords to deprecated Animation APIs
#rb Thomas.Sarkanen
#ushell-cherrypick of 26178265 by Jurre.deBaare

[CL 26198808 by stan hormell in ue5-main branch]
2023-06-22 19:16:46 -04:00
Jurre deBaare
e651178f8e Added UFunction missing deprecation/message keywords to deprecated Animation APIs
#jira none
#rb Thomas.Sarkanen

[CL 26178265 by Jurre deBaare in ue5-main branch]
2023-06-22 06:06:09 -04:00
nick baltis
61b7cf81c7 Variable Frame Stripping
Swarm review [at] https://p4-swarm.epicgames.net/reviews/25771279
https://horde.devtools.epicgames.com/job/6480c6078417d79259d7b71c

Added functionality to strip at ratios higher 1 out of every 2. testing shows good savings at stripping 2/3 frames on NX64 and in editor of around 8mb with no noticeable visual degradation.

Works through the VariableFrameStripping object that is a member of the AnimSequence.

Fixed issue with valkyrie

[CL 25857620 by nick baltis in ue5-main branch]
2023-06-07 16:48:21 -04:00
euan carmichael
15d2deee56 Reinstate some anim blueprint library methods which now use the Anim Pose api.
#jira UE-186382
#rb Thomas.Sarkanen
#lockdown aurel.cordonnier

[CL 25829981 by euan carmichael in ue5-main branch]
2023-06-06 17:54:21 -04:00
hilda cruz
a43cbb3322 [Backout] - CL25804385 for a BH issue
#rnx
[FYI] nick.baltis
Original CL Desc
-----------------------------------------------------------------
Variable Frame Stripping
Swarm review [at] https://p4-swarm.epicgames.net/reviews/25771279

Added functionality to strip at ratios higher 1 out of every 2. testing shows good savings at stripping 2/3 frames on NX64 and in editor of around 8mb with no noticeable visual degradation.

Works through the VariableFrameStripping object that is a member of the AnimSequence.

Fixed issue with valkyrie

[CL 25809604 by hilda cruz in ue5-main branch]
2023-06-05 22:13:54 -04:00
nick baltis
a400eefa24 Variable Frame Stripping
Swarm review [at] https://p4-swarm.epicgames.net/reviews/25771279

Added functionality to strip at ratios higher 1 out of every 2. testing shows good savings at stripping 2/3 frames on NX64 and in editor of around 8mb with no noticeable visual degradation.

Works through the VariableFrameStripping object that is a member of the AnimSequence.

Fixed issue with valkyrie

[CL 25804411 by nick baltis in ue5-main branch]
2023-06-05 17:26:01 -04:00
bryan sefcik
ecd9fa8a99 Removed dependencies that aren't needed by the modules that declare them. This is to help fix bad circular dependencies in the engine.
#preflight 647b5f919c5bac5c6f8be490
#jira

[CL 25782459 by bryan sefcik in ue5-main branch]
2023-06-03 15:25:01 -04:00
jurre debaare
7992f2536e Determine the location of a Socket in an Animation Sequence
#feature added functionality to FAnimPose API to retrieve animated Socket transforms
#misc ptr safety check
#rb Thomas.Sarkanen
#preflight 6470af2ad1157dc4a7f9b372

[CL 25648056 by jurre debaare in ue5-main branch]
2023-05-26 13:05:06 -04:00
edwin maynard
c98b625c8e [Backout] - CL25515851 (backed out due to cis issues)
[FYI] nick.baltis
Original CL Desc
-----------------------------------------------------------------
Due to Backout files marked for add could not show latest revision forcing me to submit this change directly though p4v.
Swarm review [at] https://p4-swarm.epicgames.net/reviews/25450246

Added functionality to strip at ratios higher 1 out of every 2. testing shows good savings at stripping 2/3 frames on Nx64 and in editor of around 8mb with no noticeable visual degradation.
Origional Cvar ssytem replaced with VariableFrameStrippingSettings Oject which is a member of AnimSequence. It contains PerPlatform variables for enableing the system and its rate.
The move to a member object wrapping around these settings were two fold. First to better mas change anim sequences by platform while also allowing for varried settings for edge cases. Second becuase due to the fact this affects objects in the cook, gateing it behind a cvar provides no hot fix saftey while hurting useability.

[CL 25521647 by edwin maynard in ue5-main branch]
2023-05-18 00:54:19 -04:00
nick baltis
91486908d5 Due to Backout files marked for add could not show latest revision forcing me to submit this change directly though p4v.
Swarm review [at] https://p4-swarm.epicgames.net/reviews/25450246

Added functionality to strip at ratios higher 1 out of every 2. testing shows good savings at stripping 2/3 frames on Nx64 and in editor of around 8mb with no noticeable visual degradation.
Origional Cvar ssytem replaced with VariableFrameStrippingSettings Oject which is a member of AnimSequence. It contains PerPlatform variables for enableing the system and its rate.
The move to a member object wrapping around these settings were two fold. First to better mas change anim sequences by platform while also allowing for varried settings for edge cases. Second becuase due to the fact this affects objects in the cook, gateing it behind a cvar provides no hot fix saftey while hurting useability.

[CL 25518666 by nick baltis in ue5-main branch]
2023-05-17 19:09:50 -04:00
bryan sefcik
91c57d395e Removed redundant module includes.
#preflight 645d4bf3aa3c584c0b5b3a67

[CL 25435653 by bryan sefcik in ue5-main branch]
2023-05-11 16:48:21 -04:00
keaton stewart
ca3444d858 Back out changelist 25342326 for [FN Main CIS] NonUnity Error
[FYI] Nick.Baltis

[CL 25346626 by keaton stewart in ue5-main branch]
2023-05-04 20:35:17 -04:00
nick baltis
3c30b6acb1 Variable Frame Stripping
Added functionality to strip at ratios higher 1 out of every 2. testing shows good savings at stripping 2/3 frames on switch and in editor of around 8mb with no noticeable visual degradation.

2 Cvars added "a.Compression.UseVaribleFrameStripping" & "a.Compression.VaribleFrameStrippingRatio" which enable and change the amount of variable stripping.

In addition added 3 variables to anim sequences bOverrideVariableFrameStripping, UseVariableFrameStripping& FrameStrippingRatio; which allow you to override any stripping options on a per asset basis. mainly for the purpose of the case that a particular animation is behaving badly under higher stripping you don’t have to lower the whole platforms stripping to accommodate.
#preflight 642305be803cb466e858b86e
#rb alex.nischwitz

[CL 25343990 by nick baltis in ue5-main branch]
2023-05-04 18:13:08 -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
Jurre deBaare
f5ea45d372 Crash when starting a take with a Metahuman source - No Movie Scene found for SequencerDataModel
#jira UE-173258
#fix make sure we never try and sample time-code attributes on an animation sequence which has not been populated (DataModel is created but not initialised)
#rb trivial
#preflight 63b85249d862fdd3473197b4

[CL 23599277 by Jurre deBaare in ue5-main branch]
2023-01-06 12:04:38 -05:00
Jurre deBaare
31f1b097fd Animation Compression
- Added new compression and 'compiling' API/path
  * Relies on newer DDC API
  * Only fetches compressible data when data is not found in DDC
  * Fetching data happens off the GT now (including Additive animation)
- Deprecated and replace AnimSequence API around compression
** AnimStreamable still relies on old, synchronous, compression path **

IAnimationDataModel
- Removed bone track data being stored as FBoneAnimationTrack
- Bone animation can now only be referenced by Name (not track index anymore)
- Deprecated any API relying on FBoneAnimationTrack
- Added API to retrieve FTransform(s) for given frame(s) with provided bone name
- Added API to lock model against modifications during evaluation (required for non-racing off-GT evaluation)

Animation Sequence
- Frame-rate is now stored on a per-platform basis, allowing for future replacement of frame-stripping (editing property is disabled for now)
- Now allows for storing _transient_ per-platform compressed animation data (required for multi-platform cook)

PerPlatformProperties
- Added per-platform FFrameRate implementation

#preflight 63999f102540a78d2778adb7
#rb Thomas.Sarkanen, Nicholas.Frechette, Devin.Doucette
#fyi Zousar.Shaker

[CL 23510521 by Jurre deBaare in ue5-main branch]
2022-12-14 05:56:08 -05:00