PROPERTY와 STRUCT, ENUM

2022. 1. 11. 02:27·Unreal Engine 4/Unreal Engine 4
반응형

PROPERTY 선언

UPROPERTY([specifier, specifier, ...], [meta(key=value, key=value, ...)])

Type VariableName;

 

코어 데이터 유형

1. 정수형

uint8, uint16, uint32, uint64, int8, int16, int32, int64

 

인티저 프로퍼티는 에디터에 비트마스크 노출 가능 (Meta=(Bitmask)를 추가)

-> 이 비트마스크를 플래그 드롭다운 목록으로 표시하여 개별적으로 켜고 끄는 편집 가능

-> 비트플래그 이름 커스텀마이징을 위해 (Meta=(Bitflags)를 추가) UENUM을 생성

 

2. 부동 소수점

언리얼은 표준  C++ 부동 소수점 유형인 float와 double사용

 

3. bool 유형

bool 유형은 c++ bool 키워드 또는 비트 필드로 사용 가능

uint32 bIsHungry : 1;

bool bIsThirsty;

 

4. string

ue4는 세 가지 유형 스트링 지원

1) FString은 고정적인 "캐릭터 동적 배열" 스트링 유형

2) FName은 글로벌 스트링 테이블로 된 변경불능 대소문자 구분 없는 스트링에 대한 레퍼런스

FString보다 작아 전송에 효율적이나 조작하기가 더 어렵다.

3) FText는 현지화 처리를 위해 고안된 탄탄한 스트링 표현

 

PROPERTY의 지정자는 여러가지가 있다.

참고 : 프로퍼티 | 언리얼 엔진 문서 (unrealengine.com)

자주쓰이는 지정자

1. BlueprintReadOnly : 블루프린트에서 읽을 수 있지만 변경안됨, BlueprintReadWrite지정자와 호환 안됨.

2. BlueprintReadWrite : 블루프린트에서 읽거나 쓸 수 있다, BlueprintReadOnly지정자와 호환 안됨.

3. EditAnywhere : 아키타입이나 인스턴스 양쪽의 프로퍼티 창에서 편집할 수 있음, 어떤 Visible 지정자와도 호환 안됨.

4. EditDefaultsOnly : 프로퍼티 창에서 편집할 수 있지만, 아키타입 상에서만 가능, 어떤 Visible 지정자와도 호환 안됨.

5. EditInstanceOnly : 프로퍼티 창에서 편집할 수 있지만, 아키타입이 아닌 인스턴스 상에서 가능,

어떤 Visible지정자와도 호환 안됨.

6. VisibleAnywhere : 모든 프로퍼티 창에 보이지만 편집할 수 없다. 어떤 Edit 지정자와도 호환 안됨

7. VisibleDefaultsOnly : 프로퍼티는 아키타입에 대한 프로퍼티 창에서 보이기만 할 뿐, 편집이 안됨. 어떤 Edit와도 호환X

8. VisibleInstanceOnly : 프로퍼티는 아키타입아닌 인스턴스에 대해서 보일 뿐, 편집이 안됨. 어떤 Edit와도 호환X

 

UENUM 선언

UENUM()

enum class ERED

{

RED,

BLUE,

GREEN

};

 

구조체

USTRUCT([Specifier, Specifier, ...])

struct StructName

{

GENERATED_USTRUCT_BODY()

};

 

구조체 지정자

1. Atomic : 항상 하나의 단위로 Serialize됨

2. BlueprintType : 블루프린트에서 변수로 사용할 수 있는 유형으로 노출

3. Immutable : Object.h에서만 쓰이며, 폐기 단계다. 새 구조체에서 사용X

4. NoExport : 클래스에 대하여 자동생성 코드 생성 X, 헤더는 메타데이터 분석을 위해서만 제공

반응형
저작자표시 (새창열림)

'Unreal Engine 4 > Unreal Engine 4' 카테고리의 다른 글

USceneComponent : position을 저장하는 방식  (0) 2022.01.14
Unreal Vector : FVector  (0) 2022.01.13
Unreal Engine 4 - 게임 프레임워크  (0) 2021.07.13
Unreal Engine 4 - 주요 이벤트 함수  (0) 2021.07.12
Unreal Engine 4 - Log  (0) 2021.07.12
'Unreal Engine 4/Unreal Engine 4' 카테고리의 다른 글
  • USceneComponent : position을 저장하는 방식
  • Unreal Vector : FVector
  • Unreal Engine 4 - 게임 프레임워크
  • Unreal Engine 4 - 주요 이벤트 함수
숯불돼지왕갈비
숯불돼지왕갈비
  • 숯불돼지왕갈비
    게임 개발 공부기
    숯불돼지왕갈비
  • 전체
    오늘
    어제
    • 분류 전체보기 (302)
      • 학교수업 (165)
      • 취업강의 (6)
      • C++ (49)
        • 코딩 테스트 (4)
      • Unreal Engine 5 (25)
        • MMORPG 개발 (25)
      • Unreal Engine 4 (44)
        • Omak Project (3)
        • Unreal Engine 4 개발일지 (9)
        • Unreal Engine 4 (32)
      • Unity (1)
        • 개발 일지 (1)
      • 수학 (3)
        • 소프트웨어 공학용 수학 (3)
      • DirectX 11 (4)
      • 게임 디자인 패턴 (2)
      • 포트폴리오 (1)
      • 자격증 (1)
        • 정보처리기사 (0)
        • SQLD (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
숯불돼지왕갈비
PROPERTY와 STRUCT, ENUM
상단으로

티스토리툴바