본문 바로가기
Unreal Engine/[Udemy] UE5 Ultimate Shooter

9. Delta Time & 카메라 회전

by 헛둘이 2023. 3. 31.
void AShooterCharacter::TurnAtRate(float Rate)
{
	AddControllerYawInput(Rate * BaseTurnRate * GetWorld()->GetDeltaSeconds());
}

void AShooterCharacter::LookUpAtRate(float Rate)
{
	AddControllerPitchInput(Rate * BaseLookUpRate * GetWorld()->GetDeltaSeconds());
}

- 위 두 함수를 추가하며, 방향키를 통해 카메라를 회전시키는 과정을 실습했다.

- 변수를 추가하는 과정에서 Property에 추가되는 내용이 왜 필요한지를 에러를 띄워가며 알려주는 부분이 인상깊었다.

	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
	float BaseTurnRate;

	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
	float BaseLookUpRate;

- 맨 뒤에 AllowPrivateAccess를 적어주지 않으면 Private 멤버에 접근할 수 없다며 컴파일 오류가 발생한다

- 구체적인 에러 내용을 보기 위해 언리얼 엔진에서 핫 리로드를 통해 로그를 확인하는 부분도 유심히 보았다.

 

DeltaTime

- 기존에 배운 내용이지만 한번 더 짚고 넘어갈 수 있었다.

- 예를 들어 게임 루프가 1초에 60회 실행된다고 했을 때, 이 때 Delta TIme은 1/60초 또는 0.0166초가 된다.

- 게임은 초당 60~120프레임을 갖는데, 한 프레임이 갖는 시간이 처리되는 작업의 양에 따라 짧아질 수 있고, 길어질 수도 있다.

- 이 시간을 우리가 1초에 이동해야 할 값에 곱해줌으로써 이번 프레임에 얼만큼 이동해야 하는지를 결정지을 수 있다.

 

 

댓글