핫 리로딩
언리얼 엔진 4 C++ 프로젝트를 생성했을 때, 비주얼 스튜디오와 언리얼 엔진 4가 동시에 열린다.
클래스를 변경했을 때 효과를 살펴보기 위해 실제로 클래스를 사용해 보자
편집 -> 프로젝트 세팅 -> 맵 & 모드 -> 기본 게임모드에서 자신이 선택한 이름의 게임모드로 변경해준다.
게임 모드는 게임 타입의 규칙을 포함하는 클래스이다.
비주얼 스튜디오의 솔루션 탐색기에서 미리 생성된 파일들을 확인할 수 있다.
Games -> 프로젝트 명 -> Source -> 프로젝트 명에서 GameModeBase의 헤더와 cpp파일의 내용을 수정해 준다.
헤더 파일에서 BeginPlay라는 함수를 public으로 선언해 주고 cpp에서는 해당 함수를 상속한다.
두 파일을 수정한 후 저장하고 언리얼 엔진에서 컴파일을 진행해 준다.
특이 사항이 없다면 컴파일 완료가 노출된다.
지금 당장은 이 코드가 아무런 일도 하지 않지만, 앞으로 변화를 추가할 수 있는 준비가 완료되었다.
비주얼 스튜디오의 솔루션 탐색기에서 프로젝트 우클릭 후 Build를 하는 방식으로도 컴파일이 가능하다.
코드 변경 사항이 발생할 때마다 컴파일 하는 것을 기억해두자.
컴파일 하지 않으면 프로젝트 변경 사항이 반영되지 않는다.
UE_LOG
내부 게임 데이터 출력을 위해 로깅은 매우 중요한 요소이다.
로그 툴을 사용하면 UE4 편집기에서 제공하는 Log창에 정보를 출력할 수 있다.
다음과 같은 방식으로 로그 메시지를 입력해 준다.
이제 비주얼 스튜디오에서 저장을 한 후 언리얼 엔진에서 컴파일을 진행해 준다.
언리얼 엔진의 창 -> 개발자 툴 -> 출력 로그를 실행하여 로그 창을 띄워준다.
이제 게임 플레이 버튼을 누르면 Warning로그가 성공적으로 출력하는 것을 볼 수 있다.
UE_LOG 매크로는 최소 세개의 파라미터를 받는다.
- Log 카테고리
- Log 레벨
- 로그 메시지 자체를 표현하는 텍스트 문자열(유니코드, printf와 유사)
요렇게 표현이 가능하다는 뜻이다.
FString
언리얼 엔진에서 String 대신 FString을 사용하는 주요 이유는 FString이 언리얼 엔진의 코어 프레임워크에 최적화된 문자열 클래스로 설계되었기 때문이다.
FString은 언리얼 엔진의 메모리 관리, 성능 최적화, 그리고 다양한 플랫폼과의 호환성을 고려하여 만들어졌다.
> 언리얼 엔진은 다양한 플랫폼(PC, 콘솔, 모바일)에서 성능을 극대화하기 위해 메모리와 CPU 사용을 최적화하는 데 중점을 두고 있으며, FString은 이러한 요구사항을 반영하여 성능 면에서 std::string보다 더 적합
UE4 환경에서 작업을 할 때 가끔 여러 변수를 사용해 하나의 문자열을 만들어야 하는 상황이 발생한다.
이때 FStirng::Printf 또는 FString::Format 함수를 사용하면 쉽게 처리할 수 있다.
어우 적응안되긴 한다.
'게임 개발 > 언리얼 엔진4(UE4)' 카테고리의 다른 글
[UE4] 언리얼 엔진 클래스, UCLASS, UPROPERTY (6) | 2024.11.05 |
---|---|
[UE4] 언리얼 엔진4 설치 및 프로젝트 세팅 (3) | 2024.11.04 |
[UE4] 언리얼 엔진4 IDE, 비쥬얼 스튜디오 (1) | 2024.11.04 |