DeepSeek 검색 내용

 

(1)---------------------------------------------------------------------------------------------------------------------------

언리얼 엔진에서 Object Reference Class Reference는 서로 다른 목적으로 사용되며, 참조하는 대상과 사용 방식에 차이가 있습니다. 이 둘의 차이를 명확히 이해하는 것이 중요합니다.


1. Object Reference (객체 참조)

  • 정의: Object Reference는 특정 **객체(인스턴스)**를 참조하는 방식입니다. 여기서 객체는 에셋(텍스처, 모델, 사운드 등)이나 게임 내에서 생성된 액터(Actor) 인스턴스 등을 의미합니다.
  • 특징:
    • 객체 참조: 특정 인스턴스(에셋 또는 액터)를 직접 참조합니다.
    • 런타임 활용: 게임 실행 중 해당 객체에 접근하여 사용할 수 있습니다.
    • 에디터 지원: 언리얼 에디터에서 특정 객체를 직접 선택할 수 있습니다.
    • 메모리 사용량: 참조된 객체는 메모리에 로드됩니다.
  • 사용 사례:
    • 특정 텍스처, 모델, 사운드 등의 에셋을 참조할 때.
    • 게임 내에서 생성된 액터 인스턴스를 참조할 때.
  • 예시:
    • 플레이어 캐릭터의 메시(Mesh)를 참조.
    • 특정 맵에서 사용되는 배경 음악 에셋을 참조.

2. Class Reference (클래스 참조)

  • 정의: Class Reference는 특정 클래스를 참조하는 방식입니다. 여기서 클래스는 블루프린트 클래스 또는 C++ 클래스를 의미하며, 객체를 생성하기 위한 템플릿 역할을 합니다.
  • 특징:
    • 클래스 참조: 특정 클래스를 참조하며, 해당 클래스를 기반으로 객체를 생성할 수 있습니다.
    • 런타임 활용: 클래스를 참조하여 런타임에 새로운 객체를 생성(스폰)할 수 있습니다.
    • 에디터 지원: 언리얼 에디터에서 특정 클래스를 선택할 수 있습니다.
    • 메모리 사용량: 클래스 자체는 메모리에 로드되지만, 인스턴스는 생성되지 않습니다.
  • 사용 사례:
    • 특정 클래스를 기반으로 객체를 생성(스폰)할 때.
    • 다양한 종류의 적 캐릭터를 동적으로 생성할 때.
  • 예시:
    • 특정 적 캐릭터 클래스를 참조하여 게임 중에 스폰.
    • 특정 아이템 클래스를 참조하여 인벤토리에 추가.

Object Reference vs Class Reference

특징Object ReferenceClass Reference

참조 대상 객체(에셋 또는 인스턴스) 클래스(블루프린트 또는 C++ 클래스)
사용 목적 특정 객체에 접근하거나 사용할 때 클래스를 기반으로 객체를 생성할 때
런타임 활용 참조된 객체를 직접 사용 클래스를 참조하여 객체를 생성(스폰)
에디터 지원 객체 직접 선택 가능 클래스 직접 선택 가능
메모리 사용량 참조된 객체가 메모리에 로드됨 클래스가 메모리에 로드됨
예시 특정 텍스처, 모델, 액터 인스턴스 참조 적 캐릭터 클래스를 참조하여 스폰

예시로 이해하기

  1. Object Reference:
    • 게임 내에서 특정 문(액터)을 열기 위해 해당 문의 인스턴스를 참조.
    • 플레이어 캐릭터가 사용할 무기 에셋(스태틱 메시)을 참조.
  2. Class Reference:
    • 게임 중에 다양한 종류의 적 캐릭터를 스폰하기 위해 적 클래스를 참조.
    • 특정 아이템 클래스를 참조하여 인벤토리에 추가.

결론

  • Object Reference: 특정 객체(에셋 또는 인스턴스)를 참조하여 직접 사용할 때 적합합니다.
  • Class Reference: 특정 클래스를 참조하여 런타임에 객체를 생성(스폰)할 때 적합합니다.

이 두 방식은 참조 대상과 사용 목적이 다르므로, 프로젝트의 요구사항에 맞게 적절히 선택하여 사용해야 합니다!

 

(2)---------------------------------------------------------------------------------------------------------------------------

 

언리얼 엔진에서 Object Reference Soft Object Reference는 객체(오브젝트)를 참조하는 방식이 다르며, 각각의 사용 사례와 장단점이 있습니다. 이 두 방식은 클래스 참조와 유사한 개념이지만, 객체(에셋 또는 인스턴스)를 참조하는 데 사용됩니다.


1. Object Reference (강한 참조)

  • 정의: Object Reference는 특정 객체(에셋 또는 인스턴스)를 직접적으로 참조하는 방식입니다. 이 참조는 컴파일 시점에 결정되며, 참조된 객체는 항상 메모리에 로드됩니다.
  • 특징:
    • 강한 참조: 참조된 객체는 게임이 실행될 때 항상 메모리에 로드됩니다.
    • 컴파일 시점 결정: 참조된 객체는 컴파일 시점에 결정되므로, 런타임에 변경할 수 없습니다.
    • 에디터 지원: 언리얼 에디터에서 특정 객체(에셋 또는 인스턴스)를 쉽게 선택할 수 있습니다.
    • 메모리 사용량: 참조된 객체는 항상 메모리에 로드되므로, 메모리 사용량이 증가할 수 있습니다.
  • 사용 사례:
    • 게임에서 항상 필요한 에셋(예: 기본 텍스처, 모델, 사운드)을 참조할 때 사용합니다.
    • 게임플레이 중 항상 사용되는 객체를 참조할 때 적합합니다.

2. Soft Object Reference (약한 참조)

  • 정의: Soft Object Reference는 객체(에셋 또는 인스턴스)를 간접적으로 참조하는 방식입니다. 이 참조는 런타임에 결정되며, 참조된 객체는 필요할 때만 메모리에 로드됩니다.
  • 특징:
    • 약한 참조: 참조된 객체는 필요할 때만 메모리에 로드됩니다. 이는 메모리 사용량을 줄이는 데 도움이 됩니다.
    • 런타임 결정: 참조된 객체는 런타임에 결정될 수 있으므로, 더 유연한 설계가 가능합니다.
    • 에디터 지원: 언리얼 에디터에서 객체를 선택할 수 있지만, 실제 로드는 런타임에 이루어집니다.
    • 메모리 효율성: 객체는 필요할 때만 로드되므로, 메모리 사용량을 최적화할 수 있습니다.
  • 사용 사례:
    • 게임에서 특정 조건에 따라 다른 에셋을 로드해야 할 때 사용합니다.
    • 큰 에셋(예: 고해상도 텍스처, 복잡한 모델)을 필요할 때만 로드할 때 적합합니다.

Object Reference vs Soft Object Reference

특징Object ReferenceSoft Object Reference

참조 방식 직접 참조 (강한 참조) 간접 참조 (약한 참조)
로드 시점 컴파일 시점에 로드 런타임에 필요할 때 로드
메모리 사용량 항상 메모리에 로드 (메모리 사용량 증가) 필요할 때만 로드 (메모리 효율적)
유연성 런타임에 변경 불가 런타임에 변경 가능 (유연성 높음)
에디터 지원 객체 직접 선택 가능 객체 선택 가능 (로드는 런타임에)
사용 사례 항상 필요한 에셋 참조 조건부 로드가 필요한 에셋 참조

예시

  1. Object Reference:
    • 플레이어 캐릭터의 기본 메시(Mesh)를 참조할 때.
    • 항상 사용되는 배경 음악을 참조할 때.
  2. Soft Object Reference:
    • 특정 맵에서만 사용되는 고해상도 텍스처를 참조할 때.
    • 플레이어가 선택한 스킨에 따라 다른 모델을 로드할 때.

결론

  • Object Reference: 항상 필요한 에셋이나 객체를 참조할 때 사용. 메모리 사용량이 높지만, 접근이 빠르고 간단합니다.
  • Soft Object Reference: 조건부로 로드해야 하는 큰 에셋이나 객체를 참조할 때 사용. 메모리 효율적이지만, 로드 시간이 추가될 수 있습니다.

프로젝트의 요구사항에 따라 적절한 방식을 선택하는 것이 중요합니다!

 

(3)---------------------------------------------------------------------------------------------------------------------------

 

언리얼 엔진에서 Class Reference Soft Class Reference는 클래스를 참조하는 방식이 다르며, 각각의 사용 사례와 장단점이 있습니다.

1. Class Reference (강한 참조)

  • 정의: Class Reference는 특정 클래스를 직접적으로 참조하는 방식입니다. 이 참조는 컴파일 시점에 결정되며, 참조된 클래스가 항상 메모리에 로드됩니다.
  • 특징:
    • 강한 참조: 참조된 클래스는 게임이 실행될 때 항상 메모리에 로드됩니다.
    • 컴파일 시점 결정: 참조된 클래스는 컴파일 시점에 결정되므로, 런타임에 변경할 수 없습니다.
    • 에디터 지원: 언리얼 에디터에서 클래스를 쉽게 선택할 수 있습니다.
  • 사용 사례: 게임에서 항상 필요한 클래스를 참조할 때 사용합니다. 예를 들어, 기본적인 캐릭터 클래스나 필수적인 액터 클래스를 참조할 때 적합합니다.

2. Soft Class Reference (약한 참조)

  • 정의: Soft Class Reference는 클래스를 간접적으로 참조하는 방식입니다. 이 참조는 런타임에 결정되며, 참조된 클래스는 필요할 때만 메모리에 로드됩니다.
  • 특징:
    • 약한 참조: 참조된 클래스는 필요할 때만 메모리에 로드됩니다. 이는 메모리 사용량을 줄이는 데 도움이 됩니다.
    • 런타임 결정: 참조된 클래스는 런타임에 결정될 수 있으므로, 더 유연한 설계가 가능합니다.
    • 에디터 지원: 언리얼 에디터에서 클래스를 선택할 수 있지만, 실제 로드는 런타임에 이루어집니다.
  • 사용 사례: 게임에서 특정 조건에 따라 다른 클래스를 로드해야 할 때 사용합니다. 예를 들어, 다양한 적 캐릭터 클래스를 조건에 따라 로드할 때 적합합니다.

요약

  • Class Reference: 컴파일 시점에 결정되며, 항상 메모리에 로드됩니다. 필수적인 클래스를 참조할 때 사용.
  • Soft Class Reference: 런타임에 결정되며, 필요할 때만 메모리에 로드됩니다. 유연한 설계가 필요할 때 사용.

이 두 방식은 각각의 장단점이 있으므로, 프로젝트의 요구사항에 맞게 적절히 선택하여 사용하는 것이 중요합니다.

'개발 > 언리얼 Unreal' 카테고리의 다른 글

UE5 / TSet  (0) 2025.02.04
UE5 / Dot Product  (0) 2025.02.04
UE5 / Name, Text, String 의 차이점  (0) 2025.01.17
UE5 / 블루프린트 메모_소울라이크 프로젝트  (0) 2025.01.12
UE5 / Real Time Retargeting(5.4~)  (0) 2024.12.14

+ Recent posts