이득우의 언리얼 C++ 게임 개발의 정석 언리얼 에디터 실행 도중 에디터가 사용 중인 모듈을 컴파일하면 자동으로 기존 모듈을 내리고 새로운 모듈로 바꾸는 작업을 수행한다. 이미 레벨에 배치된 액터의 속성 값은 변경된 값이 아닌 이전 코드의 값을 유지한다. 언리얼 오브젝트의 기본값을 변경하는 경우 가급적 에디터를 종료하고 다시 시작하는 것이 좋다. 컴파일할 때마다 기존 모듈을 덮어 쓰지 않고 숫자가 붙은 새로운 파일을 생성해 로드한다. 언리얼 에디터를 완전히 종료하고 컴파일하면 임시 모듈들은 자동으로 제거된다.
이득우의 언리얼 C++ 게임 개발의 정석 언리얼 엔진은 컴포넌트의 이름 통해 해시 값을 생성하여 각각을 구분하기 때문에 같은 컴포넌트 이름을 지정할 수 없다. 다른 종류의 컴포넌트 간에도 마찬가지이다.
이득우의 언리얼 C++ 게임 개발의 정석 선언한 객체를 언리얼 엔진이 자동으로 관리하도록 하는 매크로이다. A 혹은 U로 시작하는 언리얼 오브젝트는 GC를 통해 관리된다. T 등으로 시작하는 C++ 객체는 스마트 포인터를 통해 관리된다. 블루프린트에서 사용하기 위한 여러가지 옵션도 제공한다. 언리얼 오브젝트가 되기 위해서는 다음을 만족해야 한다. 클래스 선언 위에 UCLASS() 매크로가 있어야 한다. 클래스 내부에 GENERATED_BODY() 매크로가 있어야 한다. 액터는 A, 액터가 아니면 U 등 규칙에 맞는 접두사가 붙어야 한다. "클래스.generated.h" 헤더를 포함해야 한다. 언리얼 헤더 툴에 의해 컴파일 때마다 자동으로 새로 생성된다. 클래스 선언 앞에 모듈_API 키워드를 추가해 모듈..
이득우의 언리얼 C++ 게임 개발의 정석 Engine.h 혹은 UnrealEd.h와 같은 모놀리식(하나의 큰 덩어리) 헤더 파일을 포함해 한꺼번에 컴파일 하다 보니 엔진에서 지원하는 기능이 추가됨에 따라 그 크기도 커져 컴파일 시간이 너무 많이 걸리는 문제가 있었다. IWYU는 사용할 것만 최소한으로 포함해 컴파일 시간을 단축하는 기법이다. IWYU A brief overview of the updated code base for UE4, now using an Include-What-You-Use (IWYU) dependency model. docs.unrealengine.com .h 헤더 파일 CoreMinimal.h를 포함해야 한다. 포인터 객체를 생성할 때는 클래스 전방 선언을 사용한다. clas..
이득우의 언리얼 C++ 게임 개발의 정석 액터는 여러 개의 컴포넌트를 가질 수 있으며 그중에서 액터를 대표하는 하나의 루트 컴포넌트를 반드시 지정해야 한다.
이득우의 언리얼 C++ 게임 개발의 정석 레벨을 구성하는 미리 만들어진 액터는 흰색으로 표시되고, 새롭게 생성된 액터는 노란색으로 표시된다.