第一次提交
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
// Copyright 2025 https://yuewu.dev/en All Rights Reserved.
|
||||
|
||||
|
||||
#include "Locomotions/GMS_AnimState.h"
|
||||
|
||||
#include "AnimationWarpingLibrary.h"
|
||||
#include "Animation/AnimSequenceBase.h"
|
||||
#include "Animation/AnimSequence.h"
|
||||
#include "Utility/GMS_Constants.h"
|
||||
|
||||
#include UE_INLINE_GENERATED_CPP_BY_NAME(GMS_AnimState)
|
||||
|
||||
|
||||
void FGMS_AnimState_Layering::ApplyValueFromSequence(const UAnimSequence* InSequence, float ExplicitTime)
|
||||
{
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerHead", ExplicitTime, HeadBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerHeadAdditive", ExplicitTime, HeadAdditiveBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerHeadSlot", ExplicitTime, HeadSlotBlendAmount);
|
||||
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerArmLeft", ExplicitTime, ArmLeftBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerArmLeftAdditive", ExplicitTime, ArmLeftAdditiveBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerArmLeftSlot", ExplicitTime, ArmLeftSlotBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerArmLeftLocalSpace", ExplicitTime, ArmLeftLocalSpaceBlendAmount);
|
||||
ArmLeftMeshSpaceBlendAmount = 1 - ArmLeftLocalSpaceBlendAmount;
|
||||
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerArmRight", ExplicitTime, ArmRightBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerArmRightAdditive", ExplicitTime, ArmRightAdditiveBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerArmRightSlot", ExplicitTime, ArmRightSlotBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerArmRightLocalSpace", ExplicitTime, ArmRightLocalSpaceBlendAmount);
|
||||
ArmRightMeshSpaceBlendAmount = 1 - ArmRightLocalSpaceBlendAmount;
|
||||
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerHandLeft", ExplicitTime, HandLeftBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerHandRight", ExplicitTime, HandRightBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerSpine", ExplicitTime, SpineBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerSpineAdditive", ExplicitTime, SpineAdditiveBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerSpineSlot", ExplicitTime, SpineSlotBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerPelvis", ExplicitTime, PelvisBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerPelvisSlot", ExplicitTime, PelvisSlotBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerLegs", ExplicitTime, LegsBlendAmount);
|
||||
UAnimationWarpingLibrary::GetCurveValueFromAnimation(InSequence, "LayerLegsSlot", ExplicitTime, LegsSlotBlendAmount);
|
||||
}
|
||||
|
||||
void FGMS_AnimState_Layering::ZeroOut()
|
||||
{
|
||||
HeadBlendAmount = 0.0f;
|
||||
HeadAdditiveBlendAmount = 0.0f;
|
||||
HeadSlotBlendAmount = 0.0f;
|
||||
|
||||
ArmLeftBlendAmount = 0.0f;
|
||||
ArmLeftAdditiveBlendAmount = 0.0f;
|
||||
ArmLeftSlotBlendAmount = 0.0f;
|
||||
ArmLeftLocalSpaceBlendAmount = 0.0f;
|
||||
ArmLeftMeshSpaceBlendAmount = 0.0f;
|
||||
|
||||
ArmRightBlendAmount = 0.0f;
|
||||
ArmRightAdditiveBlendAmount = 0.0f;
|
||||
ArmRightSlotBlendAmount = 0.0f;
|
||||
ArmRightLocalSpaceBlendAmount = 0.0f;
|
||||
ArmRightMeshSpaceBlendAmount = 0.0f;
|
||||
|
||||
HandLeftBlendAmount = 0.0f;
|
||||
HandRightBlendAmount = 0.0f;
|
||||
|
||||
SpineBlendAmount = 0.0f;
|
||||
SpineAdditiveBlendAmount = 0.0f;
|
||||
SpineSlotBlendAmount = 0.0f;
|
||||
|
||||
PelvisBlendAmount = 0.0f;
|
||||
PelvisSlotBlendAmount = 0.0f;
|
||||
|
||||
LegsBlendAmount = 0.0f;
|
||||
LegsSlotBlendAmount = 0.0f;
|
||||
}
|
||||
Reference in New Issue
Block a user