2013-04-19 28 views
5

Tôi đang cố tải các tệp .obj vào một dự án Android với LibGDX. Các tệp có tệp kết cấu no nhưng bao gồm các tài liệu trong tệp .mtl. Tôi đang sử dụng chính thức mới nhất hàng đêm và chỉ hiển thị tệp đối tượng trong đối tượng xuất hiện màu trắng. Làm cách nào để tải ObjLoader để sử dụng tệp .mtl?LibGDX và ObjLoader không hiển thị .mtl?

@Override 
public void create() { 
    objLoader = new ObjLoader(); 
    model = objLoader.loadObj(Gdx.files.internal("data/obj.obj"), true); 
} 

@Override 
public void render() { 
    Gdx.gl.glClearColor(0, 0, 0, 0); 
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
    batch.begin(); 

    model.render(); 

    batch.end(); 
} 

Đây là cách mã hiển thị đối tượng được gọi. Dưới đây là một liên kết đến lớp ObjLoader

https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/graphics/g3d/loaders/wavefront/ObjLoader.java

Tôi đang làm gì sai? Và tại sao nó sẽ không tải tập tin .mtl? Từ những gì tôi có thể hiểu, nó sẽ tải một tập tin .mtl trong cùng một thư mục và cùng tên với tập tin .obj.

EDIT Tôi đã làm rối tung một chút, đặt một số dòng vào lớp ObjLoader để ghi lại nội dung đó và không tải. Dường như nó đang tải tập tin mtl, và gán mỗi mtl cho một cá thể vật chất, và nó cũng giống như obj là chính xác yêu cầu cho những tài liệu.

Có điều gì tôi cần bật hoặc thực hiện trên đầu OpenGL để đảm bảo rằng nó sử dụng các tài liệu này đúng cách không?

Trả lời

1

ObjLoader và đặc biệt là MtlLoader mà nó sử dụng rất hạn chế. Hãy thử sử dụng api 3D mới với fbx thay thế. Dưới đây là giải thích cách tải mô hình: http://blog.xoppa.com/loading-models-using-libgdx/.

+0

Lưu ý rằng các câu trả lời chỉ dành cho liên kết không được khuyến khích (các liên kết có khuynh hướng bị lỗi thời gian). Vui lòng xem xét chỉnh sửa câu trả lời của bạn và thêm bản tóm tắt tại đây. – kleopatra

0

tôi thấy vấn đề rất giống nhau, và đó là chính xác lý do tại sao tôi đều báo cáo nó tại đây:

https://github.com/libgdx/libgdx/issues/2441

và cam kết một sửa chữa nó ở đây:

https://github.com/libgdx/libgdx/commit/d7e716351d26ddfba19ce9e0b3bdfb449dbc81b7

, hỗ trợ hầu tất cả các thông số MTL ngoài kia. Lưu ý rằng đây là một WIP, và (hy vọng) sẽ nhận được vào thân cây khi nó đã hoàn thành.

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