MC Toolkit

가이드 / 건축 및 리소스

Bedrock 스킨 팩은 파일 네 개로 이루어지며, 그 실패 양상 중 두 가지는 조용히 지나간다

서로 달라야 하는 두 개의 UUID, 선택 사항이 아닌 lang 파일, 그리고 구두점을 제거하는 스킨 키 — 그래서 'My Skin!'과 'My Skin?'은 오류 없이 하나의 스킨이 된다.

.mcpack는 확장자만 다른 zip 파일이고, 그 안에 들어가는 스킨 팩에는 정확히 네 종류의 파일이 필요하다:

manifest.json      a header and a skin_pack module, each with its own UUID
skins.json         one entry per skin: texture, geometry, and a KEY
texts/en_US.lang   the display names — skins.json holds only keys
*.png              the textures themselves

넷 중 셋은 맞추기 쉽다. 흥미로운 실패는 모두 이들 사이의 관계에서 나온다.

두 UUID는 달라야 한다

manifest.json는 header에 하나의 UUID를, skin_pack 모듈에 또 다른 UUID를 담고 있다:

{
  "format_version": 1,
  "header":  { "name": "…", "uuid": "…", "version": [1, 0, 0] },
  "modules": [ { "type": "skin_pack", "uuid": "…", "version": [1, 0, 0] } ]
}

이들은 팩과 팩 안의 요소라는 두 개의 별개 정체성이며, 두 곳에 같은 값을 재사용하는 것은 빌드 시점에 아무 불평도 없지만 실제로는 오류다.

두 번째로 더 미묘한 결과가 있다: 같은 UUID로 다시 가져오면 같은 팩으로 취급되며, Minecraft는 이미 가지고 있는 복사본을 조용히 유지한다. 팩을 수정하고, 같은 식별자로 다시 빌드하고, 다시 가져오면 아무 일도 일어나지 않은 것처럼 보인다. 이 문서의 모든 빌드가 매번 새 UUID를 받는 이유가 바로 그것이며, 수정한 팩을 다시 가져올 때 예전 것을 다시 압축하는 대신 새로 내려받아야 하는 이유이기도 하다.

lang 파일은 선택 사항이 아니다

skins.json에는 표시 이름이 절대 들어가지 않는다. 여기에는 키가 들어가고, texts/en_US.lang가 그 키를 텍스트로 매핑한다:

skinpack.<PackKey>=My Pack
skin.<PackKey>.<SkinKey>=My First Skin

lang 파일 없이 팩을 배포하면 아무 오류도 나지 않는다 — 모든 스킨이 게임에서 그저 원시 키 그대로 나타날 뿐이다. 손으로 조립한 팩이 검증은 멀쩡히 통과하는데 망가진 것처럼 보이는 가장 흔한 이유다.

키는 구두점을 제거하고, 중복은 합쳐진다

키는 영숫자여야 한다. 나머지는 모두 제거된다:

your namekey
My Skin!MySkin
My Skin?MySkin
Skin #2Skin2
!!!Skin1 (fallback, by position)

처음 두 행이 함정이다. 사람이 보기에 뚜렷이 다른 두 스킨이 하나의 키가 되고, 중복 키는 오류를 내지 않는다 — 게임 내에서 조용히 하나의 스킨으로 합쳐진다. 스킨 열두 개를 업로드하고 열한 개를 얻지만, 어느 것이 사라졌는지 알려주는 것은 아무것도 없다.

여기 있는 빌더는 이미 사용한 키에 카운터를 붙여 이에 대비하므로, 두 번째 MySkin는 MySkin2가 된다. 팩을 손으로 조립한다면 알아둘 만하다: 필요한 검사는 제거된 이름을 대상으로 해야 하지, 네가 입력한 이름이 아니다.

이름이 전부 구두점뿐이라면 아무것도 남지 않으므로, Skin에 목록에서의 위치를 붙인 값으로 대체된다.

Slim은 올바른 geometry 문자열이 필요하다

각 항목은 모델을 지정하며, 두 가지가 있다:

  • geometry.humanoid.custom — 클래식, 4픽셀 팔
  • geometry.humanoid.customSlim — 슬림, 3픽셀 팔

이것을 틀리는 것이 Alex 비율의 스킨이 Steve의 각진 팔로 나타나는 흔한 원인이다. 텍스처는 멀쩡하고, 요청된 모델이 그쪽인 것이다. 팩 빌더는 슬림 팔이 비워 두는 두 열(x 54–55)을 보고 이를 추측하며 항목별로 바로잡을 수 있게 해주지만, 손으로 쓴 skins.json는 이를 명시적으로 밝혀야 하고, 두 문자열은 끝 네 글자가 다르다.

항목은 "type": "free"도 담고 있으며, 망토는 같은 항목에서 참조되는 선택적 추가 PNG다 — 망토는 별도 다운로드가 아니라 스킨 팩 안에 함께 들어간다.

스킨 팩 메이커 →

더 많은 가이드

모두 보기 →