Unreal Engine5/KDT 2024

[UE5 KDT2024] 11. 언리얼 모듈과 UPROPERTY

유잉유잉유잉 2025. 2. 23. 00:01
728x90

이미지 출처 : https://darkcatgame.tistory.com/62

 

 

1.  Build.cs

 

- 언리얼은 자체적으로 모듈 시스템으로 이루어져 있다.

  • 모듈시스템 : 기능들을 나눠놓음.

 

- Build.cs에 보면 publicDependencyModuleNames를 보면 붙어있는 모듈 확인 가능 

  • 모듈이 필요하면 필요하면 여기에 추가하면 된다. 

 

- 자체적으로 플러그인도 만들 수 있다. 

  • 플러그인도 Build.cs에 경로넣고 추가하여 사용가능.

 

- googleProtobuf

  • 구글에서 만든 직렬화 api
  • 직렬화가 빠름. 
  • 사용이유 : 클라랑 서버가 언어가 다를경우 바이트버퍼도 달라지는데, 이 api가 자동으로 맞춰준다.

 


 

2. UPROPERTY

 

▶️ 서버붙일 경우

 충돌, 연산등 계산을 모두 서버에서 해줘야한다.  

 

▶️ 자체서버 붙일 경우 시간이 오래 걸림. 패스.

이동 동기 맞추는데 2주 넘게 걸릴듯

 

▶️멤버변수에 UPROPERTY 붙이는게 좋음

  • UPROPERTY : 변수에 붙는 리플렉션 매크로. 
  • 해당 매크로가 언리얼이 클래스, 함수, 변수를 인식하게 하기 때문. 
  • 해당 매크로는 엔진이 수집하는 가비지로, 사용되지 않으면 자동으로 할당 메모리를 해제시켜줌. 

 

▶️ 자주사용되는 UPROPERTY 인자  -> 검색해서 넣은것

1. 변수 공개 & 수정 권한 

VisibleDefaultsOnly

VisibleInstanceOnly

VisibleAnywhere

 

EditDefulatOnly

EditInstanceOnly

EditAnywhere

 

1) 포인터 변수 사용시 Edit 적용하고

블프에서 보면 포인터 변수의 참조를 수정하게 되기 때문에 참조 변경 메뉴가 뜬다. 

 

해당 클래스를 변경하고 싶다면 

Visible로 적용해야 StaticMesh 클래스의 정보를 수정할 수 있게 된다. 

 

2. 블루프린트 공개 & 수정권한 

 

3. 카테고리 

- 디테일패널 항목 이름을 명칭 할 수 있음.

 

- 상하 명칭 : | 사용



4. Meta

- Metadata 지정자라고 하며, 에디터 관련 기능을 구현할 수 있다. 공식문서 

 

- private 변수지만, meta = ( AllowPrivateAccess = “true”) 명령어를 사용하여 에디터에서 보여줄 수 있다. 

 

- 다른 명령어를 합쳐서 사용할 수 있다. UIMax, UIMin은 에디터에서 조정할 수 있는 숫자 범위 지정 명령어다. 



5. 기타

- Display

 

- 주석 : 4.23기준 한글은 안된다고 함 

 

▶️ 언리얼에서 멀티플레이를 하게되면 게임모드는 서버에만 생긴다.

일반 클라이언트들은 생기지 않는다.

 

 

728x90