정적 및 애니메이션 3D 모델의 파일 ​​형식


22

현재 OpenGL을 사용하여 C ++로 3D 게임을 작성 중이며 3D 모델을로드 할 부분을 찾고 있습니다. 따라서 인기있는 파일 형식과 기술을 찾고 있습니다.

  • 스태틱 메시 표시
  • 애니메이션 메시를 렌더링합니다.

키 프레임 애니메이션, 스켈 레탈 애니메이션, MD2 최대 MD5, 3DS, X, Collada 등과 같은 많은 가능한 형식과 기술을 이미 발견했습니다. pp.

간단하게하기 위해 정적 메쉬와 애니메이션 메쉬를 모두 허용하는 형식 (및 기술)을 사용하고 싶습니다. 내 질문은 하나의 형식이 해당 작업에 적합하고 어떤 형식을 제안하는지입니다. 그리고 좀 더 명확히하기 위해 : 매우 부드러운 애니메이션이나 새로운 기능이 필요하지 않습니다.

(!) 참고 : 나는 믹서기 팬 (그러나니까 하지 전문가를 ;-))가이 그와 함께 사용할 수 있다면 도움이 될 것입니다 -하지만 물론 여기에, 쇼 스토퍼되어서는 안된다는.

답변:


16

Collada 사용을 제안하겠습니다 .

DCC 도구에서 널리 지원되며 표준화가 잘되어 있습니다. 스켈 레탈 애니메이션과 .. 음, 셰이더와 물리를 포함하여 거의 모든 것을 지원합니다.

MDL 또는 MD2 형식과 같은 정점 기반 애니메이션은 과거와 거의 관련이 없습니다. 오늘날 대부분의 애니메이션은 뼈대 애니메이션 (매끄럽게 조작 된 캐릭터인지 생각)이며 컨텐츠 제작 도구가 최적화되어 있습니다.

블렌더에는 콜라다 수출업자가 있지만 항상 블렌더에서 물건을 내보내는 것은 성 가실 수 있습니다. 문제가 발생하면 대체 내보내기 나 파일 형식을 시도하거나 스크립트를 수동으로 해킹해야 할 수도 있습니다.

Collada를로드하려면 FCollada 또는 ColladaDOM 과 같은 라이브러리를 사용 하십시오 ( Colada실제로 뚱뚱한 XML 괴물입니다 ...). Collada (및 언급 한 다른 모든 형식)를 포함하여 ~ 25 개의 파일 형식을로드하는 Open Asset Import Library 도 있습니다 . 특히 게임 개발자를 목표로하고 실시간 렌더링에 적합한 형식으로 출력을 제공하므로 탁월한 선택이 될 것입니다. 그러나 솔직히 말하면, 나는 공동 저자 중 한 명이므로 약간 편견이 있을 것입니다 .

마지막으로 : 자산을 가져 오는 데 사용하는 파일 형식은 엔진의 기능과 사용하는 기술을 정의해서는 안됩니다. 오히려 다른 방식이어야합니다. 애니메이션이 매끄럽고 부드러운 지 여부는 가져 오기 형식의 문제가 아닙니다. 메시 애니메이션을 적용하는 데 사용되는 기술과 처음에 모델링이 얼마나 좋은지에 대한 문제입니다. 가져 오기 형식은 Blender에서 게임으로 데이터를 가져 오는 데 도움이됩니다.


자세한 답변을 주셔서 감사합니다. 오늘 처음 Collada에 대해 들었고 (친구가 추천 함) 실제로 프로덕션 환경에서 사용할 준비가되었는지 확실하지 않았습니다. 감사하겠습니다. :-)
stschindler 12

2
좋은 조언, 특히 AssImp에 대한 참조. 그래도 COLLADA를 제안하지는 않았지만 아무도 일관성 있고 정확하게 모든 것을 지원하지 않는 것처럼 보였으며 실제 콘텐츠 용도로는 다소 큽니다. MD5와 같은 것을 사용하는 것이 좋습니다.이 기능은 골격을 가져오고 올바르게 널리 구현됩니다 (제 생각에). 나는 또한 MD2를 너무 쉽게 기각하지 않았다. 거기에있는 많은 그것을 위해 밖으로 샘플 모델, 그리고 (이 래그 돌 쓸모 또는 무엇을해야하지만) 당신은 하찮게 싸게 애니메이션을 적용 할 수 있습니다.
ChrisE

다른 파일 형식으로 놀아 보겠습니다. AssImp 덕분에 쉽게 할 수 있습니다. MD2는 실제로 첫 번째 아이디어 였지만 적절한 뼈를 내보내는 대신 만드는 데 비용이 많이 듭니다. 내 경우에는 Ragdolls가 필요하지 않으며 애니메이션이 필요하며 물리가 필요하지 않습니다.
stschindler

실제로 매우 나쁜 Collada 수출 업체가 있지만 적어도 문서화 된 형식이므로 항상 누구를 비난 해야하는지 알 수 있습니다 :-). MD5도 좋은 후보이지만 Blender 수출 업체가 얼마나 좋은지 모르겠습니다. MD2는 정점 표현이 매우 제한되어 있으며 크기와 정확도 제한이 있습니다. 나는 정말로 그것을 사용하지 않을 것입니다. 그렇게 할 이유가 없습니다.
Alexander Gessler 2016 년

wazim.com/Collada_Tutorial_1.htm 은 collada를로드하는 데 매우 유용한 심층 자습서이지만 여전히 라이브러리를 사용하는 것이 좋습니다.
Exilyth
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.