언리얼 엔진뿐만 아니라 어느 정도 규모가 있는 작업을 하게 되면 프로젝트에 사용하는 데이터의 양이 매우 많아집니다.
데이터의 양이 너무 많아지고 방대해지므로 C++ 코드만으로 모든 상황을 다루기 힘들어집니다.
이런 상황에서 언리얼 엔진을 사용하는 경우 C++ 클래스뿐만이 아닌 블루 프린트를 사용하는 것은 당연합니다.
또한 블루 프린트를 사용할 때 얻는 이점도 있으므로 C++과 블루 프린트를 사용하는 것에 익숙해질 필요가 있습니다.
그렇다면 어떻게 C++과 블루 프린트를 연결지어 사용할 수 있을까요?
이를 위해 언리얼 엔진에서는 C++ 클래스에서 특별한 지시자를 사용하게끔 설계해주었습니다.
간단하게 표로 정리해보았습니다.
1) C++ 변수를 블루 프린트에서 노출
위와 같이 블루 프린트에서 변수를 노출시키는 지시자들이 존재합니다.
사용방법은 다음과 같습니다.
위와 같이 작성한 후 블루 프린트를 만들었습니다.
생성된 블루 프린트의 클래스와 인스턴스에서도 위와 같이 값이 보이지만 수정할 수 없는 것을 확인할 수 있습니다.
2) C++ 변수를 블루 프린트의 이벤트 그래프에서 노출
이번에는 C++ 변수를 블루 프린트의 이벤트 그래프에서 노출시키는 방법을 알아보겠습니다.
표로 간단히 정리해보았습니다.
위의 2개 지시자외에도 많이 존재하지만, 가장 많이 접할 2개의 지시자를 소개해드리겠습니다.
정리된 대로 이벤트 그래프에서 변수를 어떻게 사용할 것인지 결정하는 지시자입니다.
이벤트 그래프는 블루 프린트에서 C++의 코드처럼 동작하므로 노드들을 연결하여 변수들을 이리저리 다룰 수 있습니다.
사용방법은 다음과 같습니다.
위와 같이 C++ 클래스에서 작성하고 블루 프린트를 생성해보겠습니다.
블루 프린트의 이벤트 그래프에서 Num2에 대한 Get과 Set을 생성할 수 있음을 확인할 수 있습니다.
3) C++ 함수를 블루 프린트의 이벤트 그래프에서 노출
마지막으로 함수를 블루 프린트에서 노출시키는 방법을 알아보겠습니다.
함수를 노출시킴으로써
복잡한 작업은 코드에서 함수를 나눠 처리하고 블루 프린트에서 이를 연결하는 등의 조치가 가능합니다.
간단하게 표로 정리해보았습니다.
사용방법은 다음과 같습니다.
C++ 클래스에서 아래와 같이 선언하였습니다.
이제 블루 프린트를 생성하고 확인해보면
실행 핀없이 return 핀만이 존재하는 것을 확인할 수 있습니다.
위에서 소개해드린 지시자들 말고도 많은 지시자들이 있고,
또 UENUM(), UCLASS() , USTRUCT() 등 많은 리플렉션 매크로와 호환되는 지시자들이 있지만
포스트에서는 위의 내용만 정리하였습니다.
더 많은 내용을 알고 싶으신 분들은 아래의 링크로 접속해주시면 되겠습니다.
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/metadata-specifiers-in-unreal-engine
'언리얼 > 언리얼 C++' 카테고리의 다른 글
커스텀 로그 (0) | 2024.10.05 |
---|---|
언리얼 향상된 입력 시스템 (0) | 2024.09.21 |
언리얼 구형 입력 시스템 (0) | 2024.09.21 |
언리얼 엔진의 메모리 관리 (3) ~ 패키지 (0) | 2024.08.18 |
언리얼 엔진의 메모리 관리 (2) ~ 직렬화 (0) | 2024.08.11 |