본문 바로가기
프로그래밍

👨‍💻 [Unreal] 언리얼 엔진에서 UPROPERTY 는 어떻게 사용하나요?

by 밝음의기둥 2024. 9. 30.
반응형

👨‍💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.

언리얼 엔진에서 UPROPERTY 는 어떻게 사용할 수 있는지 물어봤습니다.


질문 >

언리얼 엔진에서 UPROPERTY 는 어떻게 사용하나요?

답변 >

UPROPERTY는 **언리얼 엔진(UE)**에서 C++ 클래스의 변수에 메타데이터와 속성을 부여하는 매크로로, Unreal Engine의 Garbage Collection(가비지 컬렉션), 리플렉션 시스템에디터와 상호작용할 수 있도록 하는 중요한 기능입니다. 주로 객체 직렬화, 에디터에서의 노출, 복제 및 가비지 컬렉션과 같은 기능을 제어하는 데 사용됩니다.

UPROPERTY 사용법

UPROPERTY([Specifier], [Specifier])
데이터 타입 변수 이름;

주요 스펙ifiers(지정자)와 사용 예시:

  1. VisibleAnywhere, EditAnywhere:
    • 이 지정자는 언리얼 에디터에서 변수를 수정할 수 있는 범위를 설정합니다.
    • VisibleAnywhere는 에디터에서 읽기 전용으로 보여주고 수정할 수 없으며, EditAnywhere는 어디서든 수정이 가능합니다.
    UPROPERTY(EditAnywhere)
    int32 PlayerHealth;
    
  2. BlueprintReadOnly, BlueprintReadWrite:
    • 이 지정자는 블루프린트에서 변수를 읽거나 수정할 수 있는 권한을 제어합니다.
    • BlueprintReadOnly는 블루프린트에서 읽기만 가능하고, BlueprintReadWrite는 읽기 및 쓰기가 모두 가능합니다.
    UPROPERTY(BlueprintReadWrite, EditAnywhere)
    float Speed;
    
  3. Transient:
    • 이 지정자는 변수가 직렬화되지 않도록 설정합니다. 주로 런타임 중 임시 데이터로 사용될 때 적용되며, 저장이나 네트워크 복제 과정에서 제외됩니다.
    UPROPERTY(Transient)
    int32 TemporaryData;
    
  4. Replicated:
    • Replicated는 네트워크 복제를 위해 변수를 사용할 때 적용됩니다. 이를 사용하면 해당 변수가 서버에서 클라이언트로 동기화됩니다.
    UPROPERTY(Replicated)
    bool bIsAlive;
    
  5. Category:
    • 변수의 카테고리를 설정하여 에디터에서 변수들이 특정 그룹으로 묶여 보이게 할 수 있습니다.
    UPROPERTY(EditAnywhere, Category = "Player Stats")
    int32 PlayerLevel;
    

UPROPERTY의 주요 역할:

  • Garbage Collection: UPROPERTY가 선언된 객체는 Unreal Engine의 가비지 컬렉션 시스템에 의해 자동으로 관리되며, 메모리 누수를 방지할 수 있습니다.
  • Reflection System: 언리얼 엔진의 리플렉션 시스템을 통해, 런타임에 변수 및 클래스의 정보를 액세스하고 조작할 수 있게 됩니다. 이 시스템은 블루프린트와 C++ 간의 통신을 가능하게 해줍니다.
  • 직렬화: UPROPERTY로 선언된 변수는 자동으로 저장되거나 로드될 때 직렬화됩니다.

UPROPERTY는 언리얼 엔진의 핵심적인 C++ 매크로로, 변수를 에디터와 블루프린트에서 활용할 수 있게 하며, 객체의 관리 및 상태 동기화, 게임 로직을 쉽게 구현하는 데 필수적인 도구입니다(Unreal Engine)(Puget Systems).


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


🎬 유튜브 채널 🎬

 

위로그@WiLog

📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리 입니다. 📢 위로그@WiLog 는 자기주도학습을 목적으로 라이브 스트리밍을 합니다. 📢 1인 게임 개발을 목표로 Unreal과 Blender를 학습 중입니

www.youtube.com

🎬 치지직 채널 🎬

 

위로그 채널 - CHZZK

지금, 스트리밍이 시작됩니다. 치지직-

chzzk.naver.com


반응형