kinect/AzureKinectForUE/Source/AzureKinect/Public/AnimNode_AzureKinectPose.h

38 lines
1013 B
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "BonePose.h"
#include "BoneControllers/AnimNode_SkeletalControlBase.h"
#include "AzureKinectDevice.h"
#include "AnimNode_AzureKinectPose.generated.h"
DECLARE_LOG_CATEGORY_EXTERN(AzureKinectAnimNodeLog, Log, All);
/**
*
*/
USTRUCT(BlueprintInternalUseOnly)
struct AZUREKINECT_API FAnimNode_AzureKinectPose : public FAnimNode_Base
{
GENERATED_BODY()
public:
FAnimNode_AzureKinectPose();
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Transform", meta = (PinShownByDefault))
FAzureKinectSkeleton Skeleton;
UPROPERTY(EditAnywhere, Category="Bone Mapping")
TMap<EKinectBodyJoint, FBoneReference> BonesToModify;
// FAnimNode_Base interface
virtual void Update_AnyThread(const FAnimationUpdateContext& Context) override;
virtual void EvaluateComponentSpace_AnyThread(FComponentSpacePoseContext& Output) override;
private:
TArray<FBoneTransform> BoneTransforms;
};