Tiled Wang 세트 내보내기 · 오토타일 시트로 지형 세트 만들기
Tiled Wang 세트를 타일마다 채우는 일은 Godot 피어링 비트와 같은 수고입니다. Studio는 인식한 배치로 Wang 세트(혼합·변·모서리, 지형마다 한 색)를 쓰고, Tiled 규칙으로 그린 샘플 맵을 덧붙입니다.
Wang 세트는 Tiled 1.5부터 Terrain Set으로 표시되며, 타일의 모서리나 변(또는 둘 다)에 지형 색을 붙여 Terrain Brush가 맞는 타일을 고르게 합니다. 종류는 그림에 맞춰 고릅니다. Corner Set과 Edge Set(지형 둘이면 각각 16타일), Mixed Set(최대 256, 47타일 블롭은 줄인 혼합 세트로 쓰임)입니다. Nerulio는 인식한 배치에서 모든 타일의 Wang ID를 채운 .tsx와 샘플 .tmx를 씁니다. Tiled 1.12.2가 모든 ID를 쓴 그대로 다시 읽었습니다.

- Tiled검증됨· Tiled 1.12.2
- Godot 4 TileSet검증됨· Godot 4.7.2
- Unity 6 Rule Tile검증됨· Unity 6000.5.3f1 + 2D Tilemap Extras 8.0.3
- LDtk일부 검증· LDtk 1.5.3 schema + loader
Wang ID, 세트 종류, 빈 지형
파일 안에서 표시된 타일마다 Wang ID가 있습니다. 위, 오른쪽 위, 오른쪽, 오른쪽 아래, 아래, 왼쪽 아래, 왼쪽, 왼쪽 위 순서의 색 번호 여덟 개이며, 0은 지정 안 됨, 1은 첫 번째 색입니다(TMX 형식 문서). Corner Set은 모서리 네 자리만, Edge Set은 변 네 자리만, Mixed Set은 여덟 자리를 모두 씁니다.
Terrain Brush는 칠하는 곳 주변의 색을 보고 Wang ID가 맞는 타일을 고르며, 이웃 타일도 이어지도록 바꿉니다. Tiled 매뉴얼에 따르면 두 지형 사이에 직접 전환이 없으면 전환이 있는 세 번째 지형을 거쳐 칠하고(흙 → 모래 → 자갈), Patterns 보기는 이미 타일이 있는 조합을 어둡게 표시합니다.
매뉴얼은 "빈칸"을 위한 지형을 따로 만들 필요가 없고, 아무것도 없는 쪽으로의 전환은 표시하지 않으면 된다고 설명합니다. 색이 하나인 블롭 세트라면 고립 타일의 ID가 0,0,0,0,0,0,0,0이 되는데, Tiled는 파일을 읽을 때 모두 0인 Wang 타일을 버리므로 브러시가 그 타일을 놓을 수 없습니다(저희 Tiled 실행에서 확인한 사실).
- Wang 세트 / Terrain Set
- 타일셋에 붙는 Tiled의 지형 표시 묶음. 타일셋 하나에 여러 개를 둘 수 있습니다.
- Wang 색
- 세트 안의 지형 하나(이름, 색, 선택적 아이콘 타일, 확률).
- Wang ID
- 타일마다 위에서 시작해 시계 방향으로 도는 색 번호 여덟 개. 0은 지정 안 됨.
- Corner / Edge / Mixed
- 세트가 쓰는 자리: 모서리, 변, 또는 둘 다.
예시: Nerulio가 쓰는 Wang ID
순서: 위, 오른쪽 위, 오른쪽, 오른쪽 아래, 아래, 왼쪽 아래, 왼쪽, 왼쪽 위
블롭 타일 N NE E SE S(마스크 31) wangid="1,1,1,1,1,0,0,0" mixed 세트
변 타일 N + S(세로 띠) wangid="1,0,0,0,1,0,0,0" edge 세트
모서리 타일 NW + NE wangid="0,1,0,0,0,0,0,1" corner 세트
고립 블롭 타일 wangid="0,0,0,0,0,0,0,0" 기록 안 함
wangtile 개수 블롭 47 → 46, 변 16 → 15, 모서리 16 → 15
타일 id = 행 × 열 수 + 열 (cr31 8 × 6 시트: 마스크 31은 1행 4열 → id 12)샘플 맵도 같은 정확 일치 규칙으로 칠합니다. 모서리 세트는 모서리 색이 격자점에 속하므로 레이어에 반 타일만큼 음수인 offsetx/offsety가 들어갑니다.
이렇게 작동합니다
- 배치에 맞는 Wang 세트 유형의 .tsx(블롭은 혼합, 변 16은 변, 모서리 16·듀얼 그리드는 모서리).
- sample.tmx: Tiled 규칙으로 그린 맵. 모서리 세트는 반 칸 어긋난 레이어입니다.
- Tiled 1.12.2의 --export-tileset·--export-map 읽기와 tmxrasterizer(픽셀 단위 동일)로 확인했습니다.
- 지형 브러시 자체는 실행하지 않았습니다(Windows에서 Tiled 스크립트가 헤드리스로 돌지 않음).
사용 방법
- 타일셋을 넣고 배치를 적용합니다.
- Tiled 규칙으로 테스트 맵을 칠해 미리 봅니다.
- Tiled 번들로 내보냅니다.
- .tsx나 sample.tmx를 Tiled에서 엽니다.
받게 되는 파일
내보내기 ZIP의 tiled 폴더입니다. 파일 이름은 이미지 이름을 따릅니다(여기서는 cave.png).
| 파일 | 용도 |
|---|---|
cave.tsx | 타일셋: 이미지, 타일 크기, 여백, 간격, 그리고 지형마다 색 하나와 표시된 타일마다 wangtile이 있는 Wang 세트 하나(corner·edge·mixed). 설정했다면 타일 확률도. |
sample.tmx | 이 세트로 그린 작은 맵. 직접 칠하기 전에 동작을 확인할 수 있습니다. |
cave.png | 타일셋 이미지. 상대 경로로 참조됩니다. |
README.txt | 세트 종류, 색 개수, Wang ID 순서. |
Tiled에서 Wang 세트 쓰기
tiled폴더의 압축을 풀고 PNG를 .tsx 옆에 둡니다(이미지를 파일 이름으로 참조합니다).- Tiled에서
sample.tmx를 열거나, .tsx를 열어 내 맵에서 사용합니다. - 표시를 확인하려면 타일셋을 열고 도구 모음의 Terrain Sets 버튼을 누릅니다. 타일마다 색이 칠해진 모서리나 변이 보이고, Patterns 탭은 아직 타일이 없는 조합을 강조합니다.
- 지형 모드를 끄고 맵으로 돌아가 Terrain Sets 창에서 세트와 지형을 고른 뒤 Terrain Brush(T)로 칠합니다. Ctrl을 누르면 모서리·변 하나가 아니라 타일 전체를, Shift를 누르면 직선을 칠합니다.
- 빈 맵에서는 매뉴얼의 조언대로 먼저 영역을 채우거나 Ctrl을 눌러, 브러시가 이어 붙일 이웃을 만들어 줍니다.
- Godot로 가져가려면 Tiled의 Godot 4 내보내기로 맵을 보내거나, 지형을 직접 만드세요. Godot 4 오토타일 참고.
결과 확인
- Terrain Sets 모드에서 고립 타일을 뺀 모든 타일에 색이 보여야 합니다. 모서리 16 세트라면 Patterns 보기에서 빈 것을 뺀 15개 패턴이 모두 어둡게 표시됩니다.
- Ctrl을 누른 채 3 × 3 영역을 칠합니다. 가장자리가 이어진 서로 다른 타일 9개가 나와야 합니다.
sample.tmx는 Studio 테스트 맵을 Tiled 규칙으로 그린 것과 같아 보입니다. 그 규칙이 빈칸으로 표시한 칸은 Tiled에서도 비어 있습니다.
문제 해결
| 증상 | 유력한 원인 | 확인 방법 | 해결 |
|---|---|---|---|
| 처음에 브러시가 아무것도 칠하지 않음 | 맵이 비어 있고 세트에 빈칸으로의 전환이 없어 붙일 곳이 없음 | 매뉴얼이 새 맵의 이 경우를 설명함 | 먼저 영역을 채우거나 Ctrl을 눌러 타일 전체를 칠하기 |
| 외딴 한 칸이 비어 있음 | 고립 타일의 Wang ID가 모두 0이라 세트에 들어가지 않음 | Terrain Sets 모드에서 그 타일에 색이 없음 | 필요한 곳에 Stamp Brush로 직접 놓기 |
| 샘플 맵이 다른 레이어와 반 칸 어긋남 | 모서리 세트 샘플은 −½타일 레이어 오프셋으로 격자점에 그려짐 | 레이어 속성의 Offset X / Y | 듀얼 그리드처럼 보이려면 오프셋 유지, 아니면 지우고 내 레이어에 칠하기 |
| 곳곳이 틀린 타일이거나 이음새가 보임 | 세트 종류가 그림과 맞지 않음(예: 블롭 시트를 edge 세트로) | .tsx의 wangset type 속성 | Studio에서 맞는 배치를 적용해 다시 내보내기 |
| 두 지형이 섞이지 않음 | 두 색이 함께 표시된 타일이 없음 | Patterns 보기에 두 색이 섞인 패턴이 없음 | 전환 타일을 그리거나 생성기에서 A 위 B 타일 생성 |
| 예전 Tiled에서 지형이 전혀 안 보임 | Tiled 1.5 이후 형식의 지형 정보는 이전 버전이 읽지 못함(매뉴얼 경고) | Help › About Tiled | Tiled 업데이트 |
다른 방법
| 방법 | 이럴 때 더 낫습니다 |
|---|---|
| Tiled의 Terrain Sets 모드에서 직접 표시(지형을 고르고 타일 영역 위로 클릭·드래그) | 세트가 작거나 배치가 특이할 때, 또는 공개 배치로 설명되지 않는 여러 지형이 한 타일에 있을 때. |
| LDtk 자동 레이어 규칙 사용: LDtk 오토타일 규칙 | IntGrid로 칠하고 modulo·확률·뒤집기로 확장할 수 있는 규칙이 좋을 때. |
| Godot 지형을 바로 만들기: Godot 4 오토타일 | 대상이 Godot뿐이고 Godot 안에서 칠하고 싶을 때. |
엔진별 내보내기와 검증 방법
"검증됨"은 실제 CC0 에셋으로 내보낸 파일을 해당 엔진·도구가 직접 불러와 원본과 비교했다는 뜻입니다. 불러오지 않은 형식은 그렇게 표시합니다.
| 대상 | 파일 | 검증 |
|---|---|---|
| Godot 4 TileSet | PNG · nerulio-tileset.json · nerulio_tileset_import.gd | 검증됨 Godot 4.7.2포함된 가져오기 스크립트가 지형 피어링 비트가 설정된 TileSet을 만듭니다. set_cells_terrain_connect로 칠한 맵이 9개 코퍼스 시트의 모든 칸에서 Studio 미리보기와 같았습니다. |
| Tiled | .tsx Wang set · sample.tmx | 검증됨 Tiled 1.12.2Tiled 자체 읽기 기능이 모든 Wang ID를 그대로 읽고 샘플 맵이 픽셀 단위로 동일하게 렌더링됩니다. 지형 브러시 자체는 실행하지 않았습니다. |
| Unity 6 Rule Tile | nerulio-ruletile.json · Editor/NerulioRuleTileImporter.cs | 검증됨 Unity 6000.5.3f1 + 2D Tilemap Extras 8.0.3블롭·변 타일셋: 칠한 Tilemap의 모든 칸이 예측한 스프라이트와 같습니다. 모서리/듀얼 그리드 타일셋은 Unity로 내보내지 않습니다. |
| LDtk | .ldtk (1.5.3) · rules · sample level | 일부 검증 LDtk 1.5.3 schema + loaderLDtk JSON 스키마와 공식 로더가 받아들이고 규칙을 다시 실행하면 내보낸 타일과 같습니다. LDtk 앱에서 열어 보지는 않았습니다. |
검증 근거
타일 코퍼스에서 픽셀만으로 배치를 인식: 블롭 47 템플릿 4개와 Wang 템플릿 2개는 높은 신뢰도, 실제 64px 동굴 타일셋은 중간 신뢰도로 모든 타일의 비트가 정확. Godot 4.7.2가 모든 테스트 칸을 Studio 예측대로 칠함(블롭 세트마다 485/485, 지형 4개 듀얼 그리드 팩 251/251). Tiled 1.12.2가 모든 Wang ID를 다시 읽음. Unity 6000.5에서 블롭·변 세트의 칠한 모든 칸 일치.
한계
- Terrain Brush 자체는 저희 점검에서 조작하지 않았습니다(Windows에서 Tiled 스크립트가 헤드리스로 돌지 않음). 파일 읽기는 검증했습니다.
- 뒤집기·회전 변형(Tile Transformations)은 쓰지 않습니다.
- 내보내기 하나에 Wang 세트 하나입니다.
- Tiled 지형 브러시, LDtk 앱, Godot 편집기의 칠하기는 실행하지 않았습니다. 검증은 엔진의 읽기 기능과 set_cells_terrain_connect로 했습니다.
- Unity로는 블롭·변 타일셋만 내보냅니다. 지형이 여러 개면 서로 이어지지 않는 Rule Tile 여러 개가 됩니다.
- 아이소메트릭·육각 타일, 애니메이션 타일, 오클루전·내비게이션 레이어는 지원하지 않습니다.
- 알려진 배치 없이 비트를 제안하려면 기준이 되는 "가득 찬" 타일이 필요합니다. 변만 있는 길 템플릿은 그 타일을 선택하기 전까지 추측이 틀릴 수 있습니다.
버전과 출처
Tiled 1.12.2 자체의 명령줄 읽기(--export-tileset, --export-map)로 확인했습니다. 모든 Wang ID가 쓴 그대로 돌아왔고 모든 샘플 맵이 올바른 Wang 타일링이었으며, tmxrasterizer 렌더가 독립 렌더와 픽셀 단위로 같았습니다. Wang ID를 바꾸거나 gid를 바꾸거나 간격을 1 늘리면 이 점검이 실패합니다. 위의 메뉴 이름은 Tiled 공식 문서를 따릅니다.
참고한 공식 문서
자주 묻는 질문
Wang 세트에 외딴 "섬" 타일이 없는 이유는?
Tiled는 ID가 모두 0인 Wang 타일을 버립니다. 그래서 단색 블롭 세트의 외딴 타일은 기록되지 않고, Studio의 Tiled 규칙이 그런 칸을 표시합니다.
Phaser가 샘플 맵을 읽을 수 있나요?
.tmx는 Tiled 맵입니다. Phaser는 타일셋이 포함된 Tiled JSON을 읽으며, 이는 Tiled에서 내보낼 수 있습니다.
무료인가요? 계정이 필요한가요?
이 페이지의 기능은 모두 무료이며 계정 없이 쓸 수 있습니다. 워터마크나 막혀 있는 내보내기가 없습니다.
스프라이트가 업로드되나요?
아니요. Studio는 이 브라우저 탭 안에서 디코딩·패킹·내보내기를 합니다. 프로젝트는 브라우저(IndexedDB)에 자동 저장되며 .nerulio 파일로 저장할 수 있습니다.
Aseprite나 엔진 플러그인을 설치해야 하나요?
아니요. .aseprite 파일은 브라우저에서 읽고 씁니다. 엔진별 번들에는 그 엔진에 필요한 것이 들어 있습니다(Godot는 가져오기 설정과 씬, Unity와 Godot 타일셋은 작은 편집기 스크립트).