우선, 다른 두 명의 답변자에게 감사드립니다.또한 basszero 당신은 블렌드 파일에 대해 옳았습니다. Wikipedia를 먼저 확인 했어야합니다! 블렌더의 메모리에 거의 쓸모없는 이진 덤프입니다.
이 질문을 작성한 직후에 나는 OBJ 로더를 작성하기로 결정했다. 왜냐하면 1) 3D 파일 형식을로드하는 경험을 제공 할 것이고, 2) 일반적으로 사용되는 형식이 좋지만 쉽게로드 할 수 있습니다. 그것은 큰 결정이었습니다. 왜냐하면 그것은 제가 실제로 물질과 그룹의 차이를 알지 못했기 때문에 깨닫게했기 때문에 물질에 대해서도 많이 알지 못했습니다. 이 3D 구조에 대한 코드를 작성하는 데 도움이되었습니다.
두 답변 모두 XML 기반 형식을 권장합니다. 나는 XML 형식을 원하지 않는다. 나는 이것이 이것이 XML에 적합한 장소라고 생각하지 않는다. 필자는 XML이 유연하고 보편적이며 스키마를 쉽게 만들 수 있기 때문에 이러한 형식이 만들어 졌다고 생각합니다. 그러나 이것이 제가 원하는 것은 아닙니다. 나는로드가 빠른 (XML은 상대적으로 말하지 않는다) 형식을 원한다. 유연하거나 인간이 읽을 수있는 형식 일 필요는 없으며, XML 라이브러리에 의존하지 않고 가져 오기를 작성할 수있는 형식이 필요하다. basszero는 심지어 "XML이되는 비용으로 말했습니다."그는 완전히 옳았습니다. 그 부담을 감당할 수 없다고 느끼는 비용입니다.
내 OBJ 로더가 완료되었습니다. 나는 그것을 실제 모델 클래스와 분리하고 MeshFactory 인터페이스로 구현하여 미래에 원하는 경우 다른 로더를 작성할 수 있습니다 ... 어느 것이 계획입니다. 나는 지난 며칠 동안 더 많은 연구를 해왔고 ms3d 포맷을 결정했다.
ms3d 형식은 골격 리깅 (조인트)과 키 프레임 골격 애니메이션을 지원하며 텍스처 맵과 알파 맵을 지원합니다. 또한 사람이 읽을 수있는 태그 및 레이블 등을 사용하여 공간을 낭비하지 않고 (XML 및 OBJ처럼) 쉽게 컴퓨터로 읽을 수있는 이진 형식입니다.
블렌더는 불행히도 (작업 중) ms3d 내보내기 스크립트가 없으므로 직접 스크립트를 작성하겠습니다. 운 좋게도 어려운 과정이 아니며 블렌더의 문서를 읽고 다른 수출 업체를 예제로 사용할 수 있습니다. 내 파이썬을 다듬어야 할 것이다. 그러나 그렇지 않다면 다른 스크립트를 본 것에서부터 매우 직설적으로 보인다. 사물의
자바 측면 ms3d 더 구조이기 때문에 사실 그것은 OBJ 형식보다 더 쉬울 것이다, 쉽게해야합니다. 나는 C 타입 (천재!)의 ms3d 포맷 온라인에 대해 specifications을 찾았습니다. 그래서 그들은 대단히 자명하며 형식에 대해 더 이상의 질문이 없습니다. 나는 나중에 내 자신의 변형을 구현할 수도 있지만,이 스펙의 구현을 기반으로 삼을 것이다. 내 자신의 수입업자와 수출업자를 쓰는 것이 가장 좋습니다. 내가보기에 형식을 수정할 수 있습니다.
이 모든 것이 최선의 해결책이라고 판단했습니다.
내 OBJ 로더에서 보았 듯이 basszero, 당신은 절대적으로 옳습니다 : "일단 모든 정보를 가져 오면 (표시 목록, 텍스처, 정점 배열, 정점 버퍼 등) 렌더링은 완전히 다른 짐승이다. "
Cruachan : 나를위한 Java3D가 없으며 JOGL을 고수하고 있습니다. 모델을 어떻게로드했는지는 기억이 나지 않지만 실제로는이 책을 소유하고 있습니다. (실제로는 접근 할 수 없지만) 자동으로 수행하는 Java3D 형식 로더를 사용했는지는 확실합니다. 내가 사용할 계획이 아니야 ... 미안해!
-Ricket
내가 .OBJ에 대해서는, 매우 비효율적 인 것 같습니다 그래서 확실하지 않다. 나는 인간이 읽을 수있는 형식이 필요하지 않습니다. 나는 vrml을 크게 만드는 것에 대해 조사 할 것이고 어쩌면 내 자신의 꼬인 버전을 만들 것입니다. 감사합니다! 다른 사람? :) – Ricket
Obj는 비효율적이지만 매우 표준 적입니다. Java3D와 특히 많은 질문에 답할 수있는 O'Reilly의 'Killer Game Programming in Java'를 살펴 보는 것도 좋을 것입니다. – Cruachan