ONRECU
article thumbnail
언리얼 Delegate, Event 개념 정리
UE5 2023. 1. 1. 22:56

Delegate와 Event 모두 특정 이벤트(함수 호출, 변수 값 변화 등) 발생 시 호출해 주는 역할을 하는데, 둘은 언리얼에서 분리되어 있는 개념이다. 어떻게 다른 것인지 알아본다. Delegate 기본적으로 C#의 델리게이트 형식으로 제공되는 언리얼 매크로이다. 주의점 : Heap 메모리를 할당하기 때문에 가급적이면 참조 형태로 전달 (pass delegates by reference) 해야 한다. 일반(Single), 다이내믹(Dynamic), 멀티캐스트(Multicast) 델리게이트가 존재한다. 각 델리게이트에 대한 선언 / 바인딩 / 실행 / 바인딩 해제의 경우 link 참고. 예시 1. 선언 AIPerceptionComponent 파일에는 두 개의 델리게이트가 선언되어 있다. 이 중 OnT..

article thumbnail
UPROPERTY, UFUNCTION 개념 정리
UE5 2023. 1. 1. 15:57

언리얼의 주요 매크로 중 하나인 UPROPERTY와 UFUNCTION을 정리해 본다. UPROPERTY와 UFUNCTION에서는 다수의 metadata와 specifier를 제공해 준다. 해당 데이터를 바탕으로 UHT (Unreal Header Tool) 가 해당 멤버 변수나 메소드에 대한 추가 정보를 생성한다. 이런 기능 덕분에, 결과적으로 C++의 기본 기능 + UHT가 생성한 추가 정보가 제공될 수 있다. UPROPERTY UPROPERTY([specifier, specifier, ...], [meta(key=value, key=value, ...)]) Type VariableName; UCLASS 혹은 USTRUCT의 멤버 변수에 대한 추가 사항을 기술한다. UObject 내에서 UPROPERTY..

article thumbnail
UObject 개념과 생성 / 삭제 시점
UE5 2022. 12. 23. 13:16

UObject란? 언리얼 객체의 기본이 되는 시스템이라고 생각하면 된다. 언리얼을 블루프린트로 처음 접하는 경우 이 개념이 표면적으로 드러나지 않기 때문에 낯설 수 있다. C++로 구현을 시작하면 반드시 숙지해야 하는 개념이다. UObject를 상속받은 클래스는 언리얼이 제공하는 관리 시스템의 이점을 모두 누릴 수 있다. 예를 들면, 대표적으로는 (=피부에 와닿는 기능으로는) 아래와 같은 기능을 사용할 수 있다. CDO (Class Default Object) 관리 언리얼은 오브젝트의 기본 인스턴스를 미리 만들어 놓고 이를 복제하는 방식으로 생성한다. 이 기본 인스턴스가 CDO Instance. 엔진이 초기화 될 때 모든 UObject를 인스턴싱하는데, 이 때 CDO들이 만들어지며 이 시점에 해당 클래스..