중요 2013. 6. 22. 01:30

데이터 교환포맷으로서 OBJ, Collada 와 Alembic 의 비교.

 출처

http://maxwellsandy.blogspot.kr/2012/03/obj-collada-alembic.html



Siggraph 2011 에서 ILM과 Sony Pictures Imageworks는 지오메트리 정보를 저장하기 위한 혁신적인 파일 포맷인 Alembic 의 1.0 버전을 공개했습니다. 오래된 쓸만한 obj와 collada와는 무엇이 다르며, 주요 3D패키지들에 대한 지원은 어느정도나 되며, 파일 크기는 얼마나 될까요? 여기 이 모든 질문에 대한 답이 있습니다

OBJ, Collada와 Alembic은 게임과 시각효과 산업에 사용된 3D지오메트리를 위한 세 가지 서로 다른 교환가능 포맷들입니다. 여기 간략한 소개를 해 봅니다!

Wavefront OBJ

아마도 모든 CG아티스트들은 obj 파일 포맷을 적어도 한번은 사용했을 겁니다. 이 포맷은 거의 모든 3D 패키지에서 매우 잘 통합이 되었고, 이로 인해 매우 인기있는 포맷이 되엇습니다. 하지만 이 obj파일의 큰 단점 중 하나는 파일 구조가 오래되다보니 크기가 너무 커진다는 점입니다. 이게 이 포맷이 구식이라는 한가지 이유입니다.
OBJ는 Wavefront Technologies에 의해 개발되었습니다. 각 포인트나 버텍스/페이스의 좌표를 저장합니다. UV나 Textures와 같은 것들도 포함될 수 있습니다만 애니메이션 데이터는 포함되지 않습니다. 따라서 매 프레임에 하나의 파일을 필요로 하게 되고, 매우 큰 디스크 공간을 필요로 합니다. 더구나, OBJ파일로 내보내는데 시간이 오래 걸리고 이를 다시 불러오는데는 더 오래 걸립니다 (이는 여러분이 사용하는 프로그램에 따라 다른데 제 경우 Octane Render를 사용할 때 매우 안좋은 기억이 있습니다). 이는 여러분을 어렵게 만들며 때로는 매우 실망스럽습니다 (매우 큰 씬에 대한 얘기입니다).

COLLADA

COLLADA는 XML기반의 파일로 모든 종류의 3D어플리케이션을 위한 교환용 포맷으로 여겨지고 있습니다. VFX (3ds Max, Maya, Blender 등) 나 게임 제작 (Cry Engine2, Unreal Engine 등) 에 널리 사용되고 있습니다.
원래 이 포맷은 Sony Pictures Imageworks에서 개발되었는데 현재 버전(1.5)는 Khronos Group에 의해 배포되고 있습니다.
Collada파일에는 포인트 정보뿐 아니라 UV와 같은 것들도 저장이 됩니다. 추가적으로 애니메이션 데이터와 물리연산(Bullet과 같은) 도 저장이 가능하기 때문에, obj 포맷에 비해 훨씬 효율적입니다(긴 애니메이션을 내보내려고 할 경우 수천개의 파일이 없어도 되므로).

Alembic

Alembic이 Wavefront OBJ나 COLLADA와 다른 큰 차이점은 Alembic 이 단순히 파일포맷이 아니라 프레임웍이란 점입니다. 이 말은 기본적으로 Alembic이 파일포맷을 포함하고 있지만 어떤 플러그인이나 심지어 C++라이브러리와 같은 것도 포함하기 때문입니다.
Alembic은 지오메트리의 베이크된(baked) 버전을 저장하므로 파일 사이즈를 최소화 시킵니다(이게 원래의 개발 목표중 하나였습니다). obj포맷과 비교를 하면 99.8퍼센트의 디스크 공간을 절약할 수 있습니다(물론 단지 하나의 예시일 뿐이며, 사용할 때마다 항상 그 정도는 아니겠지만 그래도 큰 차이를 보여줍니다)!!!
Alembic은 분명 지오메트리정보를 저장합니다. 하지만 이는 확장이 가능하기 때문에, 내부에 대체로 3D지오메트리와 관련된 것들도 저장할 수 있습니다.
Alembic에 있어서 단점이라면 그 채택이 현재로서는 좋은 편은 아니라는 점입니다. SideFX에서 작년에 Houdini 11.1에 Alembic 의 지원을 추가했으며, Autodesk 역시 지원을 하지만 다른 소프트웨어 사용자들은 플러그인에 의존해야 하는데 네이티브 채택이 없다는 점입니다. 물론 곧 바뀔거라고 확신합니다!