[UE5] UObject

GamzaTori·2024년 9월 24일

UE5 C++

목록 보기
1/27

Reflection과 UObject

  • 언리얼에서 객체를 생성하는 방법
  • Objcet를 상속받으면 메모리를 자동으로 관리, Reflectoin 등을 지원한다
  • 기존 C++ 에선 new 키워드를 사용했지만 언리얼에선 NewObject <>를 통해 객체를 생성할 수 있다
class UTempObject : public Object
        
UTempObject* Obj = new UTempObeject(); // 기존 C++ 방식
UTempObject* Obj = NewObject<UTempObeject>(); // 언리얼 방식
  • Reflection과 GC를 통해 언리얼에서 메모리를 관리한다
  • UCLASS(), UFUNCTION(), UPROPERTY() 키워드를 통해 Reflection 대상에 추가할 수 있다
  • UCLASS() 대상이 되면 클래스에 대한 메타데이터와 샘플(ClassDefaultObject)를 만들어둔다.

Specifier

  • UCLASS(), UPROPERTY()등에 옵션을 줄 수 있다.
UPROPERTY(VisibleAnywhere)
int32 Hp;
        
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = Stat)
int32 Mp;
        
UPROPERTY(EditAnywhere)
float Speed;
        
UCLASS(BlueprintType, Blueprintable)  // 해당 옵션이 있어야 Blueprint로 만들 수 있다
class AActor : public UObject

Game Framework

  • 언리얼 엔진은 다음과 같은 구조로 Controller와 Pawn 등이 짜여있다.
profile
게임 개발 공부중입니다.

0개의 댓글