Alembic·FBX·USD 중 무엇으로 넘길까: 애니메이션·캐시·씬 교환 비교
Alembic·FBX·USD 중 무엇을 고를지는 파일 이름이 아니라 받는 프로그램에서 무엇을 계속 편집할지로 정하세요. 최종 버텍스 움직임만 넘기면 Alembic, 캐릭터 리그와 스킨을 이어 쓸 거면 FBX, 재질·카메라·반복 자산이 담긴 씬을 조립할 거면 USD를 먼저 시험합니다. 다만 형식이 담을 수 있는 데이터와 내보내기 플러그인이 실제로 쓰는 데이터는 다릅니다. Blender 5.0.0의 FBX 시험에서도 공식 매뉴얼 설명과 재가져오기 결과가 블렌드셰이프에서 어긋났습니다. 수신 프로그램에서 짧은 샘플을 열어 보는 것이 마지막 기준입니다.
먼저 전달 목적을 세 갈래로 나누세요. 변형 결과를 베이크해 가볍게 재생하려면 Alembic, 조인트·스킨 웨이트를 유지하며 캐릭터 애니메이션을 교환하려면 FBX, 여러 오브젝트와 카메라·재질을 씬 단위로 넘기려면 USD가 출발점입니다. 어떤 포맷이든 다른 프로그램에서 같은 셰이더, 리그 컨트롤, 렌더 설정까지 그대로 살아난다고 가정하지 마세요. 아래 표와 선택기로 목적에 맞는 후보를 좁힌 뒤, 실제 받을 앱에서 확인하세요.
먼저 ‘무엇을 다시 편집할지’부터 고르세요
같은 애니메이션도 전달하려는 것이 다르면 파일에 담을 정보가 달라집니다. 캐릭터의 팔이 움직이는 최종 결과만 볼 사람에게 조인트의 계층과 컨트롤러는 필요하지 않을 수 있습니다. 반대로 수신자가 포즈를 바꾸고 애니메이션을 수정해야 한다면, 버텍스가 움직이는 결과만 담은 캐시는 충분하지 않습니다.
이 차이는 촬영과 소품 전달에 비유할 수 있습니다. Alembic은 복잡한 인형극을 촬영한 영상처럼 계산 결과를 시간에 따라 남깁니다. 영상 속 움직임은 보이지만 인형을 움직인 실과 조종 손잡이는 들어 있지 않습니다. FBX는 인형의 뼈대와 움직임을 다른 작업실로 보내는 방식에 가깝습니다. 다만 조인트 축이나 키 곡선은 번역될 수 있습니다. USD는 캐릭터 하나보다 배경·카메라·재질·반복 소품을 함께 묘사하는 장면 설명에 가깝습니다. 이 비유는 판단을 돕는 그림일 뿐이며, 실제 데이터 구조와 모든 앱의 호환성을 뜻하지는 않습니다.
한눈에 비교: 포맷이 담는 데이터와 플러그인 한계
표의 ‘가능’은 포맷과 공식 앱 문서에서 찾은 범위를 뜻합니다. 프로젝트마다 내보내기 옵션과 읽기 플러그인이 다르므로, 모든 항목이 자동으로 옮겨진다는 보증은 아닙니다.
| 보낼 데이터 | Alembic | FBX | USD |
|---|---|---|---|
| 리그·스킨 | 리그 네트워크 대신 변형 결과를 굽습니다. | 조인트·스킨 교환 후보입니다. 제약은 베이크될 수 있습니다. | Skeleton·skinning을 표현할 수 있습니다. 앱 지원을 확인하세요. |
| 블렌드셰이프 | 최종 버텍스 움직임으로 굽고 셰이프 조절값은 남기지 않습니다. | 포맷은 지원하지만 Blender 5.0 매뉴얼과 5.0.0 시험 결과가 달랐습니다. | blend-shape 애니메이션을 표현합니다. 내보내기·가져오기 옵션을 보세요. |
| 베이크된 버텍스 캐시 | 주 용도입니다. 버텍스 위치와 변환을 시간 샘플로 전달합니다. | Maya geometry cache는 FBX 외 XML·MCX 파일을 함께 쓸 수 있습니다. | 시간 샘플 지오메트리를 기록할 수 있습니다. |
| 재질·텍스처 | Blender는 Face Sets로 면별 재질 이름을 보낼 수 있지만 셰이더 그래프는 아닙니다. | 기본 재질 속성은 변환될 수 있지만 Blender 5.0 매뉴얼은 재질 텍스처를 미지원 항목으로 듭니다. Maya의 Embed Media와 경로도 확인하세요. | 셰이딩 데이터를 담을 수 있지만 앱의 셰이더 번역에서 손실될 수 있습니다. |
| 카메라 | 카메라와 변환을 전달할 수 있습니다. 목적지 설정을 확인하세요. | Maya는 카메라 설정을 보내지만 렌더 설정은 제외한다고 설명합니다. | 카메라 데이터와 시간 샘플을 표현할 수 있습니다. |
| 변하는 토폴로지 | 캐시 후보입니다. 수신 앱에서 프레임별 점·면 수를 검사하세요. | SideFX 문서는 점 개수·연결 관계 변화 애니메이션을 일반적으로 지원하지 않는다고 설명합니다. | Blender 5.0 내보내기는 토폴로지가 변하는 애니메이션 메시를 지원합니다. |
| 인스턴스 | Blender 내보내기에 인스턴스 옵션이 있습니다. 수신 쪽에서 확인하세요. | Blender는 각각의 지오메트리를 쓸 수 있고, Maya에는 별도 인스턴스 옵션이 있습니다. | 인스턴스 표현이 가능하지만 가져오기에서 복사본으로 펼쳐질 수 있습니다. |

선택기: 넘길 데이터와 받는 프로그램을 골라 보세요
아래 선택기에서 필요한 항목을 여러 개 고르세요. 캐시와 카메라가 함께 있거나 리그와 가변 토폴로지가 같이 필요한 경우처럼 목적이 섞였으면 포맷을 나누어 전달하는 후보도 보여줍니다. 추천은 시작점이며, 실제 수신 앱에서 확인하는 절차를 대신하지 않습니다.
넘길 데이터와 받는 프로그램을 골라 보세요
무엇을 넘길지 여러 개 고르고, 받는 프로그램을 선택하면 우선 시험할 포맷을 제안합니다.
이 결과는 포맷 후보를 좁히는 기준입니다. 내보내기·가져오기 플러그인과 버전에 따라 빠지는 데이터가 있으니 실제 받을 프로그램에서 짧은 테스트 파일을 왕복해 확인하세요.
Alembic은 리그가 아니라 굽힌 애니메이션 캐시를 옮깁니다
Alembic을 먼저 볼 작업은 Houdini의 천·폴리곤·커브 시뮬레이션, 복잡한 디포머를 적용한 캐릭터, 최종 변형을 조명·렌더 프로그램으로 보내는 경우입니다. 다만 연기·구름처럼 VDB 볼륨 그리드가 핵심인 시뮬레이션은 Alembic에 원본 볼륨 데이터가 담긴다고 가정하지 마세요. SideFX Alembic 설명은 메시·커브·포인트 등의 지원 형식이 아닌 기하는 폴리곤·커브·포인트로 변환한다고 설명합니다. 볼륨을 보낼 때는 VDB 등 수신 앱이 지원하는 볼륨 경로를 따로 확인하세요. 원본 노드 그래프를 다른 앱에서 다시 계산하는 대신, 시간 샘플마다 계산된 버텍스 위치와 오브젝트 변환을 저장합니다. 무거운 시뮬레이션을 다시 돌리지 않고 읽을 수 있는 캐시를 전달하는 것이 목적입니다.
따라서 Alembic을 받았는데 리그가 없거나 조인트를 돌릴 수 없는 것은 꼭 오류가 아닙니다. 원본 제작 방식이 아니라 결과를 담는 포맷이기 때문입니다. Blender 5.0 매뉴얼도 Alembic이 애니메이션 버텍스 위치와 변환을 굽지만, 이를 만든 리그와 계산 네트워크는 저장하지 않는다고 설명합니다. 캐릭터를 다시 포즈 잡아야 한다면 캐시만 내보내지 말고 리그 교환 경로를 따로 준비하세요.
재질도 같은 원칙으로 확인해야 합니다. Blender의 Alembic 내보내기는 면별 재질 이름을 Face Sets로 기록할 수 있지만, 그 이름만으로 Principled BSDF나 Arnold 셰이더 그래프가 옮겨지는 것은 아닙니다. UV·노멀·색상 속성은 옵션에 따라 함께 갈 수 있습니다. 조명과 룩뎁을 넘길 때는 재질을 받는 앱에서 다시 연결하거나, 텍스처 파일과 색공간 정보를 별도 전달하세요.
Blender FBX는 제약 결과를 키프레임으로 굽고 제약 자체는 저장하지 않습니다
조인트 구조와 스킨 웨이트를 유지하면서 애니메이션 캐릭터를 다른 DCC로 넘길 때는 FBX를 우선 시험해 볼 만합니다. Autodesk Maya의 FBX 플러그인은 스킨과 블렌드셰이프 내보내기 옵션을 제공하고, 카메라 설정도 파일에 저장합니다. 다만 카메라의 렌더 설정까지 전달되는 것은 아니라고 설명합니다. 재질과 텍스처 역시 앱별 변환과 파일 경로에 영향을 받습니다.
제약·컨스트레인트는 더 주의하세요. Blender의 FBX 설명에 따르면 컨스트레인트가 만든 결과는 키프레임 애니메이션으로 베이크할 수 있지만, 원래 컨스트레인트 자체는 FBX에 남지 않습니다. 받는 쪽에서는 움직임이 재생돼도 제작자가 쌓아 둔 컨트롤 리그와 같은 방식으로 수정하지 못할 수 있습니다. 애니메이션이 필요하면 베이크 범위와 샘플 간격을 정하고, 리그를 계속 편집해야 하면 원본 리그 파일과 FBX를 분리해 전달하세요.
블렌드셰이프는 버전별 확인이 특히 필요합니다. Blender 5.0 공식 FBX 매뉴얼은 FBX 포맷은 버텍스 셰이프 키를 지원하지만 Blender 내보내기는 아직 쓰지 않는다고 적습니다. 반면 아래의 5.0.0 시험 파일을 같은 Blender로 다시 가져왔을 때에는 Smile 셰이프 키와 애니메이션 값이 보였습니다. 같은 프로그램으로 다시 불러온 한 사례가 다른 버전이나 Maya·Houdini의 동작까지 증명하지는 않습니다. 블렌드셰이프가 필수면 표정 하나만 있는 시험 메시로 받는 앱에서 열고 값이 움직이는지 확인하세요.
FBX의 반복 오브젝트도 데이터 공유를 기대하지 않는 편이 좋습니다. Blender 문서는 인스턴스 오브젝트가 FBX에서 각각 자신의 지오메트리로 기록된다고 안내합니다. Maya 플러그인에는 인스턴스 보존 옵션이 있지만, 옵션 이름만 보고 양쪽 앱의 인스턴스 관계까지 동일하다고 판단하지 마세요. 메시 수가 많으면 파일 크기와 메모리가 크게 늘 수 있습니다. 캐릭터 교환에 집중할수록 필요한 오브젝트만 선택해 내보내세요.
USD는 씬 데이터가 많을 때 먼저 검토할 포맷입니다
USD는 단일 메시 교환뿐 아니라 기하, 재질·셰이딩, 조명, 카메라, 선형 블렌드 스키닝, 블렌드셰이프 애니메이션처럼 여러 장면 데이터를 표현할 수 있습니다. OpenUSD FAQ는 이런 표현 범위가 FBX나 Alembic 같은 전통적인 교환 포맷보다 폭넓다고 설명합니다. 반복 자산을 활용하거나 여러 부서가 같은 씬을 나누어 다루는 파이프라인에서도 강점이 있습니다.
다만 USD라는 확장자가 곧 모든 자료가 자동으로 보존된다는 뜻은 아닙니다. 수신 앱이 지원하는 스키마와 플러그인, 머티리얼 변환 범위가 다릅니다. 예를 들어 Blender 5.0은 USD Preview Surface를 Principled BSDF로 바꿔 읽을 수 있지만 일부 셰이더 설정은 손실될 수 있다고 설명합니다. Maya나 Houdini에서도 씬을 열어 카메라, 재질, 텍스처 경로를 확인하세요.
가변 토폴로지는 포맷 설명만으로 결론 내리면 안 됩니다. Blender 5.0 USD 내보내기는 버텍스 수나 면 구성이 시간에 따라 바뀌는 애니메이션 메시도 지원한다고 적습니다. 반면 SideFX FBX 문서는 점 개수나 연결 관계가 바뀌는 애니메이션을 FBX 사양이 일반적으로 지원하지 않는다고 안내합니다. 물방울이 갈라지는 유체처럼 토폴로지가 변하면 FBX를 첫 선택으로 삼지 말고, Alembic 또는 USD를 수신 앱에서 프레임별로 확인하세요.
USD의 레이어와 레퍼런스는 큰 씬을 조립하는 중요한 기능이지만, 여기서는 파일에 무엇이 담기는지에 집중합니다. 레이어·레퍼런스·페이로드의 차이와 무거운 씬을 나눠 여는 방법은 별도 글에서 다룹니다.
Blender 5.0.0 같은 씬을 내보내고 다시 열어 본 결과
파일 크기와 데이터 보존 차이를 보기 위해 Blender 5.0.0을 백그라운드로 실행했습니다. 24fps, 1~12프레임 씬에 버텍스 266개인 구 메시, 한 개 조인트와 스킨 웨이트, 애니메이션되는 Smile 셰이프 키, 카메라 변환, 단순 재질, 링크드 복제를 넣었습니다. 같은 씬을 Alembic·FBX·USD로 내보낸 다음 각 파일을 같은 버전의 Blender로 다시 가져왔습니다.
| 파일 | 크기 | 재가져오기에서 확인한 내용 | 이 시험의 경계 |
|---|---|---|---|
| Alembic | 422,703바이트 | 카메라와 메시 3개, Mesh Sequence Cache, 프레임에 따라 움직이는 버텍스 | 리그·셰이프 키 블록·재질은 보이지 않음 |
| FBX | 65,756바이트 | 조인트 1개와 스킨, 애니메이션되는 Smile 셰이프 키, 카메라 변환, 재질 이름 | 매뉴얼의 셰이프 키 제한 설명과 결과가 다름 |
| USD | 35,590바이트 | 조인트와 스킨, 애니메이션되는 셰이프 키, 카메라, 재질 | 링크드 복제는 재가져오기 때 별도 메시 데이터로 보임 |
이 수치만 보면 USD가 가장 작고 Alembic이 가장 큽니다. 그러나 이 시험은 외부 텍스처가 없는 단순 재질과 짧은 애니메이션을 썼습니다. 각 내보내기 옵션과 압축 방식도 같다고 볼 수 없습니다. 측정한 USD 파일은 바이너리 Crate 인코딩이었습니다. 따라서 “USD가 항상 작다”거나 “Alembic은 무조건 크다”는 결론은 나오지 않습니다. Maya FBX의 Geometry Cache 기능처럼 XML·MCX 같은 부속 파일이 생기는 경로는 FBX 파일 하나만이 아니라 전체 폴더를 합산해야 합니다.
카메라 변환은 세 파일 모두에서 프레임에 따라 움직였습니다. Alembic에서는 원본 리그 대신 메시의 캐시 모디파이어로 변형이 재생됐습니다. FBX와 USD에서는 이 시험의 스킨과 셰이프 키가 다시 나타났습니다. 다만 USD의 복제 메시가 별도 데이터로 보인 현상은 Blender 가져오기 결과일 뿐입니다. 이를 근거로 USD 파일 내부의 인스턴스 정보가 사라졌다고 단정하지는 않습니다.
토폴로지 변화도 시험했지만, 확인한 1·6·7·12프레임에서 세 파일 모두 시험 메시의 버텍스 수가 4개였습니다. 입력에서 프레임별 토폴로지 변화가 실제로 만들어졌는지와 면 연결 관계는 확인하지 못했으므로, 보존 여부를 판정할 수 없습니다. 가변 토폴로지는 공식 문서의 지원 범위와 실제 수신 앱의 왕복 시험을 구분해 확인하세요.
내보내기 전에는 3프레임짜리 왕복 시험을 하세요
긴 시뮬레이션이나 최종 캐릭터를 보내기 전에 프레임 시작·중간·끝만 있는 작은 시험 파일을 만드세요. 네모 메시 하나와 표정 하나, 카메라 하나를 넣으면 빠진 데이터가 어디서 생겼는지 쉽게 구분할 수 있습니다. 내보낸 파일을 실제 수신 프로그램에서 열고 다음 항목을 확인하세요.
- 시간과 변형: 시작·중간·끝 프레임을 이동해 애니메이션이 재생되는지 확인하세요. 캐시는 프레임 범위와 샘플 간격이 맞는지 보세요.
- 리그와 셰이프 키: 조인트 계층, 스킨 웨이트, 블렌드셰이프가 필요한 값으로 변하는지 각각 확인하세요. 하나가 보인다고 나머지도 온 것은 아닙니다.
- 카메라와 씬: 카메라 초점거리·센서 크기·변환, 단위와 업 축을 원본과 비교하세요. 렌더 설정과 색관리 설정은 별도로 맞춰야 할 수 있습니다.
- 재질과 파일 묶음: 뷰포트 색만 보지 말고 텍스처를 다시 찾는지, 노멀·UV와 셰이더 값이 맞는지 확인하세요. 외부 파일을 썼다면 폴더째 전달했는지 확인하세요.
- 토폴로지와 인스턴스: 프레임을 바꿔 점·면 수가 변하는지 확인하세요. 반복 오브젝트가 독립 복사본으로 풀렸는지도 검사하세요.
수신자가 캐릭터 리그를 이어 수정한다면 본 이름과 축 방향도 확인하세요. 이름 대응이 필요한 경우 믹사모·UE5 마네킹·유니티 휴머노이드의 본 이름 대응표를 참고할 수 있습니다. FBX에서 머티리얼이 회색으로 들어온다면 블렌더에서 유니티로 텍스처와 머티리얼을 옮기는 순서도 확인하세요.
정리: 캐시라면 Alembic, 캐릭터라면 FBX, 씬이라면 USD
하나의 파일로 모든 제작 정보를 보존하려 하지 마세요. 최종 움직임만 필요한 캐시는 Alembic, 스킨 애니메이션이 필요한 캐릭터는 FBX, 여러 자산과 재질·카메라가 묶인 씬은 USD를 먼저 검토하세요. 가변 토폴로지나 셰이더 변환처럼 호환성이 민감한 항목은 실제 수신 앱에서 시험 파일을 열어 확인하세요. 결국 포맷 선택의 기준은 확장자가 아니라, 받는 사람이 다음 단계에서 무엇을 해야 하는가입니다.
공식 문서에서 확인한 항목
지원 범위는 Blender 5.0, Houdini, Maya 플러그인과 OpenUSD의 공식 설명을 함께 대조했습니다. 각 링크는 포맷 전체의 보증서가 아니라 해당 버전·프로그램의 옵션과 범위를 설명합니다.
vfx 잡학지식
댓글 0
첫 댓글을 남겨보세요.