Commit Graph

15 Commits

Author SHA1 Message Date
Lina Halper
0f59150df1 #ANIM: Montage supports more than linear blending
- It uses same blend set up as blend list
 - Because of this, now we're not testing weight <ZERO_ANIMWEIGHT, but we test Blend.IsComplete
 - Now we still advance montage since if the custom curve contains longer 0, anim is likely to pause if he comes back from 0. (I had wacky test case)

 #ANIM: Single node instance's inconsistency of montage weight has been resolved

- This also contains montage update change where now montage advance prior to node update
- Also made new function for node update, so that single node instance can use that function instead of nativeupdateanimation, which happens prior to weight update causing all inconsistency
- Enabled node weight debuging define for montage, so that we can see if any other case is causing it
- This also fixes crash when montage gets terminated after weight has been updated

Merging

//depot/UE4-Orion/...

to //depot/UE4-Orion/...

[CL 2687868 by Lina Halper in Main branch]
2015-09-11 10:26:57 -04:00
Lina Halper
9bd36fbc1f #ANIM: Better fix for kurohane crash due to inconsistent weight of montages
- Now it gets weight data and use that weight data without recalc in eval
- Also made montage instance's members to be private
- changed single node to get weight and use that weight for eval - same as normal anim BP
- changed update weight of montage to happen before native update animation

Merging

//depot/UE4-Orion/Engine/Source/...

to //depot/UE4/Engine/Source/...

[CL 2682922 by Lina Halper in Main branch]
2015-09-08 09:01:12 -04:00
Lina Halper
337bc3a2d5 #ANIM: Fixed additive layer not working properly
- It is broken whenever you apply any bone transform due to controller is not copying local atoms back to it.

[CL 2604079 by Lina Halper in Main branch]
2015-06-29 11:41:35 -04:00
Martin Wilson
ae71a8cca5 Added FCompactPose, contains only the bone transforms needed by RequiredBones. Allows us to do animation evaluation without having to refer to required bones array all the time
API Breaking Changes

Removed Functions:
FA2CSPose::SafeSetCSBoneTransforms
FA2CSPose::LocalBlendCSBoneTransforms

Member Type Changes:
- int32 -> FCompactPoseBoneIndex
--- FBoneTransform::BoneIndex
--- FABRIKChainLink::BoneIndex
- FA2CSPose -> FCSPose<FCompactPose>
--- FAnimNode_SkeletalControlBase::ForwardedPose
--- FComponentSpacePoseContext::Pose
- FA2Pose -> FCompactPose
--- FSlotEvaluationPose::Pose
--- FAnimNode_TransitionPoseEvaluator::CachedPose
--- FAnimNode_SaveCachedPose::CachedPose
--- FPoseContext::Pose

Paramater Changes:
- FA2Pose& -> FCompactPose&
--- UAnimSingleNodeInstance::InternalBlendSpaceEvaluatePose (FA2Pose& Pose -> FCompactPose&)
--- UAnimInstance::SequenceEvaluatePose
--- UAnimInstance::BlendSequences
--- UAnimInstance::CopyPose
--- UAnimInstance::ApplyAdditiveSequence
--- UAnimInstance::BlendSpaceEvaluatePose
--- UAnimInstance::BlendRotationOffset
--- UAnimInstance::GetSlotWeight
--- UAnimInstance::SlotEvaluatePose
- FA2CSPose& -> FCSPose<FCompactPose>&
--- FAnimNode_SkeletalControlBase::EvaluateBoneTransforms
--- UAnimGraphNode_SkeletalControlBase::ConvertCSVectorToBoneSpace
--- UAnimGraphNode_SkeletalControlBase::ConvertCSRotationToBoneSpace
--- UAnimGraphNode_SkeletalControlBase::ConvertWidgetLocation
--- UAnimPreviewInstance::ApplyBoneControllers
- TArray<FTransform> -> FCompactPose
--- UAnimPreviewInstance::SetKeyImplementation
--- UAnimSequence::GetAnimationPose
--- UAnimSequence::GetBonePose
--- UAnimSequence::GetBonePose_Additive
--- UAnimSequence::GetAdditiveBasePose
--- UAnimSequence::GetBonePose_AdditiveMeshRotationOnly
--- FAnimationRuntime::BlendPosesTogether ( + Removed NumPoses and RequiredBones )
--- FAnimationRuntime::BlendPosesTogetherPerBone  ( + Removed NumPoses and RequiredBones )
--- FAnimationRuntime::BlendPosesTogetherPerBoneInMeshSpace ( + Removed NumPoses and RequiredBones )
--- FAnimationRuntime::BlendPosesPerBoneFilter ( + Removed Skeleton and RequiredBones )
--- FAnimationRuntime::GetPoseFromSequence ( + Removed  RequiredBones )
--- FAnimationRuntime::GetPoseFromAnimTrack ( + Removed  RequiredBones )
--- FAnimationRuntime::FillWithRetargetBaseRefPose ( + Removed  RequiredBones )
--- FAnimationRuntime::ConvertPoseToAdditive ( + Removed  RequiredBones )
--- FAnimationRuntime::ConvertPoseToMeshRotation ( + Removed  RequiredBones )
--- FAnimationRuntime::BlendPosesAccumulate ( + Removed  RequiredBones )
--- FAnimationRuntime::BlendAdditivePose ( + Removed  RequiredBones )
--- FAnimationRuntime::GetPoseFromBlendSpace ( + Removed  RequiredBones )
--- FAnimationRuntime::ConvertCSTransformToBoneSpace
--- FAnimationRuntime::ConvertBoneSpaceTransformToCS
--- FAnimationRuntime::BlendMeshPosesPerBoneWeights ( + Removed Skeleton and RequiredBones )
--- FAnimationRuntime::BlendLocalPosesPerBoneWeights ( + Removed Skeleton and RequiredBones )
- TArray<FTransform> -> FTransform
--- UAnimSequence::ResetRootBoneForRootMotion
- int32 -> FCompactPoseBoneIndex
--- UAnimSequence::RetargetBoneTransform

FAnimationRuntime: Many changes to animation operation functions, removal of NumPoses and RequiredBones, conversion of TArray<FTransform> to FCompactPose

Removed USTRUCT markup from FBoneTransform
Removed UPROPERTY markup from FAnimNode_TransitionPoseEvaluator::CachedPose

[CL 2556671 by Martin Wilson in Main branch]
2015-05-19 06:19:22 -04:00
Benn Gallagher
1896f945aa Fix step forwards/backwards not snapping to frames in montages.
[CL 2508309 by Benn Gallagher in Main branch]
2015-04-10 09:51:35 -04:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Lina Halper
e108fbb56e #Animation Editing Feature
- If you select bone and modify, you can add to the additive layer track
- You can also move curve keys during SIE

[CL 2359126 by Lina Halper in Main branch]
2014-11-13 17:30:49 -05:00
Benn Gallagher
2909caea7c Montage Improvements
- Allow relative and proportional linking for montage elements
- Show trigger thresh of notifies in details panel
- Fixup segments on reimport to stop t-pose or frozen animations
- Only automatic improvements in this CL, requring no resave for assets

[CL 2342383 by Benn Gallagher in Main branch]
2014-10-28 11:42:50 -04:00
Martin Wilson
c9741b4707 Fix previewing of root motion in montages
[CL 2335697 by Martin Wilson in Main branch]
2014-10-21 09:38:35 -04:00
Jaroslaw Palczynski
7c41927cf4 Rename FPostConstructInitializeProperties to something simpler
Changed it with FObjectInitializer.

UECORE-7

[CL 2328384 by Jaroslaw Palczynski in Main branch]
2014-10-14 10:29:11 -04:00
Martin Wilson
9de901481e "Root Motion From Everything" - Root motion can now be taken from anim assets other than montages when the anim blueprint is set to "Root Motion From Everything" mode
[CL 2325352 by Martin Wilson in Main branch]
2014-10-10 06:35:34 -04:00
Lina Halper
1ed6aaa87d - Animation Retargeting offline solution using rig
- Rig asset/Customization
- Retargeting Manager
- Support retargeting using the data

[CL 2295182 by Lina Halper in Main branch]
2014-09-12 11:37:36 -04:00
Laurent Delayen
6974dcdbfc Refactored Montage API to support multi-montages.
#codereview lina.halper

[CL 2278193 by Laurent Delayen in Main branch]
2014-08-29 17:21:44 -04:00
Lina Halper
fdab264957 Fixed single node to use same system as normal anim instance. so that tick/curve collection is consistent.
[CL 2040057 by Lina Halper in Main branch]
2014-04-23 17:34:31 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00