본문으로 건너뛰기

듀얼 그리드 타일셋 · 47개 대신 16개, Godot·Tiled용

듀얼 그리드는 47개 블롭 타일 대신, 맵 격자에서 반 칸 어긋난 16개 모서리 타일로 그립니다. Studio는 듀얼 그리드 시트(한 팩에 여러 지형 포함)를 인식하고, 4분할 조각으로 생성하고, Godot 4와 Tiled로 내보냅니다.

듀얼 그리드는 지형은 맵의 칸에 두고, 타일은 칸 사이의 점, 즉 반 칸 어긋난 자리에 그립니다. 그려지는 타일 하나가 네 칸의 모서리를 하나씩 덮으므로, 그 네 칸 중 어느 칸이 지형인지만 알면 됩니다. 2⁴ = 16장이면 되고 블롭의 47장이 필요 없습니다. 대가는 반 칸 밀린 표시 레이어(W × H 칸 맵에 (W+1) × (H+1) 타일)와, 가장자리가 타일 한가운데를 지나도록 그린 그림입니다. Studio는 모서리 16장 시트(한 팩에 여러 지형 포함)를 인식하고, 블롭 세트와 같은 조각으로 생성하며, Godot 4 Match Corners 지형, Tiled 모서리 Wang 세트, LDtk 규칙으로 내보냅니다. 유니티 룰 타일에는 담을 수 없습니다.

타일셋 또는 오토타일 시트(PNG)를 끌어다 놓으세요
빈 Studio 열기
브라우저에서 처리하며 파일은 업로드되지 않습니다.
Studio 타일 작업 공간: Godot 지형 규칙으로 칠한 테스트 맵
CC0 에셋(OpenGameArt)을 연 실제 Studio 화면입니다.
내보내기 대상
  • Godot 4 TileSet검증됨· Godot 4.7.2
  • Tiled검증됨· Tiled 1.12.2
  • Unity 6 Rule Tile검증됨· Unity 6000.5.3f1 + 2D Tilemap Extras 8.0.3
  • LDtk일부 검증· LDtk 1.5.3 schema + loader

격자를 반 칸 옮기면 16장으로 충분한 이유

블롭 세트에서는 한 칸의 타일이 그 칸의 네 조각을 모두 그려야 합니다. 조각마다 이웃 셋에 좌우되고(왼쪽 위 조각은 N, W, NW), 모양은 다섯 가지입니다. 바깥 모서리, 위쪽 테두리, 옆쪽 테두리, 안쪽 모서리, 가득 참. 네 조각은 맞닿는 변에서 서로 맞아야 하고, 가능한 조합을 세면 47가지입니다.

그린 격자를 반 칸 옮기면 타일 하나가 서로 다른 네 칸의 조각을 하나씩 보여 줍니다. 타일 중심점에서 만나는 네 칸입니다. 조각이 다섯 모양 중 무엇이어야 하는지는 같은 타일 안의 나머지 세 칸으로 정해지므로, 타일은 칸마다 비트 하나(지형인지 아닌지)만 알면 됩니다. 비트 네 개로 16장: 빈 것 1, 지형 칸 하나(바깥 모서리) 4, 나란한 두 칸(곧은 가장자리) 4, 대각선 두 칸 2, 세 칸(안쪽 모서리) 4, 가득 참 1입니다.

어느 쪽이든 조각은 같은 이웃 셋으로 정해지므로, Nerulio 생성기는 그린 조각 20개(모서리 4 × 모양 5)로 블롭 47 세트와 듀얼 그리드 16 세트를 모두 만듭니다. 바뀌는 것은 타일이 놓이는 자리이지, 그림이 보여 줘야 할 내용이 아닙니다.

대가도 분명합니다. 표시 레이어는 밀려 있고 데이터 격자보다 가로세로로 한 장씩 크며, 충돌과 게임 로직은 데이터 격자에 남고, 모든 엔진이 격자점에 타일을 놓을 수 있는 것은 아닙니다. 변 타일 16장 세트와 혼동하지 마세요. 그쪽은 칸의 네 변을 맞추며(길, 울타리, 발판) 모서리 타일과 서로 바꿔 쓸 수 없습니다.

데이터 격자
칠하는 칸이자 게임 로직이 읽는 칸. 지형이거나 아니거나.
표시 격자
그려지는 타일. 네 칸 사이의 격자점마다 하나, 반 칸 밀려 있음.
모서리 마스크
한 점을 둘러싼 네 칸에 대해 NW 1 + NE 2 + SE 4 + SW 8. 0(빈 것)부터 15(가득)까지.
변 세트
네 변(N 1, E 2, S 4, W 8)으로 맞추고 칸 위에 그리는 16장. 다른 세트입니다.

예시: 격자점마다 어떤 타일이 오나

가운데에 2 × 2 땅이 있는 4 × 3 맵:

데이터 격자 (# = 땅)       격자점 위의 표시 타일: (4 + 1) × (3 + 1) = 20
. . . .
. # # .                     칸 (1,0) (2,0) (1,1) (2,1) 사이의 점:
. # # .                       NW . = 0   NE . = 0   SE # = 4   SW # = 8   → 마스크 12
                              = 아래쪽 절반이 땅: 곧은 위쪽 가장자리

점 주변의 땅 칸            0   1         나란한 2        대각선 2     3              4
모양                        -   바깥      곧은 가장자리   대각선       안쪽 모서리    가득
타일                        1 + 4       + 4             + 2          + 4            + 1   = 16

같은 2 × 2 덩어리가 블롭 세트에서는 네 칸이고, 칸마다 여덟 이웃으로 47장 중 하나를 고릅니다. 듀얼 그리드에서는 격자점 아홉 개가 각각 네 칸을 보고 16장 중 하나를 고릅니다.

엔진마다 모서리 세트를 두는 곳

엔진모서리 세트를 저장하는 방식Nerulio 내보내기
고도 4Match Corners 모드 지형 세트: 타일마다 모서리 피어링 비트 네 개검증: 지형 4개짜리 듀얼 그리드 팩을 Godot 4.7.2가 251칸 모두 예측대로 칠함(여러 지형 맵 3개 포함)
Tiled모서리 Wang 세트(Tiled 설명서: 지형 두 개의 완전한 모서리 세트는 16장). 샘플 맵 레이어는 반 칸 밀림Tiled 1.12.2 자체 읽기 도구로 검증
LDtk타일마다 규칙 하나, 타일은 반 칸 오프셋으로 그림일부 검증: 1.5.3 스키마, 공식 로더, 규칙 재실행
유니티룰 타일은 칸 위에 그리며 칸 사이의 점에는 그리지 않음내보내지 않음
고도 3과 템플릿고도 3의 "2×2" 템플릿, cr31 2-corner Wang 세트, 4×4 듀얼 그리드 시트는 같은 순서corner16 cr31로 인식

이렇게 작동합니다

  • 모서리 16 배치(cr31 2-corner = Godot 3 "2×2" = 듀얼 그리드 4×4)를 신뢰도와 함께 인식합니다.
  • 여러 지형 팩: 같은 단색 채움을 가진 블록을 한 지형으로 묶습니다.
  • 블롭 세트와 같은 4분할 조각으로 듀얼 그리드 16을 생성하고, A 위 B 전환을 한 쌍씩 만듭니다.
  • 모서리 모드 Godot 4 지형(검증, 여러 지형 맵 포함 251/251칸)과 Tiled 모서리 Wang 세트(검증). Unity로는 내보내지 않습니다.

사용 방법

  1. 듀얼 그리드 시트(또는 생성할 기본 블록)를 끌어다 놓습니다.
  2. 인식된 배치를 적용하고 지형별로 점검합니다.
  3. 테스트 맵을 칠합니다. 모서리 세트는 반 칸 어긋난 격자점에 놓입니다.
  4. Godot 4나 Tiled로 내보냅니다.

받게 되는 파일

grass.png라는 듀얼 그리드 시트의 경우:

파일용도
nerulio_tileset_import.gd고도 4: Match Corners 지형 세트가 든 nerulio-tileset.tres를 만듭니다. 블록이 여러 개인 팩은 지형을 그대로 유지합니다.
grass.tsxTiled: 지형마다 색 하나인 모서리 Wang 세트. sample.tmx는 반 칸 밀린 레이어에 세트를 그립니다.
grass.ldtkLDtk: 지형마다 IntGrid 값 하나, 반 칸 타일 오프셋이 있는 타일별 규칙.

문제 해결

증상유력한 원인확인 방법해결
엔진에서 전부 반 칸 어긋나 보임블롭식 그림(가장자리가 타일 테두리에 있음)을 모서리 세트로 썼거나, 모서리 그림을 밀리지 않은 레이어에 놓음테스트 맵에서 Tiled 규칙으로 칠한 칸과 테두리 위치를 비교지형 가장자리가 타일 한가운데를 지나도록 모서리 타일을 그리고, 표시 레이어 오프셋을 유지
유니티 내보내기에 이 세트의 지형이 없음룰 타일은 칸 위에 그림. 모서리 세트는 격자점이 필요내보내기 안내에 유니티는 모서리 세트를 건너뛴다고 나옴고도·Tiled·LDtk를 쓰거나, 유니티에는 블롭 47 세트를 사용
여러 지형 팩에서 지형이 뒤섞임지형은 같은 그림인 단색 채움으로 묶음. 채움이 조금만 달라도 새 지형이 됨적용 후 지형 목록 확인지형을 합치거나 이름을 바꾸거나, 채움을 똑같이 맞춤
Tiled 규칙에서 맵 바깥 테두리에 틈이 보임맵 가장자리의 격자점은 맵 밖의 칸에 닿음이 점들은 문제로 보고되지 않음정상. 가장자리까지 그려야 하면 테두리에 칸을 하나 더 칠함
생성기가 A4 벽 블록으로 듀얼 그리드를 만들지 않음변만 있는 원본에는 모서리 타일을 만들 조각이 없음변만 있는 원본은 모서리 타일을 그릴 수 없다는 오류알만툴 A2, Blobsmith, 5칸, 절차적 테두리 원본을 사용

다른 방법

방법이럴 때 더 낫습니다
블롭 47장 세트유니티 룰 타일이 필요하거나, 오프셋 레이어 없이 타일이 칸 위에 놓이길 원할 때(블롭 설명).
Tiled의 모서리 세트만 쓰기레벨을 Tiled에서 만들고 거기서 Wang 색을 표시할 때. Tiled Wang 세트 참고.
기본 블록에서 16장 생성A2 블록이나 2×3 기본 블록을 그렸을 때. 타일셋 생성기가 블롭과 같은 조각으로 듀얼 그리드 세트를 조립합니다.

엔진별 내보내기와 검증 방법

"검증됨"은 실제 CC0 에셋으로 내보낸 파일을 해당 엔진·도구가 직접 불러와 원본과 비교했다는 뜻입니다. 불러오지 않은 형식은 그렇게 표시합니다.

대상파일검증
Godot 4 TileSetPNG · 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 Tilenerulio-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에서 블롭·변 세트의 칠한 모든 칸 일치.

한계

  • 모서리 세트는 유니티로 내보내지 않습니다.
  • 지형 사이 전환은 팩의 그림이나 A 위 B 생성에서 오며, 한 쌍씩입니다.
  • 테스트 맵은 맵 바깥 테두리의 격자점을 보여 주되 점검하지는 않습니다.
  • Tiled 지형 브러시, LDtk 앱, Godot 편집기의 칠하기는 실행하지 않았습니다. 검증은 엔진의 읽기 기능과 set_cells_terrain_connect로 했습니다.
  • Unity로는 블롭·변 타일셋만 내보냅니다. 지형이 여러 개면 서로 이어지지 않는 Rule Tile 여러 개가 됩니다.
  • 아이소메트릭·육각 타일, 애니메이션 타일, 오클루전·내비게이션 레이어는 지원하지 않습니다.
  • 알려진 배치 없이 비트를 제안하려면 기준이 되는 "가득 찬" 타일이 필요합니다. 변만 있는 길 템플릿은 그 타일을 선택하기 전까지 추측이 틀릴 수 있습니다.

버전과 출처

Nerulio 검증(docs/STUDIO-TILE.md, 2026-09-23): MIT 라이선스인 GlitchedinOrbit 듀얼 그리드 시트를 corner16 블록 5개, 지형 4개로 읽었고(모서리 지형 80/80, 이음새 AUC 1.000), Godot 4.7.2가 251칸 모두 예측대로 칠했으며, Tiled 1.12.2와 LDtk 1.5.3 점검을 통과했습니다. 엔진 용어는 링크한 공식 문서를 따릅니다.

참고한 공식 문서

자주 묻는 질문

듀얼 그리드는 왜 Unity로 내보내지 않나요?

Unity Rule Tile은 칸 위에 그리고 칸 사이 모서리에는 그리지 않으므로, 모서리·듀얼 그리드 세트는 Unity로 내보내지 않습니다.

시트 하나에 여러 지형을 둘 수 있나요?

네. 듀얼 그리드 블록 여러 개가 든 팩을 지형 4개로 인식했고 모서리 지형 80/80이 맞았습니다.

무료인가요? 계정이 필요한가요?

이 페이지의 기능은 모두 무료이며 계정 없이 쓸 수 있습니다. 워터마크나 막혀 있는 내보내기가 없습니다.

스프라이트가 업로드되나요?

아니요. Studio는 이 브라우저 탭 안에서 디코딩·패킹·내보내기를 합니다. 프로젝트는 브라우저(IndexedDB)에 자동 저장되며 .nerulio 파일로 저장할 수 있습니다.

Aseprite나 엔진 플러그인을 설치해야 하나요?

아니요. .aseprite 파일은 브라우저에서 읽고 씁니다. 엔진별 번들에는 그 엔진에 필요한 것이 들어 있습니다(Godot는 가져오기 설정과 씬, Unity와 Godot 타일셋은 작은 편집기 스크립트).