World Design · Overview

World Design

이동 영역·벽·기믹·장식 오브젝트·터레인·풀 등 월드 기능의 엔트리 포인트 및 확정 스펙을 정리한 페이지입니다.

이동 영역 툴 벽 툴 펜스 툴 바닥 레이어 풀 · 자갈
scroll

데이터 구조

이동 영역과 벽은 다수의 삼각형으로 정의됩니다. 삼각형 데이터는 Native Volume Octree 형태로 저장·참조됩니다.

자료구조
Native Volume Octree
구성 단위
삼각형 (이동 영역 · 벽)
삼각형 수
임의 개수
Main Thread Write Only
Worker Thread Read Only
참조 방식 — Pawn 이동 솔버(Worker Thread)는 이 데이터를 읽기 전용으로 참조합니다. Pawn Movement · Scheduler 문서의 pawn_capsule_to_world_solver 참조.

기믹

기믹 설치와 설정은 각 기믹을 추가할 때 스펙을 결정하고, 기믹별로 별도의 툴을 개발합니다. 공통 인터페이스는 이 문서에서 정의하지 않습니다.

이동 영역 툴

확정 maze-mesh-floor
이동 영역 툴

기획 팀의 레벨 디자인 데이터를 가이드로 삼아 실제 게임에서 사용할 레벨을 제작합니다.

워크플로 주의 — 레벨 디자인 파트의 플레이 테스트용 이동 영역은 실제 데이터로 사용되지 않습니다. 아트 툴에서 다시 셋업한 이동 영역이 실제 데이터로 사용됩니다. (기획팀 요청 — 이후 아트 툴 이동 영역 생성 사양을 재논의 예정)

확정 사양

  • 기울어진 쿼드를 생성합니다 — 타일 사이즈는 임의의 0.00m × 0.00m 사각형 기준
  • 쿼드 메쉬 하나에는 텍스쳐 슬롯 1개가 명시적으로 할당됩니다
  • 구멍(투명 타일)을 낼 수 있어야 합니다 — 투명 타일 포함 시 텍스쳐 슬롯 1개 소비
  • 높낮이 변경 가능해야 하고 캐릭터 이동 시 높낮이 영향을 받아야 합니다
  • 스테이지 크기에 대한 명시적 결정은 없으며 최대 청크 크기 제한 없음
  • 텍스쳐 슬롯 최대 4개 (예산 기준) — 예외적으로 기능상 8개까지 추가 가능해야 합니다
  • 1:2, 1:3 슬롯이 맞닿는 경계에서 높이 기반 블렌딩 기능 제공
  • 컬러 틴트 — 배경 파트 제안 → 폐기
  • 드로잉된 그림자 영역 — 배경 파트 제안 → 폐기
폐기 항목 재논의 — 컬러 틴트 및 드로잉 그림자는 회의 이후 배경 파트에서 재논의 의사를 밝혔습니다. TA팀 내에서 최종 결정합니다.
확정
플랫폼 이동 영역 툴

사각형 타일링으로 표현할 수 없는 이동 영역을 위한 별도 스펙입니다. 아래 두 가지 서브타입이 정의됩니다.

계단

  • 입구 부분만 바닥과 닿아 있고 높이가 올라가거나 내려가는 동안 주변 타일과 부드럽게 연결될 수 없는 형태의 이동 영역
  • 기존 개별 프리팹 단위 계단 설정 컴포넌트의 기능을 대체합니다

복도 (TBD)

  • 일반화된 쿼드 타일링으로 표현하기 어려운 곡선 또는 대각선 형태의 복도 생성용 툴
복도 툴 — 스펙만 확정된 상태이며, 실제 툴 개발은 이후 재논의하기로 결정되었습니다.

벽 툴

확정
벽 툴

바닥 이동 영역 외에 이동을 차단하는 벽을 설정하는 툴입니다. 다각형 그리듯 설치하는 인터페이스가 제안되었습니다.

벽 단위 사양

형태
두께 없는 유한한 선분
방향
정규화된 방향 벡터
높이
없음
축 정렬
X축 또는 Z축에 반드시 평행하지 않아도 됨
길이
단위 유닛 길이가 아닐 수 있음

전제 조건

  • 캐릭터는 Tactile이며 항상 정확히 1개의 Tactile 사양만을 가집니다
확정
펜스 툴
  • 시작·끝 메쉬를 지정하고, 가운데 반복되는 오브젝트를 인스턴스 렌더링으로 셋업합니다
  • 시작·끝 메쉬가 없는 케이스도 지원합니다
  • 지정한 펜스에 대한 벽 데이터를 벽 툴 데이터와 통합합니다
확정
오브젝트 벽 셋업 툴

명시적인 벽 형태로 생성되지 않은 오브젝트에 대해 벽 영역을 자동으로 생성합니다.

  • 평면상 오브젝트의 적당한 점유 영역을 기반으로 벽 데이터를 자동 생성합니다
예시 — 거대한 바위를 지형 위 임의 위치에 배치한 상태에서 툴에 벽 생성을 요청하면, 바위의 점유 영역 기반으로 벽 데이터가 생성됩니다.

바닥 레이어

바닥 데이터는 메쉬 하나로 완결되지 않고, 여러 개의 레이어를 쌓는 구조입니다. 각 레이어마다 기능을 정하고 툴을 개발합니다.

이동 영역 툴에서 생성된 바닥 메쉬는 유닛 단위마다 텍스쳐 슬롯을 하나만 사용하기 때문에 표현 제약이 발생할 수 있습니다. 이를 보완하기 위해 바닥 메쉬 위에 스태틱 데칼처럼 동작하는 레이어들이 필요합니다.

레이어 01
스플라인
베지어 곡선 또는 다각형 툴로 지정한 선 + 결절마다 너비를 지정하는 스플라인 기반 바닥 데칼입니다. 일반 데칼과 달리 바닥 메쉬 위에만 블렌딩됩니다.
레이어 02
휘발성 메쉬 환경물
납작한 쿼드 메쉬만으로는 실루엣 변경이 불가하여 요청된 레이어입니다. 카메라 거리 등 현재 상태에 의해 런타임에 다이나믹하게 생성됩니다.
레이어 03
풀 레이어
임의의 많은 수의 풀 메쉬를 드로잉합니다. 이동 영역 타일과 분리된 상태로 저장됩니다.
레이어 04
자갈 레이어
임의 영역에 컨트롤되지 않은 위치로 여러 오브젝트를 뿌립니다. 작업자가 직접 모델링한 메쉬를 사용합니다. 네이밍 변경 가능

레이어 상세 사양

확정
풀 레이어 사양
  • 작업자는 단위 면적당 풀 메쉬 밀도 힌트를 조절할 수 있습니다
  • 풀 가닥 하나하나의 정확한 위치를 개별 수정하는 기능은 제공하지 않습니다
확정
자갈 레이어 사양
  • 작업자는 자갈이 뿌려질 대략적인 위치 또는 밀도를 수정할 수 있어야 합니다
  • 배치된 하나하나의 정확한 위치를 개별 수정하는 기능은 제공하지 않습니다
  • 작업자가 직접 모델링한 메쉬를 사용 — 메모리·렌더링 비용은 작업자가 관리합니다
네이밍 주의 — 레이어 이름은 "자갈"이지만 반드시 자갈에만 사용하지 않아도 됩니다. 꽃, 나무 밑둥 등 장식물에도 사용할 수 있으며 이후 네이밍이 변경될 수 있습니다.