본문으로 건너뛰기

© 2026 Molayo

Unity헤드라인2026. 05. 20. 01:39

Survival Kids의 레벨 레이아웃 및 지형 워크플로 (Workflows)

요약

Survival Kids 프로젝트에서 Unity를 활용해 레벨 레이아웃과 지형을 효율적으로 구축한 워크플로를 소개합니다. 최종 에셋을 사용하면서도 화이트 박싱처럼 빠른 반복 수정이 가능하도록 재사용 가능한 빌딩 블록 방식을 도입했습니다.

핵심 포인트

  • 최종 게임 에셋을 활용한 빌딩 블록 방식의 프리팹(Prefabs) 시스템 구축
  • 레벨 디자이너의 빠른 반복 수정을 위해 화이트 박싱과 유사한 워크플로 제공
  • Houdini Engine을 사용하여 모듈형 지형을 연속적인 메쉬로 생성
  • Polybrush를 수정하여 컨트롤 텍스처 기반의 재질 도색 방식 구현
  • 카메라 가시성을 최적화하기 위해 보이지 않는 메쉬를 제거하는 에디터 툴 제작

Survival Kids는 KONAMI와의 협업을 통해 제작된 Unity의 첫 번째 엔드 투 엔드 (end-to-end) 개발 프로젝트입니다. 이를 구축한 소규모 팀은 수십 년간의 게임 개발 (gamedev) 경험을 활용했으며, 본 블로그 시리즈는 이들이 이 야심 찬 프로젝트에 어떻게 접근했는지 깊이 있게 다룹니다. 첫 번째 편에서는 팀의 프레임 (frame) 및 렌더링 (rendering) 작업을 살펴보았으며, 이번 편에서는 레벨 및 환경 디자인을 살펴봅니다.

지금까지 주로 화면에 보이는 비주얼을 어떻게 구현했는지에 대해 이야기했다면, 이번에는 프로젝트를 제때 완료할 수 있도록 워크플로 (workflows)를 개선하여 속도를 높이기 위해 우리가 무엇을 했는지 파헤쳐 보고자 합니다.

팀의 규모와 프로젝트의 범위 때문에, 우리는 레벨 레이아웃 (level layout) 및 지형 워크플로 (terrain workflows)에 많은 고민을 기울였습니다. 레벨 디자이너 (level designer)가 아이디어를 반복적으로 수정 (iterate)하기 쉬운 방식이 필요하면서도, 레벨이 아트 팀 (art team)으로 전달된 후에는 재작업 (rework)이 거의 또는 전혀 필요하지 않은 접근 방식이어야 했습니다. 우리는 최종 게임 에셋 (game assets)을 이미 사용하면서도, 레벨 디자이너들에게는 매우 화이트 박스 (white box)와 유사한 워크플로를 제공하는 방식을 선택했습니다.

Survival Kids는 레벨의 주요 레이아웃을 생성하기 위해 재사용 가능한 빌딩 블록 (building blocks) 세트를 사용합니다. 이는 절벽 바위 측면 (cliff rock sides)과 그 상단의 메쉬 지형 패치 (mesh terrain patch)로 구성된 프리팹 (prefabs) 세트로, 다양한 크기와 모양으로 설정되어 있습니다.

절벽 측면은 8개의 별도 메쉬 (meshes), 측면 (sides), 코너 (corners)로 구성되며, 각각 단순화된 메쉬 콜라이더 (mesh collider)를 가지고 있습니다. 이들은 모두 동일한 머티리얼 (material)을 공유하여 렌더링 (rendering) 속도를 높입니다.

이러한 설정 덕분에 레벨 디자이너는 최종 게임 에셋을 사용하면서도 화이트 박싱 (white-boxing)에 매우 가까운 빠른 워크플로를 통해 대부분의 레벨을 제작할 수 있으며, 이를 통해 아이디어를 빠르게 반복 수정 (iteration)할 수 있습니다.

이러한 지형 모듈 (terrain module) "빌딩 블록 (building block)" 방식은 레벨의 유기적인 형태 때문에 많은 모듈이 겹치는 결과를 초래했습니다. 또한 대부분의 절벽 측면이 다른 모듈 내부나 뒤에 위치하게 되어 게임 카메라 (game camera)에 전혀 보이지 않게 되는 현상도 발생했습니다.

이를 해결하기 위해, 우리는 각 모듈을 하나씩 살펴보며 게임 카메라 (game camera)의 각도에서 어떤 부분이라도 보일 수 있는지 확인하고, 보이지 않는 모든 부분을 제거하는 에디터 (Editor) 툴을 제작했습니다. 우리는 지형 모듈 (terrain modules)의 서로 다른 섹션들을 기반으로 연속적인 지형 메쉬 (terrain meshes)를 생성하기 위해 Houdini Engine 툴을 사용했습니다. 지형 메쉬 위에 서로 다른 재질 (materials)을 칠하기 위해 Unity의 Polybrush 패키지를 수정하여 사용했습니다. 수정된 사항은 Polybrush가 메쉬의 정점 (vertices)에 값을 직접 칠하는 대신, Unity의 지형 시스템 (terrain system)과 유사하게 컨트롤 텍스처 (control texture)를 칠하도록 만든 것이었습니다. 그 후, 지형 위에 배치된 오브젝트들이 시각적으로 더 잘 안착되어 보이도록 앰비언트 오클루전 (Ambient Occlusion)을 지형 메쉬의 정점 색상 (vertex color)에 베이크 (bake)했습니다. 그다음 커스텀 툴을 사용하여 풀, 꽃, 작은 바위와 같은 작은 오브젝트들을 지형 메쉬 위에 분산 배치했습니다. 오브젝트의 분산은 밀도 (density), 하부 재질 (underlying material), 지형 곡률 (terrain curvature), 또는 큰 오브젝트와의 근접성 (proximity)과 같은 파라미터 (parameters)를 사용하여 개별적으로 제어됩니다. 프로젝트 전반에 걸쳐, 우리는 작은 식생 (vegetation)이 성능에 미치는 영향을 최소화하기 위해 매우 낮은 밀도를 유지했습니다. 그 후 또 다른 커스텀 툴을 사용하여 서로 다른 지형의 메쉬 콜라이더 (mesh colliders)를 분할했습니다. 우리는 이를 두 가지 방식으로 수행했습니다:

  • 그리드 (grid) 방식: 각 메쉬 콜라이더의 삼각형 개수 (triangle count)와 부피를 줄여 게임의 물리 성능 (physics performance)을 향상시키기 위함
  • 재질 (material) 방식: 캐릭터가 걷고 있는 재질(풀, 모래, 눈, 얼음 등)에 따라 게임이 서로 다른 소리와 발소리 VFX (footstep VFX)를 생성할 수 있도록 하기 위함

Survival Kids 제작 과정을 심층 분석하는 블로그 시리즈의 다른 회차들도 확인해 보세요:

  • "Survival Kids의 그래픽 및 렌더링 팁"
  • "Survival Kids의 레벨 레이아웃 및 지형 워크플로 (Workflows)"
  • "Survival Kids의 멀티플레이어 네트워크 인프라 내부"

Unity로 제작된 프로젝트에 대해 더 자세히 알고 싶다면, 리소스 (Resources) 페이지를 방문하세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 Unity Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0