13 #include "DomainRandomizationDNNPCH.h"
14 #include "RandomComponentBase.h"
15 #include "Animation/AnimInstance.h"
16 #include "RandomAnimationComponent.generated.h"
19 enum class ENVHalfBodyType : uint8
23 NVHalfBodyType_MAX UMETA(Hidden)
27 enum class ENVHalfBodyBoneType : uint8
38 NVHalfBodyBoneType_MAX UMETA(Hidden)
41 USTRUCT(BlueprintType)
47 UPROPERTY(EditAnywhere)
48 FName BoneNames[(uint8)ENVHalfBodyBoneType::NVHalfBodyBoneType_MAX];
51 USTRUCT(BlueprintType)
57 UPROPERTY(EditAnywhere)
61 FName GetBoneName(ENVHalfBodyType BodySide, ENVHalfBodyBoneType BoneType)
const
63 return SideBoneData[(uint8)BodySide].BoneNames[(uint8)BoneType];
68 UCLASS(Blueprintable, ClassGroup = (NVIDIA), meta = (BlueprintSpawnableComponent))
76 virtual void BeginPlay()
override;
79 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Randomization)
80 bool bUseAllAnimationsInAFolder;
83 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Randomization, meta = (EditCondition =
"bUseAllTextureInAFolder"))
84 FString AnimationFolderPath;
86 UPROPERTY(EditAnywhere, Category = Randomization, meta = (EditCondition =
"!bUseAllTextureInAFolder"))
87 TArray<UAnimSequence*> RandomAnimList;
89 UPROPERTY(EditAnywhere, Category = Randomization)
90 float TimeWaitAfterEachAnimation;
92 UPROPERTY(EditAnywhere, Category = Randomization)
96 virtual void OnRandomization_Implementation()
override;
97 virtual void OnFinishedRandomization()
override;
101 UAnimSequence* CurrentAnimation;
104 TArray<FSoftObjectPath> FolderAnimSequenceReferences;