언리얼 인터페이스 (뷰포트 편)
뷰포트(Viewport)

- 화면의 중앙에 위치하며, 3D 월드를 직접 볼 수 있는 영역.
- 카메라를 조작하여 월드를 탐색하거나, 오브젝트를 배치 or 조절할 수 있다.
- 마우스 우클릭과 WASD 키를 사용하여 이동이 가능
뷰포트 단축키
- 우클릭 + WASD : WASD를 방향키로 하여 앞뒤좌우로 이동.
- 우클릭 + WASD를 한 상태에서 마우스 휠을 돌리면 뷰포트 카메라의 이동 속도 조절이 가능하다. (이유도 모른채 카메라가 느려져서 답답한 상태로 월드 조작할 수 있다..)
- 우클릭 + E, Q : 위 아래로 이동 (E : 위 / Q : 아래)
- 우클릭 + C, Z : 우클릭 시 줌인&줌아웃, 우클릭을 떼면 원상 복구 (C : 줌인 / Z : 줌아웃)
- F : 확인해야되는 오브젝트를 누른 상태로 F를 누르면 해당 오브젝트로 카메라를 이동.
- 마우스 스크롤 : 뷰포트 줌인 & 줌 아웃
- 우클릭 : 뷰포트 회전
- Shifs + 우클릭 : 여러 액터를 선택.
- Ctrl + 우클릭 : 선택 중인 액터에서 제외.
- Ctrl + G / Shift G : 그룹 & 그룹 해제 ( 오브젝트 선택과는 반대로 Ctrl + G가 그룹 묶음이다.)
- G : 뷰포트 안의 그리드, 피벗, 윤곽선, 아이콘 등의 유용한 툴을 모두 숨겨주고, 레벨이 게임 속에서 어떤 모습일지 확인할 수 있다. (게임 뷰)
- Ctrl + R : 실시간 재생기능을 꺼서 한순간의 움직임을 다각도로 살펴보거나, 불필요한 실시간 렌더링을 off해서 작업 중의 성능 향상이 가능.
- F11 : 전체화면 모드
- Alt + P : 게임 플레이
뷰포트 내 오브젝트 용어 정리
월드
- 정의
- 레벨이 존재하는 최상위 컨테이너로 모든 액터의 구성 요소를 포함.
- 하나의 월드에는 하나의 레벨이 존재.
- 게임 콘텐츠를 담는 가상의 공간.
- 맵이나 샌드박스의 최상위 개체.
- 역할
- 게임 로직의 전반적인 상태를 관리.
- 물리 시뮬레이션, 이벤트 처리, 그리고 게임 루프를 제어.
- 시간, 물리, 시각 기능을 제공한다. (Time, Physics, Rendering)
- Physics → 공간에 배치된 물체가 월드로부터 물리적인 영향을 받을려면 Collision 정보가 존재해야됨.
- 특징
- 언리얼 엔진 API를 통해 월드를 관리하고 상태를 변경할 수 있다.
- 여러 개의 레벨을 동시에 로드하고 관리가 가능하다.
월드 파티션
- 대규모 월드를 관리하기 위해 언리얼 엔진 4에서 사용되었던 월드 컴포지션을 대체하는 시스템.
- 오픈 월드 맵을 제작할 때 꼭 알아야할 개념.
- 단일 퍼시스턴트 레벨에 월드를 저장하여 스트리밍 소스와 셀의 거리에 따라 로드, 언로드를 조절하는 시스템.
- 특징
- 액터당 한개의 파일 (One File per Actor)
- 월드 파티션 - 데이터 레이어 (Data Layers)
- 레벨 인스턴싱 (Level Instancing)
- 월드 파티션 - HLOD (Hierarchical Levels of Detail)
- 월드 파티션 활성화
- 게임 카테고리에 있는 템플릿들은 월드 파티션이 활성화 되어 있다.
- 새 프로젝트를 생성할 때 복잡성을 줄이고 확장 가능한 솔루션을 제공하려는 경우, 월드 세팅(World Settings) 에 있는 스트리밍 활성화 (Enable Streaming) 옵션을 사용하여 그리드 ****셀 스트리밍을 활성화/비활성화 할 수 있다.
- 월드 파티션을 사용하지만, 스트리밍 활성화 가 디폴트로 비활성화되어 있는 템플릿.
- Blank
- First Person
- Third Person
- Top Down
- Vehicle Advanced
- 월드 컴포지션에서는 스트리밍 로드 범위를 레이어 단위로 설정했다면, 월드 파티션에서는 런타임 그리드 설정에서 그리드 단위로 설정 가능.
참고 문서 (언리얼 공식 월드 파티션)
레벨
- 정의
- 스스로 정의하는 게임플레이 영역으로 레벨에는 지오메트리, 폰, 액터와 같이 플레이어가 보고 상호작용하는 모든 것이 포함.
- 레벨은 게임 또는 프로젝트의 하나의 “씬”을 의미.
- 유니티에서 씬과 비슷한 개념.
- 역할
- 게임 환경(맵)을 설계하고, 액터와 이벤트를 배치하는 데 사용.
- 여러 레벨을 조합하여 대규모 환경을 만들 수 있습니다.
- 특징
- 레벨 파일은 .umap 확장자를 가진다.
- Type == World로 검색하면 해당 프로젝트에서 레벨 파일들을 볼 수 있다.
레벨에 대해 추가적으로 찾아본 부분
- 레벨 스트리밍
- 게임 플레이 중에 아직 읽어 들이지 않은 스트리밍 레벨을 이후에 차근차근 읽어 들이는 기능. 플레이 중 맵을 로드 / 언로드 하거나 표시 / 숨김을 한다.
- 퍼시스턴트 레벨
- 월드에 포함되는 고정 레벨을 의미. 항상 로딩되어 있는 메인 레벨이고, 스트리밍이 불가능.
- 스트리밍 레벨
- 월드에 무관하게 추가 및 삭제가 가능하도록 설계된 레벨. 레벨 스트리밍으로 로딩되는 서브 레벨이며 항상 로드되고, 옵션이 켜진 경우 퍼시스턴트 레벨과 함께 로딩.
액터
- 정의
- 액터는 카메라, 스태틱 메시, 플레이어 스타트 위치 등과 같이 레벨에 배치할 수 있는 모든 오브젝트.
- 이동, 회전, 스케일링 등의 3D 트랜스폼을 지원.
- 기본적으로 레벨에 배치되거나 생성할 수 있는 개체.
- 역할
- 게임 플레이 로직을 담당하거나 환경 구성 요소를 담당하는 역할.
- 캐릭터, 조명, 카메라, 사운드, 물리 오브젝트 등등이 포함된다.
- 게임 내 엑터로 이벤트를 표현 가능 ( ex : 가까이 가면 닫히는 문)
- 특징
- 액터는 위치, 회전, 크기와 같이 변환(Transform) 속성을 가진다.
- C++ 또는 블루프린트 게임플레이 코드를 통해 생성 및 소멸이 될 수 있다.
- C++에서는 AActor 클래스는 모든 액터의 베이스 클래스이다.
- 유니티에선 트랜스폼을 컴포넌트로 컴포넌트 패턴이 구현되어 잇다면, 언리얼은 상속을 기본구조로 해당 구조를 구분.
폰
- 정의
- 플레이어의 controller에서 입력을 받아 움직일 수 있는 액터, 다른 폰과 상호작용 가능하다.
- 액터의 서브클래스이며, 캐릭터의 부모 클래스.
- 게임의 캐릭터를 구현하는 데 주로 사용.
- 역할
- 플레이어 컨트롤러의 경우에는 입력(Input)을 받아서 움직임과 동작을 제어.
- AI 컨트롤러가 폰을 조작하여 NPC를 구현.
- 특징
- 컨트롤러(Controller)에 의해 제어된다.
- 빙의(possess)라는 개념이 존재
- 게임 중 특정 캐릭터를 플레이할 때 해당 캐릭터에 빙의한다고 표현.
- 빙의를 원하는 액터를 선택한 후 디테일 패널에서 "posses"를 검색
- 폰 -> 플레이어 자동 빙의 -> 원하는 액터 선택
'언리얼 > 개발 이야기' 카테고리의 다른 글
| 간단한 점핑 게임 (0) | 2024.12.20 |
|---|---|
| 플레이어 캐릭터 조작 (BluePrints) (0) | 2024.12.19 |
| 언리얼 블루 프린트 (2) | 2024.12.18 |
| 언리얼 엔진 디테일 패널 (0) | 2024.12.18 |
| 언리얼5 설치 & 언리얼 공식 문서 구경 (0) | 2024.12.16 |