
렌더팜에서 XGen과 .tx 파일이 깨진다면? Maya 프리플라이트 가이드
개요
소개
워크스테이션에서는 완벽하게 렌더링되던 씬이 렌더팜에서는 잘못된 결과로 돌아오는 것은 Maya 파이프라인에서 가장 당혹스러운 실패 유형 중 하나입니다. 로그에는 "당신 탓"이라고 지목하는 내용이 전혀 없고, 씬 파일 자체에도 문제가 없습니다. 가장 흔한 두 가지 원인은 XGen과 .tx 텍스처 캐시입니다. 두 기능 모두 설계상 메인 씬 파일 바깥에서 동작합니다. XGen은 그루밍 및 디스크립션 데이터를 별도의 collection 및 archive 폴더에 저장하고, Arnold의 MtoA 플러그인은 소스 텍스처 옆에 자체 타일 방식 .tx 텍스처 캐시를 조용히 생성할 수 있습니다. 로컬에서 .ma나 .mb 파일을 열 때는 이 두 문제가 전혀 드러나지 않습니다. 로컬 환경에서는 이러한 외부 파일들이 이미 Maya가 예상하는 위치에 존재하기 때문입니다.
프리랜서 및 소규모 스튜디오의 Maya 작업에서 이 패턴이 워낙 자주 나타나기 때문에 제대로 정리해 둘 가치가 있습니다. 렌더팜 렌더링에서 헤어나 퍼가 "사라지는" 문제, 그리고 프레임 중간에 원인을 알 수 없는 OpenImageIO 오류가 발생하는 문제는 거의 소프트웨어 버그가 아닙니다. 이는 에셋 컬렉션 문제와 캐시 노후화(staleness) 문제이며, 제출 전 짧은 프리플라이트 점검으로 둘 다 예방할 수 있습니다.

로컬 워크스테이션에서는 그루밍 및 캐시 데이터가 정상적으로 해석되지만 렌더팜 노드에서는 누락되어 렌더링에서 헤어나 퍼가 사라지는 과정을 보여주는 다이어그램.
XGen이 렌더팜에서 깨지는 이유 (씬이 "정상"으로 보여도)
XGen은 그루밍이나 디스크립션을 .ma/.mb 파일에 베이크된 지오메트리로 저장하지 않습니다. 대신 참조(reference) 형태로 저장합니다. .xgen 팔레트 파일과 함께, 디스크립션 설정 방식에 따라 collections 폴더(디스크립션별 그루밍 데이터)와 archives 폴더(디스크립션이 라이브 생성 대신 아카이브에서 렌더링하도록 설정된 경우의 베이크된 포인트 캐시 또는 Alembic 데이터)가 함께 존재합니다. 씬을 로컬에서 열면 Maya는 내 컴퓨터나 로컬 네트워크 공유 폴더에 이미 존재하는 경로를 기준으로 이 참조를 해석합니다. 동일한 씬이 렌더팜 노드에 도착하면 같은 경로가 존재하지 않는 경우가 많습니다. 경로가 절대 경로였거나, 렌더팜 노드에 매핑되지 않은 UNC 공유를 가리키고 있었거나, .ma/.mb 파일만 업로드되고 그 옆에 있어야 할 xgen/ 폴더는 함께 전송되지 않았기 때문입니다.
결과는 명확한 오류로 나타나는 경우가 거의 없습니다. XGen은 대체로 디스크립션 해석에 조용히 실패하고, 렌더링은 그대로 완료됩니다. 다만 원래 있어야 할 헤어, 퍼, 깃털이 빠진 채로 말입니다. 바로 이 지점이 디버깅을 특히 짜증나게 만드는 실패 유형입니다. 프레임의 나머지 요소는 모두 정상적으로 렌더링되고, 드라이브는 매핑된 것으로 보고되며, 렌더팜의 Maya와 XGen 버전이 워크스테이션과 정확히 일치합니다. 그런데도 그루밍만 사라진 이유는 이를 생성하는 파일들이 애초에 도착하지 않았기 때문입니다.
두 번째로 관련된 원인도 있습니다. xgen/ 폴더가 수집되었더라도, 디스크립션의 "렌더링 시 생성" 설정과 "캐시/아카이브" 설정 중 무엇으로 되어 있는지가 중요합니다. 디스크립션이 아카이브에서 데이터를 가져오도록 설정되어 있고 그 아카이브 경로가 렌더팜 노드가 공유하지 않는 프로젝트 구조를 기준으로 한 상대 경로라면, 디스크립션은 라이브 생성 그루밍으로 폴백하지 않고 그대로 아무것도 해석하지 못합니다.

collection 및 archive 경로 필드를 강조한 일반적인 디스크립션 에디터 패널 예시 — XGen 그루밍 데이터 참조가 메인 씬 파일 밖 어디에 존재하는지를 보여줍니다.
.tx 텍스처 파일이 렌더팜에서 깨지는 이유
.tx는 OpenImageIO의 maketx 도구가 생성하는 타일 방식의 밉맵 텍스처 포맷입니다. Arnold는 원본 소스 포맷보다 .tx 텍스처를 더 빠르게, 더 적은 메모리로 읽어들입니다. 이 때문에 MtoA(Arnold의 Maya 플러그인)는 "Auto-Convert Textures to TX Files" 옵션을 제공합니다. 저장 시나 렌더링 시에 소스 텍스처 옆에 .tx 캐시를 조용히 생성하는 기능입니다.
이 자동 변환 동작은 로컬 디스크 하나와 일관된 OpenImageIO 빌드 하나만 있는 단일 워크스테이션에서는 편리합니다. 하지만 분산 렌더팜 환경에서는 다음 세 가지 이유로 훨씬 신뢰도가 떨어집니다.
- 오래된 캐시(Stale cache).
.tx파일이 생성된 이후 소스 텍스처가 수정되었는데, 재변환을 트리거해야 할 타임스탬프 검사가 작동하지 않거나(또는 렌더팜 노드가 필요로 하는 쓰기 가능 위치가 캐시가 생성된 위치와 다르면), Arnold는 오래된.tx파일을 아무 경고 없이 그대로 로드할 수 있습니다. - 버전 불일치(Version mismatch).
maketx/OpenImageIO 버전은 Arnold와 MtoA 릴리스마다 다릅니다. 한 OIIO 버전에서 생성된.tx캐시를 렌더팜 측에서 다른 버전으로 읽으면 읽기 오류가 발생할 수 있으며, 대개 프레임을 중단시키는 원인 불명의 OIIO 오류로 나타납니다. - 공유 또는 읽기 전용 경로에서의 쓰기 충돌(Write contention). 자동 변환은 소스 텍스처 옆에
.tx파일을 쓸 수 있다는 것을 전제로 합니다. 렌더팜에서는 해당 위치가 읽기 전용이거나, 여러 작업이 동시에 공유하거나, 워크스테이션에서 사용한 것과 물리적으로 다른 경로일 수 있습니다. 이 경우 변환이 조용히 실패하거나, 두 노드가 동일한 캐시 파일을 동시에 쓰려고 경쟁하게 됩니다.
이 문제는 매우 흔해서, 저희뿐 아니라 업계 전반의 렌더팜 문서에서도 자동 변환 동작 자체를 고치려 하기보다 이를 피하기 위해 "Auto-Convert Textures to TX Files"를 비활성화하라고 Maya/Arnold 사용자들에게 안내하고 있습니다. 더 신뢰할 수 있는 방식은 의도적으로 선택하는 것입니다. 고정된(pinned) maketx 버전으로 텍스처를 미리 .tx로 변환해 에셋 컬렉션의 일부로 함께 제출하거나, 아예 자동 변환을 끄고 원본 소스 텍스처를 제출해 렌더팜의 렌더러가 자체적으로 일관되게 변환을 처리하도록 하는 것입니다.

maketx가 소스 텍스처를 .tx 캐시로 변환하는 파이프라인과, 오래되거나 버전이 맞지 않는 캐시가 텍스처 읽기 오류로 이어지는 두 번째 흐름을 함께 보여주는 다이어그램.
Maya의 씬 아카이브가 수집하지 못하는 것들
Maya의 내장 씬 아카이빙 기능(Send To / archive project)은 표준 참조 모델을 중심으로 만들어졌습니다. 즉 Maya의 file 노드를 통해 연결된 파일 텍스처와 씬 그래프 안에 존재하는 지오메트리를 기준으로 합니다. XGen은 이 모델에 완전히 들어맞지 않기 때문에, 그 데이터는 겉보기에 "완전한" 에셋 컬렉션에서 가장 흔하게 빠지는 부분 중 하나입니다. XGen 씬을 어떤 렌더팜에든 제출하기 전에 다음 항목을 명시적으로 패키징할 계획을 세우세요.
.xgen팔레트 파일 자체- 씬에서 참조하는 모든 디스크립션의
xgen/collections/<description>/폴더 - 베이크된 아카이브에서 렌더링하도록 설정된 디스크립션이 있는 경우
xgen/archives/폴더 - XGen 모디파이어가 Maya의 표준 file-texture 노드 밖에서 참조하는 외부 가이드 커브, 밀도 맵, 길이 맵 — 이런 파일은 일반 텍스처를 포착하는 아카이빙 도구를 우회하는 경우가 있습니다
- 씬을 제작할 때 사용한 정확한 Maya 및 MtoA(Arnold-for-Maya) 버전 — 렌더팜이 비슷하지만 다른 빌드가 아니라 일치하는 플러그인 빌드로 디스크립션을 로드하도록 하기 위함입니다
이 중 어느 것도 특별한 소프트웨어를 필요로 하지 않습니다. 필요한 것은 XGen 데이터를 씬 저장의 암묵적인 부산물이 아니라 에셋 컬렉션의 핵심 요소로 다루는 것뿐입니다.
XGen과 .tx 작업을 위한 Maya + Arnold 프리플라이트 체크리스트
| 단계 | 확인할 항목 | 중요한 이유 |
|---|---|---|
| 1. 버전 일치 확인 | 렌더팜이 지원하는 Maya 및 Arnold/MtoA 버전 범위가 내 씬의 정확한 버전을 포함하는지 확인합니다 | 파일 경로가 맞더라도 버전이 일치하지 않으면 XGen 디스크립션 호환성이 깨질 수 있습니다 |
| 2. XGen 폴더 수집 | xgen/collections/, xgen/archives/, .xgen 파일을 명시적으로 패키징합니다 — 일반 씬 아카이브 도구에만 의존하지 마세요 | 가장 흔하게 누락되어 헤어/퍼가 조용히 사라지게 만드는 파일들입니다 |
| 3. 생성 vs 아카이브 설정 확인 | 각 디스크립션이 라이브로 생성되는지 베이크된 아카이브에서 읽어오는지 확인하고, 아카이브 경로가 작업과 함께 전달되는지 확인합니다 | 해석되지 않는 아카이브 경로는 오류 없이 아무것도 렌더링하지 않습니다 |
| 4. 텍스처 전략 하나 선택 | "Auto-Convert Textures to TX Files"를 비활성화하고 원본 텍스처를 제출하거나, 고정된 maketx 버전으로 미리 변환해 .tx 파일을 포함시킵니다 | 자동 변환을 켜 둔 채로 두면 렌더팜 측 쓰기 권한과 일치하는 OIIO 버전을 전제하게 되는데, 이 전제는 항상 성립하지 않습니다 |
| 5. UNC 및 드라이브 문자 경로 재설정 | XGen과 텍스처 노드에 있는 \\server\share\... 또는 로컬 드라이브 문자 경로를 렌더팜에서 접근 가능한 상대 경로로 교체합니다 | 로컬에서 해석되는 경로가 렌더 노드에는 존재하지 않는 경우가 많습니다 |
| 6. 1프레임 테스트 실행 | 전체 시퀀스 제출 전에 테스트 프레임 1장을 먼저 제출하고, 렌더링 완료 여부뿐 아니라 텍스처 로드 및 XGen 해석 관련 경고를 렌더 로그에서 구체적으로 확인합니다 | 전체 시퀀스를 낭비하기 전에 누락된 헤어, 누락된 텍스처, OIIO 오류를 잡아낼 수 있습니다 |
| 7. 샷의 CPU vs GPU 결정 | XGen 비중이 높은 그루밍, 깊은 헤어/퍼 커버리지, 커스텀 셰이딩 네트워크가 있는 경우 최종 프레임에는 Arnold의 CPU 렌더링 경로를 계획하세요 — 프로시저럴 요소가 많고 커스텀 셰이더가 많은 씬은 Arnold 자체 가이드도 최종 출력에 CPU를 권장하는 작업군입니다 | 제출 전에 CPU/GPU 라우팅을 결정해 두면 렌더링 도중 디바이스 제약을 뒤늦게 발견하는 상황을 피할 수 있습니다 |
흔한 문제와 해결 방법
| 증상 | 예상 원인 | 해결 방법 |
|---|---|---|
| 로컬에서는 있는데 렌더팜 결과에서는 헤어나 퍼가 누락됨 | XGen collections/archives 폴더가 수집되지 않았거나 경로가 렌더팜에서 접근 불가능함 | XGen 폴더를 명시적으로 패키징하고 UNC/드라이브 문자 참조를 재설정합니다 |
| 프레임 중간에 원인 불명의 OpenImageIO 오류로 렌더링이 중단됨 | 오래되었거나 버전이 맞지 않는 .tx 캐시 | 고정된 maketx 버전으로 .tx를 다시 생성하거나, 자동 변환을 끄고 원본 텍스처를 제출합니다 |
| 렌더 노드에서 텍스처나 비트맵이 해석되지 않음 (3ds Max의 Arnold 파이프라인에서도 나타나는, 관련은 있지만 별개인 실패 유형입니다 — 3ds Max Arnold 비트맵 누락 가이드 참고) | 렌더 노드에서 텍스처 경로를 해석할 수 없음 | 제출 전에 상대 경로이면서 렌더팜에서 접근 가능한 경로인지 확인합니다 |
| 재제출하면 정상적으로 렌더링되지만 첫 시도에서는 실패함 | 첫 번째 패스에서 자동 변환이 렌더링 도중에 .tx 캐시를 작성했고, 두 번째 패스가 이제 완성된 캐시를 읽음 | 제출 전에 .tx 파일을 미리 변환해 두거나, 자동 변환을 완전히 끕니다 |
| Arnold나 MtoA 플러그인이 로드 시 오류를 냄 | 렌더팜의 MtoA 버전이 씬을 제작한 버전과 일치하지 않음 | 제출 전에 대상 Maya/Arnold 버전 범위를 확인합니다 |

경고 수준의 텍스처 읽기 오류를 보여주는 렌더 로그 콘솔 예시 — 오래되었거나 맞지 않는 .tx 캐시가 렌더 노드에서 만들어내는 메시지 유형을 보여줍니다.
요약 체크리스트
- Maya 및 Arnold/MtoA 버전을 렌더팜이 지원하는 범위와 대조하여 확인했습니다
-
xgen/collections/와xgen/archives/를 에셋 컬렉션에 명시적으로 포함했습니다 - 각 XGen 디스크립션의 생성 vs 아카이브 설정을 확인하고 경로가 렌더팜에서 접근 가능한지 검증했습니다
- 텍스처 전략을 하나만 선택했습니다: 사전 변환된
.tx(고정된maketx버전) 또는 자동 변환을 끈 원본 텍스처 — 둘 다는 안 됩니다 - 모든 UNC 및 드라이브 문자 경로를 상대적이면서 렌더팜에서 접근 가능한 경로로 교체했습니다
- 전체 시퀀스 제출 전에 테스트 프레임 1장을 제출하고 렌더 로그에서 XGen 및 텍스처 관련 경고를 확인했습니다
- XGen 비중이 높거나 커스텀 셰이더를 사용하는 샷에 대해 CPU vs GPU 렌더링 경로를 결정했습니다
저희 렌더팜에서는 최신 Maya 버전(2022 이상)의 경우 제출 시점에 버전 매칭이 자동으로 통과됩니다. 지원 범위인 2014-2027 안의 이전 버전은 렌더링이 시작되기 전에 프로비저닝 및 호환성 검사를 거치므로, 작업 도중이 아니라 프레임이 소모되기 전에 불일치를 미리 잡아냅니다. 경로, 캐시, 아카이브 설정 항목은 씬마다 다르므로 어떤 렌더팜으로 작업을 보내든 확인할 가치가 있습니다.
XGen과 텍스처에 국한되지 않는 일반적인 Maya 클라우드 렌더링 설정에 대해서는 Maya 클라우드 렌더링 가이드와 Arnold 렌더러 완전 가이드를 참고하세요. 렌더팜 버전 매칭을 뒷받침하는 소프트웨어 지원 범위는 Maya 렌더팜과 Arnold 렌더팜 페이지에서 확인할 수 있습니다. 텍스처 관련해서는 OpenImageIO의 maketx 공식 문서가 .tx 변환이 실제로 어떤 작업을 하는지, 그리고 어떤 플래그가 밉맵과 타일링 동작을 제어하는지에 대한 가장 명확한 기술 레퍼런스입니다.
FAQ
Q: 클라우드 렌더팜에서 렌더링할 때는 XGen 헤어나 퍼가 사라지는데 로컬에서는 왜 정상인가요? A: 대개 XGen의 collections 및 archives 폴더가 씬의 나머지 부분과 함께 수집되지 않았기 때문입니다. XGen은 렌더링 시점에 이 외부 파일들에서 그루밍 및 디스크립션 데이터를 읽어옵니다. .ma나 .mb 파일만 업로드되면 렌더 노드에는 헤어나 퍼를 생성할 데이터가 없으므로, 명확한 오류를 내는 대신 대머리 상태로 렌더링됩니다.
Q: .tx 파일이란 무엇이고 Arnold가 왜 이 파일을 필요로 하나요? A: .tx 파일은 OpenImageIO의 maketx 도구로 생성되는 타일 방식의 밉맵 텍스처입니다. Arnold와 MtoA는 원본 소스 포맷 대신 .tx 텍스처를 사용합니다. 타일 방식 밉맵은 렌더링 중에 더 빠르게 로드되고 메모리를 덜 사용하기 때문이며, 이는 단일 워크스테이션보다 렌더팜 규모에서 더 중요합니다.
Q: 렌더팜에 제출할 때 "Auto-Convert Textures to TX Files"를 켜 둔 채로 두어도 되나요? A: 켜 둔 채로 두면 렌더팜 측 텍스처 오류의 흔한 원인이 됩니다. 디스크 하나만 있는 워크스테이션 하나에서는 잘 작동하지만, 분산 렌더팜에서는 오래되었거나 버전이 맞지 않는 .tx 캐시를 만들거나 렌더 노드에서 쓰기 권한 차이에 부딪힐 수 있습니다. 알려진 maketx 버전으로 미리 변환해 .tx 파일을 함께 제출하거나, 자동 변환을 끄고 원본 텍스처를 제출하면 두 실패 유형을 모두 피할 수 있습니다.
Q: Maya와 Arnold 버전이 이미 렌더팜과 일치하는데 왜 여전히 텍스처가 누락되나요? A: 버전 일치는 플러그인 수준의 실패는 막아 주지만, 렌더팜에서 발생하는 대부분의 XGen 및 .tx 오류는 버전이 아니라 파일 경로에서 비롯됩니다. XGen이 렌더 노드에 존재하지 않는 UNC 경로나 로컬 드라이브 문자를 참조하거나, .tx 캐시가 렌더팜이 접근할 수 없는 텍스처 위치를 기준으로 생성되었다면, 소프트웨어 버전이 일치하더라도 렌더링은 실패합니다.
Q: 렌더팜이 어떤 Maya 및 Arnold 버전을 지원하는지 어떻게 확인하나요? A: 제출 전에 렌더팜이 지원하는 Maya 및 Arnold/MtoA 버전 범위를 확인하세요. 버전을 일치시키면 특정 유형의 렌더링 오류 전체를 없앨 수 있습니다. 저희 렌더팜은 Maya 2014-2027을 지원합니다. 2022 이상 버전은 제출 시점에 버전 매칭이 자동으로 통과되고, 이전 버전은 렌더링 시작 전에 호환성 검사를 거칩니다.
Q: XGen 샷은 Arnold의 CPU와 GPU 중 어느 경로로 렌더링해야 하나요? A: 깊은 헤어나 퍼 커버리지와 커스텀 셰이딩 네트워크가 있는 XGen 비중이 높은 샷은 최종 출력을 Arnold의 CPU 경로로 렌더링하는 것이 적합합니다. 이는 Arnold 자체 가이드도 CPU를 권장하는 작업군입니다. 어떤 경로를 사용하든, 렌더링 도중에 제약을 뒤늦게 발견하기보다 제출 시점에 프리플라이트의 일부로 디바이스를 결정해 두세요.
Q: XGen이 포함된 Maya 씬을 렌더팜에 제출하기 전에 무엇을 확인해야 하나요? A: 짧은 프리플라이트를 진행하세요. Maya/MtoA 버전이 일치하는지 확인하고, xgen/collections와 xgen/archives 폴더를 명시적으로 패키징하고, 텍스처 전략을 하나만 선택하고(사전 변환된 .tx 또는 자동 변환을 끈 원본), UNC나 로컬 드라이브 참조를 재설정한 뒤, 전체 시퀀스 전에 테스트 프레임 1장을 먼저 제출하세요.
Q: 이 문제는 XGen에서만 발생하나요, 아니면 다른 DCC에서도 나타나나요? A: 메인 씬 파일 밖에 존재하는 데이터, 그리고 오래되는 캐시된 텍스처 데이터라는 동일한 근본 패턴은 다른 곳에서도 나타납니다. 3ds Max 사용자는 텍스처 경로가 렌더 노드에서 해석되지 않을 때 Arnold의 비트맵 노드 누락과 관련된, 비슷하지만 별개인 문제를 겪습니다. 이 버전의 문제에 대해서는 3ds Max Arnold 비트맵 누락 가이드를 참고하세요.
About Thierry Marc
3D Rendering Expert with over 10 years of experience in the industry. Specialized in Maya, Arnold, and high-end technical workflows for film and advertising.


