UDIM 번호 계산과 파일명 규칙: <UDIM>·<UVTILE>·_u1_v1
UDIM 파일을 불러왔는데 타일이 하나만 보이거나 텍스처가 비어 있나요? 같은 이미지 묶음도 앱마다 파일명에서 찾는 방식이 달라 body.1002.exr와 body.<UDIM>.exr가 서로 다른 자리에 쓰일 수 있습니다. 어떤 숫자와 토큰을 입력해야 하는지 헷갈린다면, 번호 계산·파일명 표기·프로그램별 예시 세 가지를 차례로 보겠습니다.
1. UDIM 번호는 UV 좌표로 계산합니다
UV 타일은 왼쪽 아래가 기준입니다. 첫 타일의 좌표는 u=0, v=0이고 UDIM 번호는 1001입니다. 오른쪽으로 한 칸 가면 u가 1 올라가고, 위로 한 줄 올라가면 v가 1 올라갑니다.
UDIM 번호 = 1001 + u + 10 × v입니다. u는 한 행에서 0부터 9까지 셉니다. 열 칸을 채우면 다음 행으로 올라가므로 1001 다음 행의 첫 번호는 1011입니다.
번호에서 좌표를 되찾으려면 먼저 UDIM 번호에서 1001을 빼세요. 10으로 나눈 나머지가 u, 몫이 v입니다. 예를 들어 1012 - 1001 = 11이므로 좌표는 u=1, v=1입니다.
좌표가 (u=1, v=0)이면 1001 + 1 + 10×0 = 1002입니다. 같은 위치를 1부터 세는 파일명으로 적으면 u2_v1, 0부터 세는 표기로 적으면 u1_v0입니다.
UDIM 번호·파일명 변환기
UDIM 번호나 u, v 좌표를 바꾸고, 파일명 패턴의 {tile} 자리에 각 표기를 넣어 보세요.
패턴에는 {tile}을 한 번 넣으세요. 예: character_basecolor.{tile}.exr. 격자를 누르면 번호와 좌표가 함께 바뀝니다.
1001u0, v0u1_v1_u0_v0예를 들어 1002를 선택하면 좌표는 u=1, v=0이고, 도구는 u2_v1과 _u1_v0도 함께 보여줍니다. 격자는 10열로 구성되며 V 행을 5·10·15·20개로 바꿀 수 있습니다. 더 높은 V 좌표는 입력칸에서 계산하세요.
2. 한 타일을 세 가지 파일명으로 읽기
같은 타일도 숫자형 UDIM, 1-based UVTILE, 0-based 좌표형 파일명으로 적을 수 있습니다. <UDIM>과 <UVTILE>은 실제 파일에 그대로 적는 이름이 아니라, 앱이 타일별 이름으로 바꾸는 경로 토큰입니다.
| 0-based UV 좌표 | UDIM 번호 | 1-based 표기 | 0-based 표기 |
|---|---|---|---|
| (0, 0) | 1001 | u1_v1 | u0_v0 |
| (1, 0) | 1002 | u2_v1 | u1_v0 |
| (0, 1) | 1011 | u1_v2 | u0_v1 |
| (3, 2) | 1024 | u4_v3 | u3_v2 |
파일명 예시를 같은 베이스 이름으로 맞추면 character_basecolor.1002.exr, character_basecolor.u2_v1.exr, character_basecolor_u1_v0.exr입니다. 이 세 이름은 같은 타일을 가리키지만, 앱에서 어떤 형태를 찾는지는 별도로 맞춰야 합니다.
3. 프로그램별 파일명 토큰은 어디에 쓰나
아래 표는 각 공식 문서에서 확인한 filename token 또는 export template입니다. 같은 제품군에서도 경로 입력 토큰과 출력 템플릿은 쓰임이 다르므로 구분해서 보세요.
| 프로그램 | 문서에서 확인한 표기 | 예시와 적용 범위 |
|---|---|---|
| Maya | <UDIM>u<u>_v<v>u<U>_v<V> | File node의 UV Tiling Mode에 따라 UDIM, 0-based, 1-based 표기를 선택합니다. |
| Arnold / MtoA | <udim> | Arnold 텍스처 경로 예시는 소문자 토큰을 씁니다. 파일은 예를 들어 texture.1001.exr처럼 번호를 갖습니다. |
| Blender | <UDIM><UVTILE> | 각 토큰은 파일을 읽거나 저장할 때 번호형 또는 u1_v1형 이름으로 치환됩니다. |
| Substance 3D Painter | Export template: $udim입력 경로 토큰: 미확인 | $udim은 출력 템플릿에서 타일 번호로 바뀝니다. Painter의 모든 입력 경로 토큰으로 일반화하지 않습니다. |
| Mari | Export template: $UDIMImport sequence 예시: @ | Foundry 튜토리얼의 출력 템플릿과 입력 시퀀스 예시는 서로 다른 표기입니다. |
| Houdini / Karma | <UDIM> | 텍스처 경로에 넣어 타일 번호를 확장합니다. 파일 열기 대화상자에서 프레임 토큰 $F와 혼동하지 마세요. |
| RenderMan PxrTexture | <UDIM> 또는 <udim>Base-1: <U>_<V>Base-0: <u>_<v> | 파일명과 함께 PxrTexture의 Atlas Style도 선택해야 합니다. |
| Unreal Engine | 실제 파일명: BaseName.####.png경로 토큰: 미확인 | 예: MyTexture.1001.png. 문서는 매칭 이미지 묶음을 Virtual Texture Asset으로 가져오는 UDIM 흐름을 설명합니다. |
Blender 5.0.0에서도 파일명 묶음의 UDIM 감지를 시험했습니다. 4×4 크기의 빈 PNG 세 장을 body.1001.png, body.1002.png, body.1011.png로 만들고 Blender 5.0을 백그라운드로 실행해 첫 파일을 UDIM 자동 감지 옵션으로 열었습니다. 반환값은 FINISHED였고 이미지 source는 TILED, 타일 목록에는 1001·1002·1011이 들어왔습니다. 이 시험 범위는 파일명으로 타일 세 장을 인식하는 단계입니다.
4. 연결이 안 될 때는 네 곳을 대조하세요
- 실제 타일 파일이 있는지:
<UDIM>은 보통 경로의 자리표시자입니다. 실제 파일명이character_basecolor.1002.exr인지 확인하세요. - 좌표 기준이 같은지: UV 칸을 0부터 세는지 1부터 세는지 확인하세요. (0,0) 타일도 표기에 따라
u0_v0또는u1_v1이 됩니다. - 그 앱의 입력 방식인지: Maya는 File node의 UV Tiling Mode, Houdini는 파일 대화상자의 UDIM token 선택을 확인하세요. Painter와 Mari의 출력 템플릿을 입력 경로 규칙과 혼동하지 마세요.
- 나머지 파일명이 같은지: 베이스 이름, 타일 표기, 확장자를 비교하세요. 번호 부분 외의 이름이 달라지면 한 세트로 묶이지 않을 수 있습니다.
여기까지의 핵심은 번호와 토큰을 따로 보는 것입니다. 이제 처음 질문에 답하면, 같은 UV 타일의 좌표를 UDIM 번호로 계산한 다음 프로그램이 요구하는 표기만 경로 또는 export template에 넣으면 됩니다.
번호와 좌표는 타일 위치를 말하고, 토큰은 프로그램이 그 위치를 파일명에서 찾는 문법입니다. 예를 들어 (1,0)은 UDIM 1002이며, 숫자형 파일은 character_basecolor.1002.exr입니다. 해당 앱이 UVTILE을 요구한다면 같은 타일을 character_basecolor.u2_v1.exr로 맞추세요.
공식 문서
결국 하나로 말하면, 번호는 좌표로 계산하고 토큰은 프로그램 문법에 맞추면 됩니다.
vfx 잡학지식

댓글 0
첫 댓글을 남겨보세요.