2010-07-02 26 views
28

Dường như có khá nhiều trình tải tệp OBJ lưới trên mạng mà mọi người đã phát triển để sử dụng trên nền tảng Android. Tôi tự hỏi nếu có ai có bất kỳ kinh nghiệm với những và có thể cung cấp một đề nghị mà trên đó có vẻ làm việc tốt nhất cho họ.Trình tải tệp Android OpenGL .OBJ

Dưới đây là tiêu chí của tôi:

  • nhẹ (kích thước tập tin nhỏ),
  • Tối ưu hóa cho tốc độ,
  • dễ dàng để thực hiện,
  • Cung cấp một số loại hỗ trợ lập bản đồ kết cấu (không chắc chắn nếu Tôi cần điều này - không đủ xa để viết mã để biết tôi có cần thư viện để làm điều này không, hoặc nếu OpenGL ES có thể làm tất cả những gì tôi cần ở đây), và
  • Có thể sử dụng Ứng dụng Android đang được s cũ về mặt thương mại.

Dưới đây là một số thư viện tôi đã tìm thấy.

Tôi cũng mở được nghe về những người khác không nằm trong danh sách này. Cảm ơn!

+0

Cảm ơn bạn rất nhiều, câu hỏi của bạn rất hữu ích, tôi đã biết về các mô hình lập mô hình 3D cho Android. Tôi sẽ đi với "Android-GL" – swiftBoy

Trả lời

21

Bạn đã hỏi điều này một lúc nhưng tôi có một giải pháp tốt nếu bạn vẫn đang tìm kiếm.

Thay vì tải tệp obj, bạn có thể dễ dàng chuyển đổi nó thành mảng cho các đỉnh, tiêu chuẩn và tọa độ kết cấu. Có một công cụ chuyển đổi các tệp obj thành các tệp tiêu đề c. Bạn có thể chuyển đổi đầu ra để làm việc với java sau đó. Nó không phải là khó khăn.

http://www.heikobehrens.net/2009/08/27/obj2opengl/

Giải pháp này rất dễ dàng, các tập tin tiêu đề sẽ không thêm nhiều không gian trong mã nguồn hơn các tập tin obj và các dữ liệu sẽ nhỏ gọn hơn khi biên soạn, nó rất nhanh chóng kể từ khi bạn có những dữ liệu có sẵn sàng để render ngay lập tức, nó có thể chuyển đổi tọa độ kết cấu và bạn không cần phải lo lắng về việc sử dụng nó cho các sản phẩm thương mại của bạn.

+0

Tôi biết điều này là thực sự cũ, nhưng tôi dường như không thể tìm thấy một cách để chuyển đổi tập tin tiêu đề c để làm việc với java. Làm thế nào để bạn làm điều đó? Bài đăng trên blog được viết bằng iPhone. –

+1

Bạn cần tự chuyển đổi chúng. Nó nên được thẳng về phía trước đủ những gì để làm. Chỉ cần sao chép dữ liệu từ các mảng C vào các mảng Java. –

+0

@Matthew Mitchell: Tôi đã tạo các mảng C thành các mảng Java như bạn đã đề cập. Bạn có thể cho tôi một số mã để tải mảng java này và hiển thị tệp obj trong GLsurfaceview hay không. – Manoj

10

Tôi biết đây là một câu hỏi cũ, nhưng tôi đã gặp phải một số sự cố để tìm trình tải OBJ tốt cho Android.

tôi đã cố gắng gần như tất cả các giải pháp đề xuất

  • Min3D đó là khá cũ (phiên bản mới nhất là từ năm 2011)
  • Rajawali đó có vẻ là một ngã ba của min3D
  • Libgdx mà là một công cụ trò chơi
  • JPCT-AE một engine 3d cho android

là người duy nhất đó không phải là quá phức tạp và làm việc được JPCT-AE, có thể tìm thấy ở đây: http://www.jpct.net/jpct-ae/

Nó cho phép phân tích tệp OBJ và tải kết cấu từ tệp MTL được liên kết mà không gặp bất kỳ sự cố nào. Hơn nữa tài liệu thực sự mô tả so với các tài liệu khác, và có một diễn đàn với rất nhiều câu hỏi được trả lời.

Các vấn đề liên quan