diff --git a/Content/Enemy/DA_Enemy.uasset b/Content/Enemy/DA_Enemy.uasset index 0f365a1..5745339 100644 --- a/Content/Enemy/DA_Enemy.uasset +++ b/Content/Enemy/DA_Enemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c4f70bba8e950d78f22228e72b137fd5ddfacc9d41a61d2ec020989e0e50f73 -size 1751 +oid sha256:4a746fd5a4be7c290faf668c97e316529f7beff79d228252f75bfae39af1fc57 +size 1764 diff --git a/Content/Player/BP_PlayerCharacter.uasset b/Content/Player/BP_PlayerCharacter.uasset index 60b85aa..9dcc827 100644 --- a/Content/Player/BP_PlayerCharacter.uasset +++ b/Content/Player/BP_PlayerCharacter.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3c23a5f6fca89661511a0cd69487caf9950325c06cb3665f8af66b0976bbc61e -size 53459 +oid sha256:77eecab3e6db529e8ee7ef1e57bfa1855841e0bfea0056a5e9b6122cbf57d2a9 +size 56355 diff --git a/Source/vampires/EnemyCharacter.cpp b/Source/vampires/EnemyCharacter.cpp index 2bdaa25..10b1213 100644 --- a/Source/vampires/EnemyCharacter.cpp +++ b/Source/vampires/EnemyCharacter.cpp @@ -61,7 +61,7 @@ void AEnemyCharacter::LoadDataFromDataAsset_Implementation(UEnemyDataAsset* enem if (enemyDataAsset != nullptr) { // TODO: Load more data - PaperFlipbookComponent->SetFlipbook(enemyDataAsset->PaperFlipbook); + StaticMeshComponent->SetStaticMesh(enemyDataAsset->StaticMesh); BehaviorTree = enemyDataAsset->BehaviorTree; } @@ -70,7 +70,7 @@ void AEnemyCharacter::LoadDataFromDataAsset_Implementation(UEnemyDataAsset* enem void AEnemyCharacter::ResetData_Implementation() { // TODO: Reset more data - PaperFlipbookComponent->SetFlipbook(nullptr); + StaticMeshComponent->SetStaticMesh(nullptr); BehaviorTree = nullptr; } diff --git a/Source/vampires/EnemyDataAsset.h b/Source/vampires/EnemyDataAsset.h index cbb5f54..df8b325 100644 --- a/Source/vampires/EnemyDataAsset.h +++ b/Source/vampires/EnemyDataAsset.h @@ -19,7 +19,7 @@ class VAMPIRES_API UEnemyDataAsset : public UDataAsset public: UPROPERTY(BlueprintReadWrite, EditAnywhere) - UPaperFlipbook* PaperFlipbook; + UStaticMesh* StaticMesh; UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true")) UBehaviorTree* BehaviorTree = nullptr; diff --git a/Source/vampires/VampireCharacter.cpp b/Source/vampires/VampireCharacter.cpp index a5ec008..fab983b 100644 --- a/Source/vampires/VampireCharacter.cpp +++ b/Source/vampires/VampireCharacter.cpp @@ -16,10 +16,8 @@ AVampireCharacter::AVampireCharacter() // Create Health Component HealthComponent = CreateDefaultSubobject(TEXT("Health Component")); - PaperFlipbookComponent = CreateDefaultSubobject(TEXT("Paper Flipbook Component")); - PaperFlipbookComponent->SetRelativeRotation(FRotator(0.0f, 90.0f,-90.0f)); - PaperFlipbookComponent->SetRelativeScale3D(FVector(0.2f, 0.2f, 0.2f)); - PaperFlipbookComponent->SetupAttachment(RootComponent); + StaticMeshComponent = CreateDefaultSubobject(TEXT("Static Mesh Component")); + StaticMeshComponent->SetupAttachment(RootComponent); //Create Weapon Inventory Component WeaponInventoryComponent = CreateDefaultSubobject(TEXT("Weapon Inventory Component")); @@ -29,6 +27,7 @@ AVampireCharacter::AVampireCharacter() void AVampireCharacter::BeginPlay() { Super::BeginPlay(); + } @@ -37,6 +36,11 @@ void AVampireCharacter::Tick(float DeltaTime) { Super::Tick(DeltaTime); + float newYaw = FMath::Atan2(PreviousMovementDirection.Y, PreviousMovementDirection.X) * 180.0f / PI; + FQuat newRotation = FQuat::Slerp(StaticMeshComponent->GetComponentRotation().Quaternion(), + FRotator(0.0f, newYaw, 0.0f).Quaternion(), + DeltaTime * SlerpSpeed); + StaticMeshComponent->SetRelativeRotation(newRotation); } void AVampireCharacter::Input_Move_Implementation(FVector2D value) diff --git a/Source/vampires/VampireCharacter.h b/Source/vampires/VampireCharacter.h index c135515..40444fc 100644 --- a/Source/vampires/VampireCharacter.h +++ b/Source/vampires/VampireCharacter.h @@ -20,9 +20,12 @@ class VAMPIRES_API AVampireCharacter : public ACharacter, public IInputable public: UPROPERTY(BlueprintReadWrite, EditAnywhere) - UPaperFlipbookComponent* PaperFlipbookComponent; + UStaticMeshComponent* StaticMeshComponent; FVector2D PreviousMovementDirection = FVector2d(1.0f, 0.0f); + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + float SlerpSpeed = 10.0f; protected: UPROPERTY() UHealthComponent* HealthComponent;