반응형
  • Class
    • 언리얼 오브젝트가 블루프린트에서 상속받을 수 있는 클래스가 되려면 UCLASS 매크로 안에 아래의 두 가지 타입을 넣어 주어야 합니다. 
      • BlueprintType : 이 C++ 클래스는 블루프린트에서 변수로 선언이 가능한 타입임을 지정합니다.
      • Blueprintable : 블루프린트에서 이 C++ 클래스를 상속받아서 새롭게 클래스를 확장할 수 있습니다. 
    • ex) UCLASS(BlueprintType, Blueprintable ...)
  • Member
    • 멤버 변수의 권한은 UPROPERTY 매크로를 통해서 지정할 수 있습니다.
      • 접근 권한
        • BlueprintReadWrite :  블루프린트 로직에서 해당 멤버 변수에 읽기쓰기를 할 수 있는지 설정합니다.
        • BlueprintReadOnly : 블루프린트 로직에서 해당 멤버 변수에 읽기를 할 수 있는지 설정합니다.
        • ex) 
          • UPROPERTY(BlueprintReadWrite)
          • UPROPERTY(BlueprintReadOnly)
      • UI 권한
        • EditDefaultsOnly : 인스턴스가 공통으로 가져야 할 값의 편집이 가능하도록 설정합니다.

        • EditInstanceOnly : 인스턴스 별로 다르게 있어야 할 값의 편집이 가능하도록 설정합니다.

        • EditAnywhere : 범용적으로 변경되는 값의 편집이 가능하도록 설정합니다.

        • VisibleDefaultsOnly : 설계화면에서만 보여질 값을 설정합니다.

        • VisibleInstanceOnly : 인스턴스에서만 보여질 값을 설정합니다.

        • VisibleAnywhere : 객체 레퍼런스 및 모든 화면에서 보여질 값을 설정합니다.

        • ex) 
          • UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
          • UPROPERTY(BlueprintReadOnly, EditInstanceOnly)
  • Function
    • 언리얼 오브젝트에서 클래스 멤버 함수도 마찬가지로 기본적으로 블루프린트에서 사용할 수 없지만 BlueprintCallable이라는 키워드를 사용하면 블루프린트에서 호출이 가능합니다.
      • BlueprintCallable : 블루프린트 로직에서 함수를 사용할 수 있도록 설정합니다.
    • ex) UFUNCTION(BlueprintCallable, Category="NCSDK|API")


반응형

반응형
  • GameInstance :  어플리케이션(혹은 앱)을 관리하는데 사용됩니다. 사용자가 게임을 시작하면 엔진을 초기화하고 가장 먼저 실행하는 오브젝트가 GameInstance입니다. 그리고 게임이 종료될 때 까지 GameInstance는 살아있고 프로그램이 종료될 때 가장 마지막에 소멸됩니다. 이러한 특징으로 인해 GameInstance의 멤버를 확장해나가면 게임의 전체 라이프싸이클(LifeCycle)에서 사용되는 데이터를 관리할 수 있습니다. GameInstance 오브젝트가 초기화될 때, Init이라는 함수를 호출하는데, 이를 상속받으면 우리가 어플리케이션의 초기화 루틴을 만들 수 있습니다.
  • GameSingleton : GameInstance와 유사하고 프로젝트내 유일하게 존재하며, 게임 데이터 관리에 주도적으로 사용됩니다.
  • Actor : 월드에 존재하면서, 정해진 기능에 따라 자신의 역할을 수행하는 기본 객체입니다.
  • Component : 월드에 독립적으로 존재가 불가능하며, Actor 하위에서 존재가 가능합니다. Actor의 특정 기능을 제공할때 추가하여 사용됩니다.


반응형

반응형
  • CDO(Class Default Object) : 객체의 초기 값을 자체적으로 관리합니다.

  • Reflection : 객체 정보를 런타임에서 실시간 조회가 가능합니다.

  • GC(Garbage Collection) : 참조되지 않는 객체를 메모리에서 자동 해제할 수 있습니다.

  • Serialization : 객체와 속성 정보를 통으로 안전하게 보관하고 로딩합니다.

  • Delegate : 함수를 묶어서 효과적으로 관리하고 호출할 수 있습니다. 

  • Replication : 네트워크 상에서 객체간에 동기화를 시킬 수 있습니다.

  • Editor Integration : 언리얼 에디터 인터페이스를 통해 값을 편집할 수 있습니다. 

  • Create : NewObject<Class>(); (Native C++의 new Class(); 역할)


반응형

반응형

언리얼 엔진에서는 빌드 프로세스 도중 코드를 생성하는 툴을 제공합니다. 이러한 툴에는 클래스 이름에 기대하는 작명 규칙이 몇 가지 있는데, 이름이 그 기대와 일치하지 않을 경우 경고나 오류가 나게 됩니다. 툴에서 기대하는 클래스 접두사에 대한 상세 설명은 아래 목록과 같습니다.

 

  • Actor (액터) 파생 클래스 접두사는 A 입니다. 예: AController.

  • Object (오브젝트) 파생 클래스 접두사는 U 입니다. 예: UComponent.

  • Enum (열거형) 접두사는 E 입니다. 예: EFortificationType.

  • Interface (인터페이스) 클래스 접두사는 보통 I 입니다. 예: IAbilitySystemInterface.

  • Template (템플릿) 클래스 접두사는 T 입니다. 예: TArray.

  • SWidget (슬레이트 UI) 파생 클래스 접두사는 S 입니다. 예: SButton.

  • 그 외의 접두사는 F 입니다. 예: FVector.


반응형

+ Recent posts