728x90 반응형 언리얼4 [Unreal] 리플렉션(Reflection)? 작동 원리 및 장단점 언리얼 엔진의 리플렉션(Reflection)은 프로그램이 런타임에 클래스, 구조체, 함수, 멤버 변수 등 객체의 메타데이터를 조사하고 조작할 수 있는 시스템이고 언리얼 엔진의 핵심 기능이다.엔진은 리플렉션 시스템에 의존하므로, 언리얼 엔진에서 효율적으로 개발하려면 사실상 사용이 필수적이다.에디터, 블루프린트, 직렬화(Serialization), 네트워크 리플리케이션 등 다양한 시스템에서 사용된다. 리플렉션의 주요 목적런타임 타입 정보 접근실행 중 특정 객체의 클래스 타입 정보 확인. - 예: `GetClass()`를 통해 클래스 정보를 조회.동적 객체 생성메타데이터 접근 및 조작변수와 함수의 속성 및 설명을 코드에서 활용. - 예: `UPROPERTY()`와 같은 매크로를 통해 변수에 메타데이터를.. 2025. 4. 4. [Unreal] 언리얼 인터페이스, 그리고 장/단점 (Interface) C++에는 언어 자체적으로 인터페이스라는 개념이 존재하지 않는다. 하지만 언리얼 엔진에서는 인터페이스를 구현한다.이는 언리얼 엔진의 객체 지향 설계와 리플렉션 시스템을 활용하여 게임 개발의 유연성과 확장성을 높이기 위한 것.언리얼 인터페이스는 다양한 기능을 정의하고, 이를 여러 클래스에서 구현할 수 있도록 하는 도구라고 생각하면 된다.C++에 인터페이스가 없는 이유인터페이스가 있는 다른 언어들(C#, Java..)는 C++보다 이후에 나왔다. 더 웰메이드 언어라고 볼 수 있다.(안전하다는 얘기다. 안좋게 보면 구조적인 제약이 있고, 성능이 이전 언어들에 비해 떨어진다.)C++은 계속해서 업데이트되고 있으나, 기본적으로 다중상속을 지원하기 때문에 인터페이스와 유사한 기능을 구현할 수 있다. (아래 예시 참.. 2025. 4. 3. [Unreal] 오브젝트 그리고 CDO(Class Default Object), generated.h, GENERATED_BODY 언리얼 오브젝트의 베이스 클래스는 UObject.UClass매크로는 UObject에서 파생된 클래스에 태그를 지정하여 UObject처리 시스템이 인식하도록 할 수 있다. 각 UClass는 CDO라는 하나의 오브젝트를 유지한다. 기본적으로 클래스 생성자에 의해 생성되고, 이후에는 수정되지 않는 디폴트 템플릿 오브젝트이다.UClass와 CDO는 보통 읽기 전용이지만 주어진 오브젝트 인스턴스에 대해 GetClass()함수를 통해 엑세스 할 수 있다.UClass* RuntimeClass = GetClass();RuntimeClass->GetDefaultObject(); UObject는 모든타입의 함수 혹은 멤버 변수를 가질 수 있다. 언리얼이 이런 변수나 함수를 인식하고 조작하려면 특수 매크로로 표시하고 특정 .. 2025. 4. 1. [Unreal] 언리얼 엔진 용어 및 디렉토리 구조, 단위 언리얼 엔진 용어Project게임의 모든 컨텐츠를 담은 것을 정의.blueprints, materials등이 포함되어있음..uproject파일을 사용하여 프로젝트 생성, 실행 및 저장 관리.Blueprint한글로는 청사진이라는 뜻. (靑寫眞) - 설계도의 의미를 가지고 있다.노드기반으로 비주얼 스크립팅을 만드는 것.오브젝트언리얼의 가장 기본이 되는 클래스..uobject는 모든 오브젝트의 베이스 클래스가비지컬렉션, 로딩 및 저장 직렬화, 메타데이터 지원https://dev.epicgames.com/documentation/ko-kr/unreal-engine/programming-in-the-unreal-engine-architecture?application_version=5.4 참고클래스특정 액터나 오.. 2025. 3. 11. 이전 1 다음 728x90 반응형