#언리얼에선 C++ 리플렉션 시스템을 구현해 놓기 위해 많은 노력을 했다.
ㆍ언리얼의 리플렉션의 도움을 받으려면 프로퍼티 지정자를 반드시 적어줘야 한다.
#프로퍼티 지정자 공식 링크 :
ㆍ 프로퍼티와 관련된 옵션은 위 링크에서 찾을 수 있다.
ㆍ 다양한 옵션들이 있고, 지정할 수 있다.
ㆍ블루프린트와 호환하는 옵션 등등도 많으니 정독 ㄱㄱ
ㆍ C++클래스는 BP와 호환이 된다. (역방향인 BP클래스가 C++로는 안됨)
ㆍ private와는 BlueprintReadWrite는 호환이 안돼서 protected로 바꿔줬다.
ㆍ BP_R1Actor에서도 프로퍼티가 직관적으로 보이는 모습.
속도는 C++클래스가 압도적으로 빠르다. 하지만 눈으로 보이는 작업을 하기 편한건 BP다. 잘 혼합해 사용하자
# GameMode와 GameInstance
ㆍ 내가익숙한 머 전역으로 쓸 싱글톤이든 뭐든 그런 데이터들... 언리얼에서도 그런걸 한번 만들어 보자
ㆍ 경로를(폴더를) 만들면서 클래스를 생성하면 cpp에 include부분의 앞 폴더부분을 지워줘야 한다.
ㆍ 그러고 나서 라이브코딩을 하든, 에디터를 종료 후 빌드를 하고 재실행을 하든... 하면 아래와같이 필터가 생성되었다.
ㆍ 라이브코딩은 쓰면 쓸수록 불안정한것 같다.
# 상속기반
ㆍ 이후 cpp기반의 블루프린트도 상속받아 만들어주었다.
ㆍ 프로젝트 세팅에서 내가 만든 게임인스턴스로 설정을 바꿀 수 있다.
# 그렇다면 GameMode는?
ㆍ 월드 세팅 창을 켜주자.
ㆍ 내가만든 GameMode를 지정
ㆍ GameInstance는 그냥 단순한 싱글톤 . 끝
ㆍ 하지만 GameMode는 좀 중요하다.
- 게임모드는 예를들어 오버워치의 점령전, 섬멸전, 등등 그런걸 구별할 수 있게 하는 클래스라고 생각하자.
ㆍ 이걸 내가 만든 클래스들로 조립해 주는거군...
게임모드와 관련된 공식 문서 링크
게임 플레이 프레임워크 퀵 레퍼런스 : https://dev.epicgames.com/documentation/ko-kr/unreal-engine/gameplay-framework-quick-reference-in-unreal-engine?application_version=5.1
ㆍ 언리얼은 이미 구조가 다 정해져있고 그 규칙을 잘 따라야된다... 언리얼은 구조를 잡을 수 없다.
ㆍ 이미 정해져있는 구조에기생해서 코드를 넣는 개념
※ 언리얼의 상속기반 프로그래밍이 좀 이해되는것같다.
'언리얼엔진 > 언리얼 C++' 카테고리의 다른 글
Actor (0) | 2024.10.11 |
---|---|
머태리얼 (0) | 2024.10.10 |
언리얼C++ 여러가지 기본팁 (2) | 2024.10.09 |
애니메이션 (1) | 2023.10.13 |
C++ 기반 프로젝트 만들기와 계층구조, 코딩규약 (0) | 2023.10.12 |