이번 포스팅은 언리얼4 C++과 블루프린트의 연동을 중점을 주제로 작성을 시작합니다,

변수, 함수, 클래스 등 C++데이터를 블루프린트로 연동하는 주제이며 총 3개 ~ 4개 시리즈로 포스팅이 작성될 것 입니다.

 


Reflection(리플렉션)

Reflection(리플렉션)이란 요약하면 프로그램의 런타임 시점에서 객체의 정보, 구조를 관리 & 수정 할 수 있게 엑세스 하는 것을 의미합니다, Java나 C# 등 에서는 리플렉션을 지원하지만 C++에서는 지원하지 않아 언리얼4 엔진 자체적으로 리플렉션이 구현되었습니다.

 

이것을 "언리얼 프로퍼티 시스템"이라고 하는데 메크로 함수 형태로 되어 있으며 이것을 통해 GC(Garbage Collection)나 블루프린트와 연동 등을 할 수 있습니다, 이번 포스팅에서는 UE4 C++와 블루프린트 연동에 대한 주제로 리플렉션에 대한 소개를 이것으로 마치겠습니다.

 

https://www.unrealengine.com/ko/blog/unreal-property-system-reflection?lang=ko

 

언리얼 프로퍼티 시스템 (리플렉션)

리플렉션(Reflection)은 프로그램이 실행시간에 자기 자신을 조사하는 기능입니다. 이는 엄청나게 유용한 데다 언리얼 엔진 테크놀로지의 근간을 이루는 것으로, 에디터의 디테일 패널, 시리얼라이제이션, 가비지 콜렉션, 네트워크 리플리케이션, 블루프린트/C++ 커뮤니케이션 등 다수의 시스템에 탑재된 것입니다. 그러나 C++ 는 어떠한 형태의 리플렉션도 지원하지 않아, 언리얼에는 자체적으로 C++ 클래스, 구조체, 함수, 멤버 변수, 열거형 관련 정보를 수

www.unrealengine.com

 


언리얼 메크로함수

언리얼 C++에는 많은 메크로 함수가 있습니다, UENUM(), UCLASS(), USTURCT(), UFUNCTIONI(), UPROPERTY()등 이 있으며 클래스, 변수, 함수 등 상황에 맞게 리플렉션을 위한 메크로 함수를 작성합니다, 위 메크로함수를 잘 조작함으로서 C++와 블루프린트 연동을 잘 할 수 있습니다.

 

 

 


1. UPROPERTY()

https://darkcatgame.tistory.com/62?category=795582

 

UE4 C++와 블루프린트 연동 기본 -1. UPROPERTY()

UPROPERTY() UPROPERTY()는 변수에 붙는 리플렉션 메크로입니다, 위 코드 처럼 UPROPERTY() 메크로에 인자 값을 넣어서 용도에 맞게 활용 할 수 있습니다. 내부에 들어가는 인자 스타일은 제가 자주 쓰는 것 기..

darkcatgame.tistory.com

 

2. UFUNCTION()

https://darkcatgame.tistory.com/64

 

UE4 C++와 블루프린트 연동 기본 -2. UFUNCTION()

UFUNCTION() 이전 UPROPERTY()는 C++의 변수를 블루프린트와 연동하는 내용이였으면 이번엔 함수에 대해 포스팅을 합니다. Category나 Meta키워드는 UPROPERTY와 중복되는 내용이니 이전 포스팅을 참고해 주시길..

darkcatgame.tistory.com

 

3. UCLASS() - 미작성

 

4. UEnum & USTRUCT() - 미작성

 


WRITTEN BY
CatDarkGame
Technical Artist dhwlgn12@gmail.com

,