반응형
C++은 프로그래머가 직접 힙 메모리를 할당했을 경우, 해제까지 직접 해주어야 메모리 릭이 발생하지 않는다. 반면 언리얼 엔진에선 언리얼 실행 환경을 통해 객체가 더 이상 사용되지 않으면 할당된 메모리를 자동으로 소멸시켜주는 기능을 제공한다.
이러한 기능을 제공받기 위해서는 객체를 선언할 때 다음과 같이 UPROPERTY라는 매크로를 사용해주어야 한다.
UPROPERTY()
UStaticMeshComponent* Mesh;
하지만 이러한 기능을 모든 객체에 적용할 수 있는 것은 아니다. 언리얼 오브젝트라는 특별한 객체에만 사용이 가능한데, 다음과 같은 조건이 필요하다.
- UCLASS 매크로가 선언된 클래스
- U혹은 A 접두사가 붙은 클래스
- generated.h 헤더 include가 선언된 클래스
- 모듈명_API 키워드가 클래스 선언 앞에 존재하는 클래스 -> 다른 모듈에서 해당 객체에 접근할 수 있도록 해준다.
'게임 공부 > Unreal Engine' 카테고리의 다른 글
적을 향하도록 회전하는 방법(로직)에 대해 간단하게 알아보자 (0) | 2021.11.29 |
---|---|
[UE4] 액터가 게임에 참여할 때 호출되는 함수들 (0) | 2021.07.29 |
[UE4] 언리얼 C++ 프로젝트의 컴파일과 실행 과정 (0) | 2021.07.23 |
[UE4] 주요 기본 함수 및 타입 (0) | 2021.07.22 |
[UE4] 언리얼 엔진 Pitch Yaw Roll (0) | 2021.07.21 |
댓글