diff --git a/Source/SenseGlove/Private/SenseGlove/Animation/SGVirtualHandAnimInstance.cpp b/Source/SenseGlove/Private/SenseGlove/Animation/SGVirtualHandAnimInstance.cpp index 0fe2e660..f06e53a7 100644 --- a/Source/SenseGlove/Private/SenseGlove/Animation/SGVirtualHandAnimInstance.cpp +++ b/Source/SenseGlove/Private/SenseGlove/Animation/SGVirtualHandAnimInstance.cpp @@ -40,31 +40,6 @@ USGVirtualHandAnimInstance::USGVirtualHandAnimInstance(const FObjectInitializer& { } -void USGVirtualHandAnimInstance::NativeInitializeAnimation() -{ - Super::NativeInitializeAnimation(); -} - -void USGVirtualHandAnimInstance::NativeUpdateAnimation(const float DeltaSeconds) -{ - Super::NativeUpdateAnimation(DeltaSeconds); -} - -void USGVirtualHandAnimInstance::NativePostEvaluateAnimation() -{ - Super::NativePostEvaluateAnimation(); -} - -void USGVirtualHandAnimInstance::NativeUninitializeAnimation() -{ - Super::NativeUninitializeAnimation(); -} - -void USGVirtualHandAnimInstance::NativeBeginPlay() -{ - Super::NativeBeginPlay(); -} - FSGVirtualHandAnimInstanceProxy* USGVirtualHandAnimInstance::CreateAnimInstanceProxy() { return new FSGVirtualHandAnimInstanceProxy(); diff --git a/Source/SenseGlove/Private/SenseGlove/Animation/SGVirtualHandAnimInstanceProxy.cpp b/Source/SenseGlove/Private/SenseGlove/Animation/SGVirtualHandAnimInstanceProxy.cpp index 36036e81..4324bf10 100644 --- a/Source/SenseGlove/Private/SenseGlove/Animation/SGVirtualHandAnimInstanceProxy.cpp +++ b/Source/SenseGlove/Private/SenseGlove/Animation/SGVirtualHandAnimInstanceProxy.cpp @@ -56,26 +56,6 @@ FSGVirtualHandAnimInstanceProxy::FSGVirtualHandAnimInstanceProxy(UAnimInstance* { } -void FSGVirtualHandAnimInstanceProxy::Initialize(UAnimInstance* InAnimInstance) -{ - FAnimInstanceProxy::Initialize(InAnimInstance); -} - -void FSGVirtualHandAnimInstanceProxy::Uninitialize(UAnimInstance* InAnimInstance) -{ - FAnimInstanceProxy::Uninitialize(InAnimInstance); -} - -void FSGVirtualHandAnimInstanceProxy::PreUpdate(UAnimInstance* InAnimInstance, const float DeltaSeconds) -{ - FAnimInstanceProxy::PreUpdate(InAnimInstance, DeltaSeconds); -} - -void FSGVirtualHandAnimInstanceProxy::Update(const float DeltaSeconds) -{ - FAnimInstanceProxy::Update(DeltaSeconds); -} - void FSGVirtualHandAnimInstanceProxy::PreEvaluateAnimation(UAnimInstance* InAnimInstance) { FAnimInstanceProxy::PreEvaluateAnimation(InAnimInstance); @@ -97,25 +77,25 @@ void FSGVirtualHandAnimInstanceProxy::PreEvaluateAnimation(UAnimInstance* InAnim bool FSGVirtualHandAnimInstanceProxy::Evaluate(FPoseContext& Output) { - USkeletalMeshComponent* HandMeshComponent = GetSkelMeshComponent(); + USkeletalMeshComponent* HandMeshComponent{GetSkelMeshComponent()}; if (!IsValid(HandMeshComponent)) { return FAnimInstanceProxy::Evaluate(Output); } - const USkeletalMesh* HandMesh = + const USkeletalMesh* HandMesh{HandMeshComponent-> #if ENGINE_MAJOR_VERSION >= 5 && ENGINE_MINOR_VERSION >= 1 - HandMeshComponent->GetSkeletalMeshAsset(); + GetSkeletalMeshAsset() #else - HandMeshComponent->SkeletalMesh; + SkeletalMesh #endif /* ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 1 */ - + }; if (!IsValid(HandMesh)) { return FAnimInstanceProxy::Evaluate(Output); } - const USkeleton* HandSkeleton = HandMesh->GetSkeleton(); + const USkeleton* HandSkeleton{HandMesh->GetSkeleton()}; if (!IsValid(HandSkeleton)) { return FAnimInstanceProxy::Evaluate(Output); @@ -162,14 +142,4 @@ bool FSGVirtualHandAnimInstanceProxy::Evaluate(FPoseContext& Output) } return true; -} - -void FSGVirtualHandAnimInstanceProxy::PostUpdate(UAnimInstance* InAnimInstance) const -{ - FAnimInstanceProxy::PostUpdate(InAnimInstance); -} - -void FSGVirtualHandAnimInstanceProxy::PostEvaluate(UAnimInstance* InAnimInstance) -{ - FAnimInstanceProxy::PostEvaluate(InAnimInstance); } \ No newline at end of file diff --git a/Source/SenseGlove/Private/SenseGlove/GameFramework/SGVirtualHand.cpp b/Source/SenseGlove/Private/SenseGlove/GameFramework/SGVirtualHand.cpp index 68b11e66..de627a8c 100644 --- a/Source/SenseGlove/Private/SenseGlove/GameFramework/SGVirtualHand.cpp +++ b/Source/SenseGlove/Private/SenseGlove/GameFramework/SGVirtualHand.cpp @@ -257,11 +257,11 @@ USkeletalMesh* ASGVirtualHand::GetHandMesh() const { ensureAlwaysMsgf(IsValid(Mesh), TEXT("Invalid Mesh object!")); - return + return Mesh-> #if ENGINE_MAJOR_VERSION >= 5 && ENGINE_MINOR_VERSION >= 1 - Mesh->GetSkeletalMeshAsset() + GetSkeletalMeshAsset() #else - Mesh->SkeletalMesh + SkeletalMesh #endif /* ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 1 */ ; } @@ -273,46 +273,28 @@ void ASGVirtualHand::SetHandMesh(USkeletalMesh* VirtualHandMesh, const bool bRei USkeleton* ASGVirtualHand::GetHandSkeleton() const { - ensureAlwaysMsgf(IsValid(Mesh), TEXT("Invalid Mesh object!")); - - USkeletalMesh* SkeletalMesh = -#if ENGINE_MAJOR_VERSION >= 5 && ENGINE_MINOR_VERSION >= 1 - Mesh->GetSkeletalMeshAsset() -#else - Mesh->SkeletalMesh -#endif /* ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 1 */ - ; - + USkeletalMesh* SkeletalMesh{GetHandMesh()}; ensureAlwaysMsgf(IsValid(SkeletalMesh), TEXT("Invalid SkeletalMesh object!")); - return + return SkeletalMesh-> #if ENGINE_MAJOR_VERSION >= 5 && ENGINE_MINOR_VERSION >= 1 - SkeletalMesh->GetSkeleton() + GetSkeleton() #else - SkeletalMesh->Skeleton + Skeleton #endif /* ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 1 */ ; } const FReferenceSkeleton& ASGVirtualHand::GetHandRefSkeleton() const { - ensureAlwaysMsgf(IsValid(Mesh), TEXT("Invalid Mesh object!")); - - USkeletalMesh* SkeletalMesh = -#if ENGINE_MAJOR_VERSION >= 5 && ENGINE_MINOR_VERSION >= 1 - Mesh->GetSkeletalMeshAsset() -#else - Mesh->SkeletalMesh -#endif /* ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 1 */ - ; - + USkeletalMesh* SkeletalMesh{GetHandMesh()}; ensureAlwaysMsgf(IsValid(SkeletalMesh), TEXT("Invalid SkeletalMesh object!")); - return + return SkeletalMesh-> #if ENGINE_MAJOR_VERSION >= 5 && ENGINE_MINOR_VERSION >= 1 - SkeletalMesh->GetRefSkeleton() + GetRefSkeleton() #else - SkeletalMesh->RefSkeleton + RefSkeleton #endif /* ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 1 */ ; } @@ -372,11 +354,11 @@ TMap ASGVirtualHand::GetFingersBonesRotations() return MoveTemp(Rotations); } - const TArray> HandAngles = HandPose->GetHandAngles(); + const TArray> HandAngles{HandPose->GetHandAngles()}; for (int32 FingerIndex = 0; FingerIndex < HandAngles.Num(); ++FingerIndex) { - const TArray& FingerJointAngles = HandAngles[FingerIndex]; + const TArray& FingerJointAngles{HandAngles[FingerIndex]}; for (int32 JointIndex = 0; JointIndex < FingerJointAngles.Num(); ++JointIndex) { @@ -444,26 +426,13 @@ FString ASGVirtualHand::FImpl::GetDefaultMeshPath() const bool ASGVirtualHand::FImpl::IsUsingUserMesh() const { - ensureAlwaysMsgf(IsValid(Owner->Mesh), TEXT("Invalid Mesh object!")); - - if (!IsValid( -#if ENGINE_MAJOR_VERSION >= 5 && ENGINE_MINOR_VERSION >= 1 - Owner->Mesh->GetSkeletalMeshAsset() -#else - Owner->Mesh->SkeletalMesh -#endif /* ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 1 */ - )) + const USkeletalMesh* SkeletalMesh{Owner->GetHandMesh()}; + if (!IsValid(SkeletalMesh)) { return false; } - const FString CurrentMeshPath( -#if ENGINE_MAJOR_VERSION >= 5 && ENGINE_MINOR_VERSION >= 1 - Owner->Mesh->GetSkeletalMeshAsset()->GetPathName() -#else - Owner->Mesh->SkeletalMesh->GetPathName() -#endif /* ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 1 */ - ); + const FString CurrentMeshPath(SkeletalMesh->GetPathName()); const FString LeftHandDefaultMeshPath(GetDefaultLeftHandMeshPath()); const FString LeftHandDefaultMeshPathOnly(GetDefaultLeftHandMeshPathOnly()); const FString RightHandDefaultMeshPath(GetDefaultRightHandMeshPath()); diff --git a/Source/SenseGlove/Public/SenseGlove/Animation/SGVirtualHandAnimInstance.h b/Source/SenseGlove/Public/SenseGlove/Animation/SGVirtualHandAnimInstance.h index c4a68c8a..0059d13e 100644 --- a/Source/SenseGlove/Public/SenseGlove/Animation/SGVirtualHandAnimInstance.h +++ b/Source/SenseGlove/Public/SenseGlove/Animation/SGVirtualHandAnimInstance.h @@ -44,25 +44,7 @@ UCLASS(Transient, Blueprintable, BlueprintType, meta=(BlueprintThreadSafe), Within=SkeletalMeshComponent) class SENSEGLOVE_API USGVirtualHandAnimInstance : public UAnimInstance { - GENERATED_UCLASS_BODY() - -public: - // the below functions are the native overrides for each phase - // Native initialization override point - virtual void NativeInitializeAnimation() override; - - // Native update override point. It is usually a good idea to simply gather data in this step and - // for the bulk of the work to be done in NativeUpdateAnimation. - virtual void NativeUpdateAnimation(float DeltaSeconds) override; - - // Native Post Evaluate override point - virtual void NativePostEvaluateAnimation() override; - - // Native Uninitialize override point - virtual void NativeUninitializeAnimation() override; - - // Executed when begin play is called on the owning component - virtual void NativeBeginPlay() override; + GENERATED_UCLASS_BODY() protected: virtual FSGVirtualHandAnimInstanceProxy* CreateAnimInstanceProxy() override; diff --git a/Source/SenseGlove/Public/SenseGlove/Animation/SGVirtualHandAnimInstanceProxy.h b/Source/SenseGlove/Public/SenseGlove/Animation/SGVirtualHandAnimInstanceProxy.h index 469ae774..ab7c1a00 100644 --- a/Source/SenseGlove/Public/SenseGlove/Animation/SGVirtualHandAnimInstanceProxy.h +++ b/Source/SenseGlove/Public/SenseGlove/Animation/SGVirtualHandAnimInstanceProxy.h @@ -54,31 +54,7 @@ public: FSGVirtualHandAnimInstanceProxy(UAnimInstance* Instance); protected: - /** Called when our anim instance is being initialized */ - virtual void Initialize(UAnimInstance* InAnimInstance) override; - - /** Called when our anim instance is being uninitialized */ - virtual void Uninitialize(UAnimInstance* InAnimInstance) override; - - /** Called before update so we can copy any data we need */ - virtual void PreUpdate(UAnimInstance* InAnimInstance, float DeltaSeconds) override; - - /** Update override point */ - virtual void Update(float DeltaSeconds) override; - - /** Called on the game thread pre-evaluate. */ virtual void PreEvaluateAnimation(UAnimInstance* InAnimInstance) override; - /** - * Evaluate override point - * @return true if this function is implemented, false otherwise. - * Note: the node graph will not be evaluated if this function returns true - */ virtual bool Evaluate(FPoseContext& Output) override; - - /** Called after update so we can copy any data we need */ - virtual void PostUpdate(UAnimInstance* InAnimInstance) const override; - - /** Called after evaluate so we can do any game thread work we need to */ - virtual void PostEvaluate(UAnimInstance* InAnimInstance) override; }; \ No newline at end of file