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


Answers

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

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

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

Question

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

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




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

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




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




Links