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++ 클래스) |
사용 목적 | 특정 객체에 접근하거나 사용할 때 | 클래스를 기반으로 객체를 생성할 때 |
런타임 활용 | 참조된 객체를 직접 사용 | 클래스를 참조하여 객체를 생성(스폰) |
에디터 지원 | 객체 직접 선택 가능 | 클래스 직접 선택 가능 |
메모리 사용량 | 참조된 객체가 메모리에 로드됨 | 클래스가 메모리에 로드됨 |
예시 | 특정 텍스처, 모델, 액터 인스턴스 참조 | 적 캐릭터 클래스를 참조하여 스폰 |
예시로 이해하기
- Object Reference:
- 게임 내에서 특정 문(액터)을 열기 위해 해당 문의 인스턴스를 참조.
- 플레이어 캐릭터가 사용할 무기 에셋(스태틱 메시)을 참조.
- 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
참조 방식 | 직접 참조 (강한 참조) | 간접 참조 (약한 참조) |
로드 시점 | 컴파일 시점에 로드 | 런타임에 필요할 때 로드 |
메모리 사용량 | 항상 메모리에 로드 (메모리 사용량 증가) | 필요할 때만 로드 (메모리 효율적) |
유연성 | 런타임에 변경 불가 | 런타임에 변경 가능 (유연성 높음) |
에디터 지원 | 객체 직접 선택 가능 | 객체 선택 가능 (로드는 런타임에) |
사용 사례 | 항상 필요한 에셋 참조 | 조건부 로드가 필요한 에셋 참조 |
예시
- Object Reference:
- 플레이어 캐릭터의 기본 메시(Mesh)를 참조할 때.
- 항상 사용되는 배경 음악을 참조할 때.
- 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 |