[Graphics] 어떤 3D 모델 형식을 사용해야합니까?


Answers

Collada 는 Khronos 그룹 (OpenGL 표준기구)이 소유 한 3D 모델 용 공개 XML 기반 형식입니다.

Collada.org FAQ에서 :

COLLADA 1.4.x 기능 세트에는 다음이 포함됩니다.

  • 메쉬 기하학
  • 변형 계층 구조 (회전, 평행 이동, 전단, 스케일, 행렬)
  • 효과
  • 셰이더 (Cg, GLSL, GLES)
  • 기재
  • 텍스처
  • 카메라
  • 가죽 끈
  • 생기
  • 물리 (강체, 구속, 헝겊 인형, 충돌, 볼륨)
  • 인스턴스화
  • 기법
  • 멀티 프리젠 테이션
  • 자산
  • 사용자 데이터
Question

나는 게임 엔진을 쓰고 3D 모델 형식을 사용해야합니까 /로드 / 내보내기해야합니까? Obj는 보편적이고 쉬운 것처럼 보이지만, 거기에있는 대부분의 모델에는 오류가 있으며 다른 형식만큼이나 가까이에 저장하지 않는다는 점에서 신뢰할 수없는 것처럼 보입니다.

MD2 / 3 / 5와 같은 게임용 형식은 분명하지만 확실하지는 않습니다. 모델링하면 wings3d를 사용합니다. ID 형식에서 필요한 항목과 지원을 순전히로드하는 것 외에 다른 세부 정보가 무엇인지 알지 못합니다. 구현할 필요가 있습니까? 예 : IK를 구현해야합니까? 그리고 Inverse Kinematics 및 Bone rigging이 아닌 조각 애니메이션 당 스크립팅을 사용할 수 있습니까?




어떤 3D 형식을 지원할지 걱정하기 전에 엔진에 어떤 기능을 구현할 것인지에 집중해야한다고 생각합니다. 요구 사항을 적어두고 목록에서 대부분의 기능을 지원하는 형식을 선택하십시오. 엔진을 선보이려면 (엔진을 공개적으로 사용할 수 있도록 계획하고 있다고 가정합니다). 엔진에 특정 기능이있는 경우 사용자 고유의 형식을 롤업 할 수도 있습니다. 이는 항상 게임 엔진에 대해 좋은 점입니다.

그 다음에 가능한 많은 인기있는 형식 (.X, .3DS, .OBJ, .B3D)을 지원하십시오. 엔진이 더 접근 가능할수록 더 많은 사람들이 작업하기를 원할 것입니다!

Collada는 훌륭하고 일반적인 형식이지만 Nils가 언급 한 것처럼 최종 배포에 이상적인 형식은 아닙니다.




+1 콜라다. 당신은 또한 정말로 빠른 로딩을위한 커스텀 네이티브 바이너리 포맷을 원할 수도 있습니다 (보통 정점 / 인덱스 버퍼 데이터의 플러스 바이너리 덤프, 머티리얼 및 스켈레톤 데이터, 적절한 경우 충돌 데이터).

게임 업계의 한 가지 추세는 엔진 개발자 빌드에서 collada와 같은 형식을로드하는 것을 지원하는 것뿐 아니라 릴리스 용으로 최적화 된 버전을 내보내는 도구 체인도 있습니다. 개발자 버전은 메쉬를 동적으로 업데이트 할 수 있으므로 아티스트가 변경 사항을 저장하면 파일이 자동으로 다시로드되므로 모델의 WYSIWYG보기가 거의 즉시 가능하지만 완전히 최적화 된 릴리스 형식을 제공합니다.




내 바이너리 형식을 사용합니다. 필자는 기존 형식을 사용하려고했지만 항상 한계에 부딪 쳤습니다. 어떤 사람들은 주변에서 일할 수 있었고 다른 사람들은 어디에서 일할 수 있었는가요?

Collada는 한 번 볼만한 가치가 있습니다. 나는 이것이 3D 엔진에 의해 읽혀지는 형식으로는 그렇게 좋지 않다고 생각합니다. 그것은 일반적인 데이터 교환 형식으로 괜찮습니다.

http://www.collada.org/mediawiki/index.php/Main_Page




Collada를 잘 지원하고, 다른 형식들과 좋은 변환기를 제공하십시오 (이것은 어려운 부분 일 수 있습니다). 이렇게하면 최대의 유연성을 얻을 수 있습니다. C4 엔진 살펴보기




Collada는 훌륭하지만, 사물의 3D 앱 측면에서 더 많이 산다. 즉, 게임 엔진 내에서 3D 데이터를로드하지 않고 응용 프로그램간에 3D 데이터를 전송하는 데 가장 적합합니다. 루아를 들여다 보았습니까? 그것은 게임에서 광범위하게 사용되는데, 스크립트 언어가 매우 빠르며 (게임에 딱) 매우 유연합니다 (엔진에 필요한 모든 데이터를 나타 내기 위해 사용될 수 있습니다).