헤더
// TimeLine Section
FOnTimelineFloat ADSCallback;
FOnTimelineEvent ADSTimelineFinish;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Timeline)
TObjectPtr<class UTimelineComponent> ADSTimeline;
UPROPERTY(EditAnywhere,BlueprintReadOnly,Category = Timeline)
TObjectPtr<class UCurveFloat> ADSCurve;
헤더에서 선언해야 할 것 네가지
- TimelineComponet
- CurveFloat
- FOnTimelineEvent Delegate
- FOnTimelineFloat Delegate
1번 타임라인 컴포넌트는 타임라인을 재생하는 컴포넌트 이다.
2번 CurveFloat는 타임라인을 재생할 동안 따를 커브 오브젝트이다.
3번 델리게이트는 매개변수가 필요하지 않은 이벤트를 실행시킬 때 사용하는 델리게이트이다.
4번 델리게이트는 float 값이 변하는 타임라인에 사용하는 델리게이트 이다. 보통 AddInterpFloat 함수와 같이 쓰인다.
생성자
ADSTimeline = CreateDefaultSubobject<UTimelineComponent>(TEXT("ADSTimeline"));
ADSCallback.BindUFunction(this, FName("ADSTimeLineFunc"));
//ADSTimelineFinish.BindUFunction(this, FName("EndADS")); // 원할 시 구현
구현부
ADSTimeline->AddInterpFloat(ADSCurve, ADSCallback);
ADSTimeline->SetTimelineLength(0.15f);
ADSTimeline->SetLooping(false);
//ADSTimeline->SetTimelineFinishedFunc(ADSTimelineFinish); //원할 시 구현
나는 토글 형식으로 타임라인을 실행시켜 주었다.
void AVICharacter::StartADS()
{
if (!bADS)
{
D("StartADS")
bADS = true;
ADSTimeline->Play();
}
else
{
D("EndADS")
bADS = false;
ADSTimeline->ReverseFromEnd();
}
}
레퍼런스
https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/Blueprints/UserGuide/Timelines/
Timelines
An Overview of Timelines in Unreal
docs.unrealengine.com
'언리얼엔진5 > 각종 지식' 카테고리의 다른 글
[UE5] ProjectileMovementComponent (0) | 2024.06.12 |
---|---|
[UE5] Quat(쿼터니언) / Rotator (로테이터) (0) | 2024.06.12 |
[UE5] 타이머 사용하기 (0) | 2024.06.12 |
[UE5] 월드에 액터를 스폰하는 방법 (SpawnActor) (0) | 2024.06.12 |
[UE5] FPS 에임 오프셋 만들기 (캐릭터 상체 상하 움직임) (0) | 2024.06.01 |