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
[C++] Global, Static 키워드 이해
C++ 2022. 12. 30. 15:40

헷갈리는 지점이 있어 (1) Global과 Static, (2) Static과 Virtual 두 가지로 나눠서 공부해 본다. 사실 내 업무 상 Global을 평상시에 쓰는 경우는 전혀 없다고 봐도 무방한데, 그래도 가끔 헷갈려서 정리해 봄. Global과 Static 공통점 프로그램이 죽을 때까지의 라이프사이클을 가진다. 초기화하지 않으면 .bss 메모리에 자동으로 0으로 초기화되어 올라간다. (이후 추가 설명 예정) 초기화도 진행하고, 이후에도 사용하는 경우 .data 메모리에 올라간다. 수식이나 함수에 의해 초기화 된 경우에는 .bss로 올라간다. .data 메모리는 순혈주의적인(..) 방법으로 초기화 된 경우에만 올라가는 영역. 차이점 사용할 수 있는 scope이 다르다. Global 변수의 경우 ..

티스토리 구리다
Memo 2022. 12. 30. 15:21

마크다운과 기본모드가 사실상 호환이 되지 않는다. `` 사용이나 -{tab} 버튼 사용이 기본모드로 돌아오면 사실상 사라지는 수준. 별로 쓰지도 않았는데 이렇게 구림을 체감할 수 있다니 ㅜㅜ