Make Unreal REAL.
article thumbnail
언리얼의 다양한 시간 정보

이득우의 언리얼 C++ 게임 개발의 정석 프레임 시간을 가져온다. GetWorld()->GetDeltaSeconds() 게임이 시작된 이후 경과된 게임 시간을 가져온다. GetWorld()->GetTimeSeconds() 게임이 시작된 이후 중지된 시간을 제외한 경과된 게임 시간을 가져온다. GetWorld()->GetUnpausedTimeSeconds() 게임이 시작된 경과된 현실 시간을 가져온다. GetWorld()->GetRealTimeSeconds() 게임이 시작된 이후 중지된 시간을 제외한 경과된 현실 시간을 가져온다. GetWorld()->GetAudioTimeSeconds()

article thumbnail
액터의 주요 이벤트 함수

이득우의 언리얼 C++ 게임 개발의 정석 PostInitializeComponents 모든 컴포넌트의 초기화가 완료되면 호출된다. OnActorSpawned 액터가 스폰되면 생성된다. BeginPlay 액터가 게임에 참여할 때 호출된다. Tick 게임 플레이 동안 매 프레임마다 호출된다. EndPlay 액터가 게임에서 퇴장할 때 호출된다. 이 외에도 다양한 이벤트 함수가 존재한다. Actor Lifecycle What actually happens when an Actor is loaded or spawned, and eventually dies. docs.unrealengine.com 이벤트 함수를 오버라이딩하여 사용할 수 있다. PostInitializeComponents -> BeginPlay ->..

article thumbnail
Assertions

이득우의 언리얼 C++ 게임 개발의 정석 check 어설션은 조건이 거짓이면 에디터를 종료시켜 버린다. ensure 어설션은 에디터를 종료시키지 않고 Output Log에 오류를 출력한다. 어설션을 통해 효과적인 디버깅을 하기 위해서는 디버깅 기호를 설치하는 것이 좋다.

article thumbnail
UE_LOG 응용

이득우의 언리얼 C++ 게임 개발의 정석 ABLOG_CALLINFO 현재 함수 이름과 라인 수를 FString 문자열로 만든다. #define ABLOG_CALLINFO (FString(__FUNCTION__) + TEXT("(") + FString::FromInt(__LINE__) + TEXT(")")) ABLOG_S(Verbosity) 현재 함수 이름과 라인 수를 Verbosity 수준으로 로깅한다. #define ABLOG_S(Verbosity) UE_LOG(ArenaBattle, Verbosity, TEXT("%s"), *ABLOG_CALLINFO) ABLOG(Verbosity, Format, ...) 현재 함수 이름과 라인 수, 포맷 스트링을 Verbosity 수준으로 로깅한다. #define ..

article thumbnail
UE_LOG

이득우의 언리얼 C++ 게임 개발의 정석 카테고리 기능마다 고르를 구분하기 위해 사용된다. 로깅 수준 Log(로그), Warning(경고), Error(오류) 세 가지가 있다. UE_LOG(카테코리, 로깅 수준, 포맷 스트링, 인자..) 언리얼의 로그는 Output Log 윈도우나 Saved/Logs 폴더에서 확인할 수 있다. 필터를 설정해 특정 수준 혹은 카테고리의 로그만 볼 수 있다. 게임 모듈 헤더 파일에 새로운 로그 카테고리를 선언한다. 게임 모듈 소스 파일에 로그 카테고리를 정의한다. 각 C++ 클래스의 헤더 파일이 CoreMinimal.h가 아닌 게임 모듈 헤더 파일을 포함하도록 한다. 액터의 이름을 가져오는 GetName() 함수는 FString 타입의 문자열을 반환하므로 역참조(*)를 해줘..

article thumbnail
에셋 오브젝트 변수는 static으로 작성

이득우의 언리얼 C++ 게임 개발의 정석 에셋의 경로는 게임 실행 중에 변경될 일이 없다. 따라서, 클래스 생성자가 호출될 때마다 에셋 오브젝트 변수를 생성하고 초기화하는 것은 불필요한 작업이다.

검색 태그