KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
UOrbitalBehaviorComponent.h
이 파일의 문서화 페이지로 가기
1// Copyright (c) 2025 Doppleddiggong. All rights reserved. Unauthorized copying, modification, or distribution of this file, via any medium is strictly prohibited. Proprietary and confidential.
2
7#pragma once
8
9#include "CoreMinimal.h"
10#include "Components/ActorComponent.h"
11#include "UOrbitalBehaviorComponent.generated.h"
12
18UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
19class COFFEELIBRARY_API UOrbitalBehaviorComponent : public UActorComponent
20{
21 GENERATED_BODY()
22
23public:
25 UOrbitalBehaviorComponent();
26
28 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Target Float|Follow", meta=(ClampMin="0.0"))
29 float AnchorLerpSpeed = 3.f;
30
32 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Target Float|Follow")
33 bool bUseConstantFollow = false;
34
36 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Target Float|Follow", meta=(EditCondition="bUseConstantFollow", ClampMin="0.0"))
37 float AnchorFollowUnitsPerSec = 800.f;
38
40 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Target Float|Targets")
41 AActor* TargetActor = nullptr;
42
44 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Target Float|Targets")
45 AActor* PlayerActor = nullptr;
46
48 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Target Float|Orbit", meta=(ClampMin="0.0"))
49 float OrbitRadius = 200.f;
50
52 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Target Float|Orbit")
53 float HeightOffset = 0.f;
54
56 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Target Float|Orbit")
57 float IdleYawSpeedDegPerSec = 90.f;
58
60 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Target Float|Vertical")
61 float BobAmplitude = 30.f;
62
64 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Target Float|Vertical", meta=(ClampMin="0.0"))
65 float BobSpeed = 1.2f;
66
68 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Target Float|Movement")
69 bool bSweepMovement = false;
70
72 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Target Float|Rotation")
73 bool bFacePlayer = true;
74
76 UFUNCTION(BlueprintCallable, Category="Target Float|Follow")
77 void SetTargetActor(AActor* NewTarget, bool bSnapAnchor = false, bool bPreserveOrbitPhase = true);
78
79protected:
81 virtual void BeginPlay() override;
83 virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
84
85private:
86 // 내부 상태
87 float AngleDeg = 0.f;
88 float TimeAcc = 0.f;
89 FVector AnchorLoc = FVector::ZeroVector;
90
92 void Tick_TargetFloat(float DeltaTime);
93};