- Removed implicit casts between FEulerTransform and FTransform
- moved interrogator and tokens inside of sequencer to use FEulerTransform
- added the notion of a preferred rotator for Controls. transform takes precedence for runtime solves, but UI / sequencer relies on the preferred rotator
#rb mike.zyracki benoit.gadreau
#jira UE-150830
#preflight https://horde.devtools.epicgames.com/job/62875a58286cf1867a419989
[CL 20298666 by Helge Mathee in ue5-main branch]
#jira UE-140598
#rb mike.zyracki
#fyi chase.cooper
#preflight 62820966fa65e101e5ca23b9
This is a first prototype of a constraints manager system.
note: have a look at the jira description for the features leading this work
The current design is based on the idea of having a unique constraint manager that stores several constraints (UTickableConstraint).
Each constraint holds a tick function (FConstraintTickFunction) that can register one or several functions (represented by a basic TFunction) that are evaluated when calling
the FConstraintTickFunction::ExecuteTick function. This FConstraintTickFunction can basically represent anything.
[CL 20221291 by benoit gadreau in ue5-main branch]
#jira UE-132455
Animaton attribute index remapping:
- Introduced FMeshAttributeContainer which stores the attributes according to FMeshPoseIndex
- Added FinalizeAttributeEvaluationResults to SkeletalMeshComponent - which remaps the evaluated compact-pose indexed attributes to mesh-indices
- Added CopyFrom template for different bone index types
- Updated CopyPoseFromMesh
* Added SourceBoneToTarget as attributes are mapped from source to target vs target to source for Bones
- Ensure that attributes are only inserted during evaluation if its bone index is present in the required bones
- Added testing for remapping attributes
* Remapping between LODs with removed bones
* Remapping between Skeletal meshes with different skeleton hierarchies
#rb Thomas.Sarkanen
#preflight 61e8067e843acf1b2428c2be
#ROBOMERGE-OWNER: jurre.debaare
#ROBOMERGE-AUTHOR: jurre.debaare
#ROBOMERGE-SOURCE: CL 18657038 in //UE5/Release-5.0/... via CL 18657062 via CL 18657063
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)
[CL 18657069 by jurre debaare in ue5-main branch]
#rb na
#jira na
#preflight https://horde.devtools.epicgames.com/job/61dd976d4e558a67d7c6fe3e
#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18571931 in //UE5/Release-5.0/... via CL 18571958
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)
[CL 18571993 by helge mathee in ue5-release-engine-test branch]
Fixed the Verify function so that we can see the current weight in the debugger.
Removed dead functions.
#jira none
#trivial
#rnx
[CL 16196332 by halfdan ingvarsson in ue5-main branch]
Register new SkinWeights mesh descriptor attribute that combines weights and influence in a single attribute, that proxies TBoneWeight to allow setting bone weights in one shot with normalization, culling, etc.
Deprecated and removed InfluenceBones and InfluenceWeights and updated the calling code to use the new attribute.
#jira UE-93689
#rb Alexis.Matte
#rnx
[CL 15516471 by halfdan ingvarsson in ue5-main branch]
- you can add one type of solver - transform and then that will give you one goal and you can run it.
- 3 modules - IKRig, IKRigDeveloper, IKRigEditor
- IKRigDefinition is the main data for anim node.
#rb: Kiaran.Ritchie, Halfdan.Ingvarsson
#fyi: Kiaran.Ritchie
[CL 14814068 by Lina Halper in ue5-main branch]
- This is a plugin that enables the animation runtime to search within a sequence for a given pose
- UPoseSearchSchema: specifies list of bones to sample, will include other info in the future like which properties to sample
- UPoseSearchIndexConfig: anim asset metadata object that specifies sample rate and range
- UPoseSearchIndex: anim asset metadata object containing data sampled from sequence offline, currently just translations per bone in the schema
- FPoseSearchPoseHistory: maintains a buffer of recorded poses over time for constructing search queries with past poses
- PoseSearchBuildIndex(): Constructs a search index for an anim sequence
- PoseSearchBuildQuery(): Constructs a search query given the current pose and a pose search schema
- PoseSearch(): Searches for the nearest matching pose in an indexed sequence given a query that was built for the same pose search schema
- FAnimNode_PoseMatchingSequencePlayer: Subclass of sequence player that adds the option to offset playback based on a pose search
- FAnimNode_PoseSearchHistoryCollector: a new pose history anim node for explicit control of pose search query context
- Pose history is now updated during graph evaluation instead of always using the final pose result at the end of evaluation
- Removed pose history from anim instance to decouple plugin from anim runtime
- Removed dependencies on USkeletalMeshComponent
- Promoted anim update shared context to base context so ancestor tracking can be used during node initialization
- Added FBoneIndexBase::IsValid()
- Exported UAnimationAsset API so plugins can use it
- Improved documentation
- Register asset type actions on module startup
#rb Andrew.Marre, Laurent.Delayen, Jaren.Peterson, Thomas.Sarkanen
[CL 13682386 by braeden shosa in ue5-main branch]