Trước hết, cảm ơn hai người trả lời khác.Ngoài ra basszero bạn đã đúng về các tập tin pha trộn, và tôi nên đã kiểm tra Wikipedia đầu tiên! Nó là một phân vùng nhị phân gần như vô dụng của bộ nhớ của Blender.
Không lâu sau khi viết câu hỏi này, tôi quyết định tiếp tục và viết trình tải OBJ, vì 1) nó sẽ cho tôi trải nghiệm tải định dạng tệp 3D và 2) có vẻ như là định dạng đẹp, thường được sử dụng mà còn dễ tải. Nó đã kết thúc là một quyết định tuyệt vời, bởi vì nó làm tôi nhận ra, tôi đã không thực sự biết sự khác biệt giữa một đối tượng và một nhóm, và tôi cũng không biết nhiều về vật liệu. Nó giúp tôi thiết lập mã cho các cấu trúc 3D này.
Cả hai câu trả lời đều đề xuất định dạng dựa trên XML. Tôi không muốn một định dạng XML. Tôi không tin đây là nơi thích hợp cho XML. Tôi tin rằng các định dạng đó được tạo ra bởi vì XML là linh hoạt, phổ quát và dễ tạo các lược đồ, nhưng đó không phải là những gì tôi đang tìm kiếm. Tôi muốn một định dạng tải nhanh (XML không phải là, tương đối nói), nó không phải là linh hoạt hoặc có thể đọc được con người, và cái gì đó mà tôi có thể viết một nhà nhập khẩu, thay vì dựa vào các thư viện XML. basszero thậm chí còn nói, "với chi phí là XML", và anh ta hoàn toàn đúng; đó là một chi phí mà tôi không cảm thấy có giá trị gánh nặng.
Trình tải OBJ của tôi được thực hiện. Tôi tách nó ra khỏi các lớp mô hình thực tế, và thực hiện nó với một giao diện MeshFactory để tôi có thể trong tương lai viết một bộ tải khác nếu tôi muốn ... Đó là kế hoạch. Tôi đã nghiên cứu thêm vài ngày qua và quyết định định dạng ms3d.
Định dạng ms3d hỗ trợ gian lận xương (khớp) và hoạt ảnh xương khung chính, và hơn nữa hỗ trợ bản đồ kết cấu và bản đồ alpha. Ngoài ra, nó là một định dạng nhị phân dễ đọc trên máy tính, không lãng phí dung lượng (như XML và OBJ) với các thẻ và nhãn có thể đọc được của con người và như vậy.
Máy xay sinh tố, thật không may, không có tập lệnh xuất ms3d (hoạt động), vì vậy tôi sẽ tự viết một kịch bản. May mắn thay, nó không phải là một quá trình khó khăn, và bạn có thể đọc qua tài liệu của Blender và sử dụng các nhà xuất khẩu khác làm ví dụ. Tôi sẽ phải chải lên Python của tôi, nhưng nếu không nó có vẻ rất đơn giản, từ những gì tôi đã nhìn thấy của các kịch bản khác.
Mặt Java của mọi thứ phải dễ dàng, trên thực tế nó sẽ dễ dàng hơn định dạng OBJ vì ms3d được cấu trúc nhiều hơn. Tôi tìm thấy specifications cho định dạng ms3d trực tuyến, theo kiểu C (thiên tài!) Để chúng cực kỳ tự giải thích và tôi không có thêm câu hỏi nào về định dạng. Tôi sẽ căn cứ vào việc triển khai thực hiện thông số này, mặc dù sau này tôi có thể triển khai các biến thể của riêng mình; đó là điều tuyệt vời khi viết nhà nhập khẩu và xuất khẩu của riêng tôi, tôi có thể sửa đổi định dạng như tôi thấy phù hợp.
Tất cả trong tất cả, tôi đã quyết định đây là giải pháp tốt nhất.
Và basszero, bạn hoàn toàn đúng, như tôi đã thấy từ bộ tải OBJ của tôi: "Một khi bạn đã đọc tất cả, tổ chức dữ liệu (danh sách hiển thị, kết cấu, mảng đỉnh, bộ đệm đỉnh, v.v ...) và dựng hình là một con thú hoàn toàn khác. "
Cruachan: không có Java3D cho tôi, tôi đang gắn bó với JOGL. Tôi thực sự sở hữu cuốn sách đó (mặc dù nó không thể truy cập tại thời điểm này) mặc dù tôi không nhớ làm thế nào ông nạp các mô hình, nhưng tôi khá chắc chắn ông đã sử dụng các trình tải định dạng Java3D tự động làm điều đó. Không phải thứ tôi định dùng ... Xin lỗi!
-Ricket
tôi không như vậy chắc chắn về .obj, có vẻ như vô cùng hiệu quả. tôi không cần định dạng có thể đọc được. tôi sẽ xem xét những gì làm cho vrml lớn và có thể làm cho phiên bản tinh chỉnh của riêng tôi, cảm ơn! bất kỳ ai khác? :) – Ricket
Obj là không hiệu quả, nhưng nó rất chuẩn. Bạn cũng có thể sẽ xem xét Java3D và đặc biệt là cuốn sách 'Killer Game Programming in Java' của O'Reilly có thể trả lời rất nhiều câu hỏi. – Cruachan