[UE5] World Object

ChangJin·2023년 9월 11일
0

Unreal Engine5

목록 보기
8/114
post-thumbnail

https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/Engine/UWorld/

월드 오브젝트(World Object)

월드 오브젝트는 게임 개발에서 핵심적인 역할을 하는 개념 중 하나입니다. GetWorld() 함수를 사용하여 현재 게임 환경을 나타내는 UWorld 객체를 얻을 수 있습니다. 여기에 몇 가지 중요한 점을 알아보겠습니다:

  • UWorld는 게임이 진행되는 환경을 나타내는 타입 및 클래스입니다.
  • 게임에는 여러 레벨이 있을 수 있으며, UWorld는 이러한 레벨을 로드하고 관리하는 데 사용됩니다. 하나의 UWorld 안에 여러 개의 레벨이 존재할 수 있으며, 이를 통해 큰 맵을 조각조각으로 로드하거나 해제할 수 있습니다.
  • 레벨은 게임의 특정 부분을 나타내며, 필요할 때 로드할 수 있습니다. 이는 게임 스트리밍이나 큰 맵을 다룰 때 유용합니다.
  • 또한, 단일 퍼시스턴트 레벨(Persistent Level)로 작동하거나 필요할 때마다 로드할 수 있는 레벨로 사용됩니다.
  • UWorld를 사용하는 이유 중 하나는 라인 트레이스(Line Trace)와 같은 작업을 수행하기 위함입니다. LineTraceBySingle과 같은 함수를 사용하여 오브젝트의 충돌 정보를 얻을 수 있습니다.

이러한 월드 오브젝트 개념은 게임 개발에서 중요한 역할을 하며, 게임 환경을 조작하고 상호작용하는 데 필수적입니다.


월드 (World)

월드(World)는 게임 개발에서 매우 중요한 개념 중 하나로, 맵 또는 샌드박스를 나타내는 최상위 객체입니다. 월드는 액터(Actors)와 컴포넌트(Components)가 존재하고 렌더링되는 환경을 관리합니다.

월드의 유형

월드는 다음과 같은 다양한 유형으로 나뉩니다:

  1. 퍼시스턴트 레벨 (Persistent Level): 단일 퍼시스턴트 레벨은 게임 내의 핵심적인 환경을 나타냅니다. 이 레벨에는 게임의 주요 콘텐츠가 로드되며, 게임이 진행되는 동안 지속적으로 존재합니다. 추가로 스트리밍 레벨을 사용하여 부가적인 콘텐츠를 동적으로 로드하거나 언로드할 수 있습니다.

  2. 스트리밍 레벨 (Streaming Level): 스트리밍 레벨은 특정 영역 또는 부분을 나타내며, 월드 내에서 동적으로 로드되거나 언로드될 수 있습니다. 이것은 큰 맵을 조각으로 나누어 효율적으로 관리하거나, 게임 스트리밍 시스템을 구현할 때 유용합니다.

  3. 월드 컴포지션 (World Composition): 월드 컴포지션은 여러 레벨을 조직화하고 관리하는 방법을 제공합니다. 큰 게임 맵을 여러 부분으로 분할하고, 각 부분을 개별 레벨로 관리할 수 있습니다.

월드의 역할

  • 게임 실행 중의 환경: 스탠드얼론(독립 실행형) 게임에서는 일반적으로 하나의 월드만 존재하며, 연속적인 지역 전환 시에 목적지와 현재 월드가 동시에 존재합니다. 에디터에서는 여러 개의 월드가 동시에 존재합니다. 예를 들어, 편집 중인 레벨, PIE(Play In Editor) 인스턴스, 렌더링 뷰포트가 있는 에디터 도구 등 다양한 월드가 있습니다.

  • 액터와 컴포넌트의 컨테이너: 월드는 액터와 그에 속한 컴포넌트를 관리합니다. 게임 오브젝트의 생성, 제거, 업데이트, 렌더링과 같은 기능을 제공합니다.

  • 레벨 관리: 퍼시스턴트 레벨과 스트리밍 레벨을 관리하여 게임 월드를 동적으로 구성합니다.

  • 상호작용: 월드를 통해 액터 간의 상호작용 및 게임 로직의 실행을 조절할 수 있습니다.

이러한 월드의 개념은 게임 개발에서 핵심적이며, 게임 환경을 제어하고 게임 오브젝트 간의 상호작용을 관리하는 데 필수적입니다.

profile
게임 프로그래머

0개의 댓글