목차에디터 · 메쉬 편집 모드

메쉬 편집 모드

메쉬 편집 모드는 씬에 메쉬 아이템을 배치하거나, 3DGS 아이템을 메쉬로 전환할 때 쓰는 기능을 모아 둔 편집 모드입니다. 스플랫에서 닫힌 메쉬를 생성하고, GLB·OBJ 메쉬를 가져와 배치하고, 기본 도형을 추가하며, 버텍스·엣지·면 모델링과 스컬프트·버텍스 페인트·재질 편집까지 이곳에서 합니다.

메쉬로 전환하더라도 스플랫이 사라지는 것은 아닙니다. 아이템의 주 표현은 계속 3DGS 스플랫이고, 메쉬는 선명한 실루엣·그림자·금속 표면·바닥판처럼 스플랫이 약한 부분을 보완하는 동반 레이어로 함께 저장됩니다. 저장한 아이템은 기본 뷰어에서도 스플랫과 메쉬를 같은 좌표계와 조명 아래 함께 표시합니다.

메쉬 편집 모드
메쉬 편집 모드

시작하기

상단 모드 전환에서 메쉬를 선택합니다. 스플랫은 그대로 보이므로 메쉬를 맞추는 동안 두 표현의 위치를 바로 비교할 수 있습니다. 처음에는 씬에 메쉬가 없어 오른쪽에 생성 탭만 의미가 있고, 메쉬를 하나 만들면 나머지 탭이 그 메쉬를 대상으로 동작합니다.

메쉬 아이템은 왼쪽 사이드바에 생깁니다. 생성·가져오기·기본 도형 중 어느 방법으로 만들든 결과는 왼쪽 아웃라이너의 메쉬 영역에 새 아이템으로 나타납니다. 아이템을 클릭하면 선택되어 뷰포트에 기즈모가 붙고, 오른쪽의 지오메트리 · 스컬프트 · UV · 텍스처 · 오브젝트 탭은 선택한 메쉬 아이템을 편집합니다. 아무것도 선택하지 않으면 각 탭이 "메쉬 오브젝트를 먼저 선택해 주세요"라고 안내합니다. 메쉬는 여러 개 둘 수 있고, 하나의 아이템에 스플랫과 메쉬들이 함께 저장됩니다.

오른쪽 탭은 작업 순서대로 놓여 있습니다.

  1. 생성(Gen) — 스플랫에서 메쉬 만들기, GLB/OBJ 가져오기, 기본 도형 추가, GLB 내보내기
  2. 지오메트리(Geo) — 버텍스·엣지·면 편집, 단순화·스무딩·세분화, 노멀 정리
  3. 스컬프트(Sculpt) — 브러시로 표면 다듬기와 버텍스 페인트
  4. UV — 텍스처를 입히기 위한 UV 펼치기와 미리보기
  5. 텍스처(Tex) — 재질 슬롯, 기본색 텍스처, 스플랫 → 텍스처 베이크
  6. 오브젝트(Obj) — 이름·표시·그림자·위치·회전·크기와 순서

권장 흐름은 생성 → 지오메트리에서 정리 → UV 펼치기 → 텍스처 베이크 → 오브젝트에서 배치 → 저장입니다. 저장하면 메쉬는 아이템의 동반 GLB로 함께 기록되어 뷰어에서도 스플랫과 같이 표시됩니다.

생성 탭

생성 탭
생성 탭
  • 스플랫에서 생성 — 현재 스플랫에서 닫힌 메쉬를 만듭니다. 생성 방식은 두 가지입니다. 스플랫 밀도(기본)는 스플랫의 중심·크기·투명도를 복셀 격자에 누적해 점유도가 충분한 부분을 안쪽으로 보고, 갇힌 빈 공간을 자동으로 채워 실체를 만듭니다. 뷰에 의존하지 않아 오목한 부위와 얇은 구조가 잘 살아남습니다. 민감도를 높이면 옅은 스플랫까지 안쪽으로 잡아 두껍고 매끈하게, 낮추면 진한 부분만 남아 얇고 정밀하게 나옵니다. 해상도는 한 변의 복셀 수(16~512, 기본 96)이며 높일수록 세밀하지만 메모리와 시간이 크게 늘어납니다. 밀도 방식에서는 품질 선택이 의미가 없어 숨겨집니다. 깊이 캡처는 여러 방향에서 깊이를 캡처해 거리장으로 융합하는 이전 방식입니다. 표면 부드러움(기본 · 부드럽게 · 매우 부드럽게, 기본값은 부드럽게)은 캡처 깊이의 튀는 값을 걸러 내고 거리장을 고르게 한 뒤 표면을 다듬어 뾰족한 돌기를 줄입니다. 강할수록 작은 디테일도 함께 둥글어지므로 세밀한 형태가 필요하면 기본을 고르세요. 품질이 높을수록 시간이 오래 걸리며, 진행 중에는 취소할 수 있습니다.
  • 가져오기 — 정적 GLB 또는 OBJ를 추가합니다. GLB는 외부 파일을 참조하지 않는 64 MiB 이하의 self-contained binary 파일이어야 합니다. JSON .gltf와 외부 .bin·이미지 묶음은 아직 지원하지 않습니다. OBJ는 전용 Worker에서 구조와 메모리 예산을 먼저 검사하며 가져오는 중에도 취소할 수 있습니다. 여러 파일은 모두 검증된 뒤 한 번에 추가되므로 중간 파일이 실패해도 장면 일부만 바뀌지 않습니다.
  • 기본 도형 — Box, Sphere, Cylinder, Plane을 바로 추가해 바닥판이나 보조 부품으로 사용합니다.
  • GLB 내보내기 — 현재 메쉬 장면을 자체 포함 GLB 파일로 내려받습니다. 외부 모델링 도구에서 이어서 작업하거나 다른 아이템에 가져올 수 있습니다.

생성 결과가 너무 무겁거나 표면이 거칠면 먼저 지오메트리 탭의 단순화와 스무딩을 사용하세요. 저장과 모든 동반 메쉬 뷰어 로드는 장면 전체의 실제 렌더 삼각형 1,200,000개와 64 MiB GLB 상한을 강제합니다. 같은 메쉬를 여러 노드가 참조해도 GPU가 각 인스턴스를 렌더하므로 인스턴스마다 합산합니다.

지오메트리 탭

지오메트리 탭은 선택한 메쉬의 형상을 직접 편집하는 곳입니다. 요소 모드와 선택, 모델링 명령, 그리고 정리·노멀 도구가 위에서 아래로 놓여 있습니다.

요소 모드와 선택

지오메트리 탭에서 오브젝트, 버텍스, 엣지, 면 모드를 전환합니다. 표면을 클릭해 선택하고 Shift+클릭으로 추가하거나 뺍니다. A는 전체 선택/해제, Ctrl/Cmd+I는 선택 반전입니다. 명시적 쿼드 토폴로지가 있는 메쉬의 엣지는 Alt+클릭으로 반대편 엣지를 따라 링 전체를 선택하고, Shift+Alt+클릭으로 링 전체를 추가하거나 제거할 수 있습니다.

면 모드 선택
면 모드 선택

B 또는 지오메트리 패널의 영역 선택을 누른 뒤 뷰포트에서 드래그하면 버텍스·엣지·면을 한 번에 선택합니다. 기본 드래그는 기존 선택을 대체하고, Shift를 누른 드래그는 추가하며 Ctrl/Cmd를 누른 드래그는 뺍니다. 영역 선택은 X-Ray(select-through) 방식이라 현재 표면에 가려진 요소까지 관통 선택합니다. 드래그를 확정하기 전 Esc 또는 우클릭하면 선택을 바꾸지 않고 취소합니다.

모델링 명령

  • 선택 요소 W / E / R — 메쉬 로컬 축에서 이동 / 회전 / 크기 조절
  • Delete — 버텍스·면 삭제. 엣지 모드에서는 선택 엣지에 직접 맞닿은 면도 삭제
  • X — 선택 영역 돌출
  • I — 선택 영역 인셋
  • 선택 면 세분화 — 레벨 1~3에서 선택 면을 레벨마다 4배로 나누고 경계의 T-junction을 방지. 엣지 스무딩은 기존 버텍스를 고정한 채 새 중점만 이동
  • P — 선택 면을 새 오브젝트로 분리
  • 엣지 Ctrl/Cmd+R — 에디터가 증명한 쿼드 링에 1~8개의 Loop Cut 추가
  • 엣지 Ctrl/Cmd+B — 안전 조건을 만족하는 엣지에 1~8세그먼트 프로파일 베벨
  • 경계 엣지 F — 하나의 평평하고 단순한 경계 루프를 면으로 채움

모델링 연산은 백그라운드에서 계산됩니다. 비매니폴드, 뒤집힌 면, 교차 경계, 손상된 속성 또는 메모리 상한이 발견되면 일부 결과를 남기지 않고 전체 작업을 취소합니다. 베벨은 닫힌 방향 일관 삼각형 매니폴드에서 서로 떨어진 엣지뿐 아니라 연결 체인·L자 코너·링·3갈래 접합을 지원하며, 한 정점에 맞닿은 선택 엣지는 최대 3개까지 허용합니다. 세그먼트와 프로파일은 지오메트리 패널에서 조절합니다. 안전하지 않은 폭이나 출력·작업 메모리 예산 초과는 일부 결과 없이 전체 베벨을 거부합니다. Subdivide의 레벨은 컷 수가 아닙니다. 레벨 1/2/3은 원래 엣지에 각각 1/3/7개의 분할점을 만들며 선택 면 하나는 4/16/64개가 됩니다. 엣지 스무딩 0은 정확한 중점, 1은 내부 엣지의 양쪽 이웃 면을 반영한 부드러운 새 중점을 사용합니다. UV·색상·재질 심은 보존되며 전체 레벨이 한 번의 백그라운드 작업과 한 단계 실행 취소로 적용됩니다. 예상 결과가 스컬프트의 대화형 상한을 넘으면 먼저 경고하므로 필요한 영역만 선택하거나 레벨을 낮추세요. Loop Cut은 Box/Plane/Sphere/Cylinder처럼 명시적 쿼드 토폴로지가 저장된 메쉬에서 엣지 하나만 선택했을 때 활성화됩니다. 실제 경계가 아닌 삼각형이나 미지원 심을 만나면 T-junction을 만들지 않고 작업 전체를 취소합니다. Face Fill은 경계에 맞닿은 모든 면이 같은 재질 슬롯을 사용해야 합니다. 모프 타깃, 인스턴스, 스키닝 또는 일부 draw range만 표시하는 소스는 Face Fill에서 거부합니다.

정리와 노멀

  • Taubin 스무딩 — 부피 감소를 억제하면서 표면을 정리합니다. 열린 경계를 유지할 수 있습니다.
  • 단순화 — 연결 성분, UV/노멀/색상 심, 재질 면 매핑을 보존할 수 있는 범위에서 실제 버텍스 수를 줄입니다.
  • 노멀 재계산 — 형상은 유지하고 조명 방향만 다시 계산합니다.

결과가 적용되기 전후로 면 붕괴와 방향 뒤집힘을 검사합니다. 실패하면 강도나 유지 비율을 낮춰 다시 시도하세요.

스컬프트 탭

스컬프트와 버텍스 페인트를 한 탭에서 다룹니다. Grab, Inflate, Smooth, Flatten, Pinch를 선택하고 표면을 드래그합니다. 브러시 크기와 강도를 조절할 수 있고, 펜 입력은 압력을 반영합니다. 한 번의 드래그는 한 번의 실행 취소 단계입니다.

스컬프트
스컬프트
  • 폴오프는 중심에서 가장자리까지의 영향 곡선을 바꿉니다. 부드럽게/구형은 넓은 형태 정리에, 날카롭게는 세부 조각에, 선형은 예측 가능한 경사에, 균일은 브러시 안쪽을 같은 세기로 처리할 때 적합합니다. 같은 설정이 버텍스 페인트에도 적용됩니다.
  • 로컬축 대칭 X/Y/Z는 오브젝트의 로컬 원점을 기준으로 Grab과 네 가지 형상 브러시를 2/4/8개 방향에 함께 적용합니다. 여러 축을 동시에 켤 수 있으며 회전, 비균일 크기, 음수 크기가 적용된 오브젝트에서도 로컬축을 유지합니다. 정확히 대응되는 연결 면이 없거나 겹친 별도 셸 때문에 대응이 모호한 방향은 건너뛰므로 가까운 표면이 잘못 변형되지 않습니다. Paint에는 적용되지 않습니다.
  • Shift는 Inflate/Flatten/Pinch의 반대 방향을 사용합니다.
  • Smooth의 열린 경계 유지는 가장자리 형태가 무너지는 것을 막습니다.
  • Esc는 현재 스트로크 전체를 취소합니다.
  • 페인트는 Linear-sRGB 버텍스 색상을 칠합니다. Shift로 흰색에 가깝게 지우며, 클릭한 면에 연결된 브러시 영역만 따라가므로 가까이 겹친 별도 표면으로 색이 새지 않습니다.

Smooth와 페인트는 50,000 버텍스 / 100,000 삼각형, 나머지 형상 브러시는 150,000 버텍스 / 300,000 삼각형까지 대화형으로 사용할 수 있습니다. 대칭은 한 dab당 최대 400,000 정점 방문으로 추가 제한됩니다. 선택한 축 수가 이 한도를 넘으면 축을 줄이거나 메쉬를 단순화해야 합니다. 일부 draw range만 보이는 형상과 shear가 포함된 월드 변환은 연결되지 않은 면 손상을 막기 위해 대칭 스트로크를 시작하지 않습니다.

UV 탭

UV 탭은 텍스처 작업의 출발점입니다. UV 펼치기는 면을 노멀 방향(±X·±Y·±Z)별 섬으로 나눠 평면에 펼치고 한 장의 아틀라스에 배치하며, 기준 텍스처 크기와 섬 여백을 정할 수 있습니다. 아래 UV 미리보기에 펼쳐진 섬 배치가 그려지고, 섬 수와 아틀라스 사용률이 표시됩니다. 축 하나로 투영하는 평면 투영 카드도 이 탭에 있습니다. 텍스처 탭은 UV가 없는 메쉬에서 "UV를 먼저 만드세요" 안내를 띄우고 베이크와 텍스처 적용을 막습니다.

UV 탭
UV 탭

텍스처 탭

재질 슬롯과 기본색 텍스처

텍스처 탭은 가져온 다중 재질을 슬롯별로 유지합니다. 기본색, 거칠기, 금속성, 불투명도, 발광색/세기, 플랫 셰이딩과 양면 표시를 편집할 수 있습니다. 가져온 기본색 텍스처는 유지됩니다. UV0이 있는 메쉬에서는 로컬 PNG/JPEG/WebP를 선택한 재질 슬롯의 기본색 텍스처로 적용하거나 교체할 수 있고, 해당 슬롯의 텍스처만 명시적으로 제거할 수도 있습니다. 파일은 적용 전에 실제 이미지 형식·손상·해상도· 메모리 한도를 검사하며, 한 번의 적용·교체·제거는 각각 한 단계로 되돌릴 수 있습니다. 알파 채널이 있는 이미지는 스플랫과 깊이를 함께 기록하는 커버리지 모드로 표시됩니다.

스플랫 → 텍스처 베이크

텍스처 베이크
텍스처 베이크

스플랫 → 텍스처 베이크는 지금 뷰어에 보이는 스플랫을 메쉬 텍스처로 굽습니다. 절차는 세 단계이며 버튼 하나로 이어집니다.

  1. UV 펼치기 — 메쉬에 UV가 없으면 자동으로 펼칩니다. 면을 노멀 방향(±X·±Y·±Z) 으로 묶어 섬(차트)을 만들고 여백을 두고 한 장에 배치합니다. UV 다시 펼치기로 언제든 새로 만들 수 있고, 되돌리기 한 단계입니다
  2. 주변 뷰 렌더 — 메쉬를 둘러싼 구면에 카메라를 뷰 수(8 · 16 · 32)만큼 놓고 각 뷰에서 스플랫만 렌더 크기(512 · 1024 · 2048)의 정사각 화면으로 렌더합니다. 색 보정·조명·환경이 적용된 화면 그대로가 소스가 되며, 메쉬 아이템이나 편집 오버레이는 찍히지 않습니다. 렌더 크기는 텍스처 크기와 별개이며, 텍스처가 크거나 세부가 많으면 렌더도 키우는 편이 선명합니다
  3. 텍스처에 투영 — 텍스처(512 · 1024 · 2048) 텍셀마다 메쉬 위 위치를 각 뷰에 투영해, 카메라를 향하고 스플랫 표면에 가려지지 않은 뷰의 색을 정면일수록 크게 가중해 평균합니다. 어느 뷰에서도 안 보이는 오목한 부위는 이웃 색으로 채웁니다

결과는 선택한 메쉬의 모든 재질 슬롯에 기본색 텍스처로 들어가고 기본색은 흰색으로 맞춰집니다. 베이크가 끝나면 텍스처 탭 아래에 구워진 텍스처 미리보기와 텍스처·렌더 크기, 뷰 수, 표면 채움 비율이 표시됩니다. 메쉬가 스플랫 표면에 가까울수록 정확하며, 삼각형이 성기면 UV 섬이 작아지므로 세분화 후 베이크하는 편이 선명합니다. 베이크된 메쉬는 씬 조명을 받으므로 스플랫보다 어둡게 보이면 조명 탭에서 강도를 조절하세요. 텍스처는 GLB에 함께 저장되어 저장 용량 상한(64 MiB)에 포함됩니다.

불투명도 1 미만은 스플랫과 깊이 충돌을 줄이는 알파 커버리지로 표시됩니다. 현재 부드러운 유리/투과와 OIT는 지원하지 않습니다.

오브젝트 탭

모든 메쉬 노드는 왼쪽 아웃라이너의 메쉬 영역에 나타납니다. 오브젝트 탭에서 이름, 표시 여부, 그림자 주기/받기와 위치·회전·크기를 조절할 수 있습니다. 위/아래 순서 버튼은 선택한 노드를 한 블록으로 옮기며, 여러 노드의 내부 순서는 유지됩니다.

아웃라이너와 오브젝트 탭
아웃라이너와 오브젝트 탭

왼쪽 아웃라이너와 오브젝트 탭 모두 Shift+클릭으로 연속 범위를 선택하고, Ctrl/Cmd+클릭으로 개별 오브젝트를 선택 집합에 추가하거나 제거할 수 있습니다.

  • Shift+D — 선택한 오브젝트를 독립 복제
  • Ctrl/Cmd+J — 여러 선택을 활성 오브젝트 기준으로 결합
  • Delete — 선택한 오브젝트 삭제
  • W / E / R — 선택 전체를 중앙값 피벗에서 이동 / 회전 / 크기 조절 (회전·크기 축은 활성 오브젝트의 로컬 방향 사용)
  • Esc — 진행 중인 기즈모 드래그를 원래 값으로 취소

여러 오브젝트를 기즈모로 함께 변형·복제·삭제하거나 순서를 바꿔도 한 번의 실행 취소 단계로 기록됩니다. 오브젝트 ID와 아웃라이너 순서는 동반 GLB에 함께 저장되므로 다시 열어도 선택 라우팅과 저작 순서가 바뀌지 않습니다. 가져온 파일은 저장된 외부 ID를 재사용하지 않고 새 ID를 받아 현재 장면과 충돌하지 않습니다.

저장과 뷰어

저장하면 메쉬 장면은 하나의 동반 GLB로 기록되고 스플랫 버전과 같은 자산 버전에 묶입니다. 노드 트랜스폼, 표시/그림자, 재질, 버텍스 색상과 가져오거나 편집기에서 선택한 텍스처도 외부 이미지 주소 없이 자체 포함 GLB에 함께 저장됩니다. 각 노드의 안정적인 ID와 루트 저작 순서도 완전한 receipt로 기록되고, 손상되거나 일부만 맞는 receipt는 다른 노드에 잘못 연결하지 않고 로드를 중단합니다. 기본·공유·임베드 뷰어는 먼저 스플랫을 표시한 뒤 동반 메쉬를 이어서 불러옵니다. 메쉬 로드가 실패해도 스플랫 조작은 유지되며 다시 시도할 수 있습니다. 동반 파일은 64 MiB 이하의 자체 포함 binary GLB만 허용하고, 한 번의 로드가 2분 안에 끝나지 않으면 중단해 무한 로딩 대신 다시 시도할 수 있는 오류로 전환합니다. 저장과 로드 모두 메쉬 데이터 범위와 embedded PNG/JPEG/WebP를 미리 검사합니다. 텍스처는 한 축 8192 px, 이미지 하나의 해제 크기 64 MiB, 전체 해제 예산 128 MiB 이하여야 합니다. 초과하면 업로드나 파싱 전에 중단되므로 해상도나 이미지 수를 줄여야 합니다.

뷰어에서 본 메쉬
뷰어에서 본 메쉬

저장 전에는 Ctrl/Cmd+ZCtrl/Cmd+Shift+Z로 메쉬 전용 기록을 확인하세요. 메쉬 생성·가져오기·텍스처 해제·저장·백그라운드 모델링 중에는 충돌하는 편집이 잠깁니다. 텍스처 적용 중 취소하면 재질, 히스토리, 저장 상태는 바뀌지 않습니다.

현재 제한

임의 삼각형 메쉬의 쿼드 추론, 한 정점에 선택 엣지가 4개 이상 모이는 베벨 접합, 부울, 자동 UV 언랩, 리메시·동적 토폴로지, 스키닝 편집과 부드러운 투명 메쉬 블렌딩은 아직 지원하지 않습니다. 이 기능이 필요한 자산은 외부 모델링 도구에서 정적 GLB로 준비해 가져올 수 있습니다.