[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]
Swarm review [at] https://p4-swarm.epicgames.net/reviews/25771279https://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]
#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]
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]
[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]
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]
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]
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]
#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]
- 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]