카메라 페이드라는 기능을 사용해봤습니다.
이런 사소한 부분들이 게임다워지는데 도움을 많이 주는것같습니다.
// PlayerCameraManager.cpp
void APlayerCameraManager::StartCameraFade(float FromAlpha, float ToAlpha, float InFadeTime, FLinearColor InFadeColor, bool bInFadeAudio, bool bInHoldWhenFinished)
{
bEnableFading = true;
FadeColor = InFadeColor;
FadeAlpha = FVector2D(FromAlpha, ToAlpha);
FadeTime = InFadeTime;
FadeTimeRemaining = InFadeTime;
bFadeAudio = bInFadeAudio;
bAutoAnimateFade = true;
bHoldFadeWhenFinished = bInHoldWhenFinished;
}
APlayerController 의 PlayerCameraManager.cpp 에 있는 StarStartCameraFade 함수를 보면, 내가 원하는대로 카메라페이드를 구현할 수 있습니다.
저는 레벨에 플레이어가 스폰되었을 때와 죽었을 때, 카메라 페이드를 적용시켜봤습니다.
// MainGameMode.cpp
AMyPlayerController* pController = Cast<AMyPlayerController>(GetWorld()->GetFirstPlayerController());
FLinearColor Color(0.f,0.f,0.f,0.f);
if (IsValid(pController))
{
pController->PlayerCameraManager->StartCameraFade(1.f, 0.f, 3.f, Color, true, false);
}
// MyPlayerCharacter.cpp
AMyPlayerController* pController = Cast<AMyPlayerController>(GetWorld()->GetFirstPlayerController());
FLinearColor Color(0.f, 0.f, 0.f, 0.f);
if (IsValid(pController))
{
pController->PlayerCameraManager->StartCameraFade(0.f, 1.f, 1.5f, Color, true, false);
}
FLineColor는 (0,0,0)으로 검정색을 했고, 스폰되었을 때는 1에서 0, 죽었을 때는 0에서 1로 알파값을 알맞게 조절했습니다.
'게임 개발 (언리얼 엔진)' 카테고리의 다른 글
UE4 게임 개발 EscapeGame - 12 : 좀비 AI (비헤이비어트리, 블랙보드) (0) | 2020.12.18 |
---|---|
UE4 게임 개발 EscapeGame - 11 : 좀비 애셋 추가 (0) | 2020.12.15 |
UE4 게임 개발 EscapeGame - 9 : UI(User Interface) (0) | 2020.12.09 |
UE4 게임 개발 EscapeGame - 8 : 애니메이션 블루프린트와 재질기반사운드 (0) | 2020.12.07 |
UE4 게임 개발 EscapeGame - 7 : 카메라쉐이크(CameraShake) (0) | 2020.12.04 |