안동민 개발노트

본문 시작

기본 레벨 생성 및 구조 설정

새 레벨을 만들고 용도에 맞는 환경 액터와 플레이 공간을 배치하며 프로젝트 시작 맵까지 작업 가능한 기본 구조로 설정합니다.

인터페이스와 에셋 관리를 익혔다면, 이제 실제 플레이 공간을 만드는 단계로 넘어갑니다.

이번 절은 레벨 디자인(Level Design)의 출발점으로, 새 레벨을 생성하고 기본 구조를 설정하는 방법을 다룹니다.

레벨의 초기 구조를 어떻게 잡느냐에 따라 이후 배치, 라이팅, 최적화 작업 난도가 크게 달라집니다.

즉, 이 절의 목표는 예쁘게 꾸미기보다 작업 가능한 뼈대를 정확히 세우는 것입니다.


레벨(Level)이란 무엇인가?

언리얼 엔진에서 레벨(Level)은 게임이나 인터랙티브 콘텐츠가 플레이되는 3D 공간의 단위입니다.

다른 게임 엔진에서는 씬(Scene)이라고 부르기도 합니다.

하나의 레벨은 다음과 같은 요소들로 구성됩니다.

  • 지형(Landscape): 땅이나 산과 같은 자연 환경.
  • 액터(Actors): 레벨에 배치되는 모든 오브젝트(3D 모델, 라이트, 카메라, 캐릭터, 사운드, 이펙트 등).
  • 조명(Lighting): 레벨의 빛과 그림자.
  • 후처리(Post Process): 레벨의 최종 화면에 적용되는 시각 효과(색상 보정, 블룸, 안티-에일리어싱 등).
  • 게임플레이 로직: 레벨 내에서 발생하는 이벤트나 상호작용.

여러분의 게임은 하나 이상의 레벨로 구성될 수 있습니다.

예를 들어, 메인 메뉴 레벨, 튜토리얼 레벨, 각 스테이지 레벨 등이 있을 수 있습니다.


새로운 레벨 생성하기

언리얼 에디터에서 새로운 레벨을 만드는 방법은 매우 간단합니다.

메뉴에서 생성
  • 에디터 상단 메뉴에서 파일(File) > 새 레벨(New Level)을 클릭합니다.
  • 새 레벨 생성(New Level) 창이 나타나면 다양한 템플릿 옵션이 보일 것입니다.
레벨 템플릿 선택
  • 빈 레벨(Empty Level): 아무것도 없는 완전히 비어있는 레벨입니다. 가장 기본적인 상태에서 시작하고 싶을 때 선택합니다.
  • 기본 레벨(Basic): 바닥, 조명, 대기와 높이 안개가 있는 시작점입니다. 포함 액터는 버전에 따라 확인하고 플레이어 시작점은 필요에 맞춰 추가합니다.
  • 오픈 월드(Open World): 넓은 지형과 볼류메트릭 클라우드 등 오픈 월드 환경에 적합한 기본 설정이 되어 있는 레벨입니다.
  • 빈 오픈 월드(Empty Open World): 콘텐츠 없이 World Partition 구성을 사용하는 시작점입니다.
  • 설치한 버전과 프로젝트에 따라 추가 템플릿이 있을 수 있습니다. VR 프로젝트 템플릿과 새 레벨 템플릿은 구분합니다.
  • 기본 레벨(Basic Level)을 선택하고 생성(Create) 버튼을 클릭하는 것을 권장합니다. 바닥과 조명으로 배치 연습을 시작하기 쉽고, GameMode·Pawn·시작점은 별도로 확인합니다.
레벨 저장하기
  • 새로 생성된 레벨은 아직 저장되지 않은 상태입니다. 반드시 저장해야 합니다.
  • 툴바의 저장(Save Current) 버튼(디스켓 모양 아이콘)을 클릭하거나, Ctrl+S를 누릅니다.
  • 다른 이름으로 레벨 저장(Save Level As) 창이 나타나면, 레벨을 저장할 폴더를 선택하고 이름을 지정합니다. (예: Content/Maps/MyFirstGameLevel.umap)
  • 팁: 모든 레벨 파일은 .umap 확장자를 가집니다. Content/Maps 폴더를 만들어 레벨 파일들을 한곳에 모아두는 것이 좋습니다.

새 레벨을 만든 뒤에는 저장 위치, 기본 액터, 기본 맵 설정, 플레이 테스트를 한 번에 점검하면 이후 작업이 흔들리지 않습니다.


레벨의 기본 구조와 액터 역할

새 레벨을 만들 때는 빈 공간을 여는 것에서 끝나지 않고 저장 위치, 기본 액터, 테스트 기준을 함께 잡아야 합니다.

기본 레벨 템플릿을 선택했다면, 여러분의 뷰포트에는 몇 가지 액터들이 이미 배치되어 있을 것입니다.

모든 콘텐츠에 필수인 조합은 아닙니다. 이 절의 보행 가능한 3D 테스트 공간을 기준으로 역할을 살펴봅니다.

플레이어 시작 위치 (Player Start)

  • 역할: 게임이 시작될 때 플레이어 캐릭터가 스폰(Spawn)되는 위치를 나타내는 액터입니다.
  • 월드 아웃라이너: PlayerStart라는 이름으로 찾아볼 수 있습니다.
  • 사용 조건: 일반적인 GameMode의 Pawn 스폰 기준점입니다. 없으면 원점에서 시작할 수 있고, 배치된 Pawn 자동 소유나 사용자 정의 스폰 방식도 있으므로 모든 레벨에 필수는 아닙니다. 이 연습에서는 Player Start와 선택한 Pawn의 충돌·방향을 확인합니다.

조명 액터 (Light Actors)

기본 레벨에는 주로 두 가지 조명 액터가 포함되어 있습니다.

  • 방향성 광원 (Directional Light)
    • 역할: 태양광처럼 한 방향의 평행광을 비추는 광원입니다. 낮 시간의 태양이나 달과 같은 역할을 합니다.
    • 특징: 위치는 중요하지 않고, 회전(Rotation)이 빛의 방향을 결정합니다.
    • 월드 아웃라이너: DirectionalLight로 찾아볼 수 있습니다.
  • 스카이 라이트 (Sky Light)
    • 역할: 하늘 전체에서 들어오는 빛을 시뮬레이션하여 간접광을 표현합니다. 야외의 환경광을 표현하는 데 사용할 수 있습니다.
    • 특징: 주변 환경(스카이 스피어, HDRI 맵 등)의 색상 정보를 샘플링하여 레벨에 적용합니다.
    • 월드 아웃라이너: SkyLight로 찾아볼 수 있습니다.
  • 하늘 표현 (Sky Atmosphere / Sky Sphere)
    • 역할: Sky Atmosphere는 대기 산란을 표현합니다. 기존 콘텐츠의 BP_Sky_Sphere는 하늘 메시를 제어하는 블루프린트 방식입니다.
    • 연동: Sky Atmosphere는 Directional Light의 Atmosphere Sun Light 설정을 확인합니다. Sky Sphere는 블루프린트의 갱신 동작에 따릅니다.

바닥 또는 지형 (Floor / Landscape)

  • 역할: 플레이어가 걷거나 오브젝트가 배치될 수 있는 기본적인 바닥면을 제공합니다.
  • 기본 레벨에서는 Floor 또는 Plane이라는 이름의 스태틱 메시(Static Mesh)나, 아예 랜드스케이프(Landscape) 액터가 존재할 수 있습니다.
  • 랜드스케이프: 넓은 야외 환경을 만들 때 사용되며, 높낮이를 조절하고 페인트하여 다양한 지형을 만들 수 있습니다. (다음 절의 지형 생성 및 편집에서 자세히 다룹니다.)

레벨에 액터 배치 및 초기 설정 연습

이제 이 기본적인 레벨 위에 여러분의 첫 번째 오브젝트를 배치하고 조작해 봅시다.

오브젝트 배치
  • Starter Content가 설치된 프로젝트라면 콘텐츠 브라우저의 StarterContent/Props로 이동합니다. 없다면 기본 큐브나 직접 임포트한 메시로 같은 연습을 할 수 있습니다.
  • SM_Chair (의자) 또는 SM_Table (테이블)과 같은 스태틱 메시 에셋을 찾아 뷰포트로 드래그 앤 드롭합니다.
  • 오브젝트가 바닥에 제대로 놓이지 않았다면, 이동(W) 기즈모를 사용하여 바닥에 닿도록 옮깁니다. (나중에 물리 시뮬레이션으로 자동으로 떨어뜨리는 방법도 배웁니다.)
액터 이름 변경
  • 뷰포트나 월드 아웃라이너에서 방금 배치한 의자를 선택합니다.
  • F2 키를 눌러 SM_Chair_01과 같이 의미 있는 이름으로 변경합니다.
디테일 패널 활용
  • 선택된 의자의 디테일 패널을 확인합니다.
  • Transform (트랜스폼) 섹션에서 Location (위치), Rotation (회전), Scale (스케일) 값을 직접 변경해 봅니다.
    • 예: Location Z를 조절해 바닥에 맞춥니다. Z=0은 액터 피벗의 높이이므로 메시 바닥이나 레벨 바닥과 반드시 일치하지 않습니다.
    • Rotation Z 값을 90으로 변경하여 의자를 회전시켜 봅니다.
    • Scale 값을 2로 변경하여 의자를 두 배 크게 만들어 봅니다.
  • 팁: 각 입력 필드 옆에 있는 작은 노란색 화살표(Reset to Default)를 클릭하면 해당 속성을 기본값으로 되돌릴 수 있습니다.
플레이 테스트
  • 툴바의 플레이(Play) 버튼을 눌러 레벨을 실행해 보세요.
  • 방금 배치한 의자가 레벨에 나타나는 것을 확인할 수 있을 것입니다.

프로젝트의 기본 맵 설정 확인 및 변경

여러분이 만든 레벨이 에디터를 시작할 때나 게임을 실행할 때 기본적으로 로드되도록 설정할 수 있습니다.

편집(Edit) > 프로젝트 설정(Project Settings)을 클릭합니다.

프로젝트(Project) > Maps & Modes (맵 & 모드) 섹션을 찾습니다.

Default Maps (기본 맵)
  • Editor Startup Map (에디터 시작 맵): 언리얼 에디터를 실행했을 때 가장 먼저 열릴 레벨을 지정합니다. 드롭다운 메뉴를 클릭하여 여러분이 저장한 레벨을 선택합니다.
  • Game Default Map (게임 기본 맵): 별도 맵을 지정하지 않은 게임 시작에서 사용할 기본 레벨입니다. PIE는 보통 현재 열린 레벨을 테스트하므로 이 설정과 구분합니다. 에디터 작업 맵과 게임 시작 맵은 달라도 됩니다.

설정을 저장한 뒤 에디터 시작 동작과 게임 시작 동작을 각각 확인합니다. PIE에서 현재 레벨이 열렸다는 사실만으로 Game Default Map 설정을 검증할 수는 없습니다.


기본 레벨 생성과 구조 설정은 모든 레벨 디자인의 시작점입니다.

이 절에서 배운 내용들을 바탕으로 자신만의 첫 번째 빈 레벨을 만들고, 그 위에 에셋을 배치하고 조작하며 뷰포트에 익숙해지는 연습을 충분히 해보세요.

다음 절에서는 레벨의 공간 구조를 만드는 지형(Landscape) 생성과 편집 방법을 다룹니다.

넓은 지면을 만들고 높낮이를 조정하는 절차를 확인합니다.