如何将 .obj 模型添加到 JME

How to add .obj model to JME

出于某种原因,我很难弄清楚如何将 obj 模型添加到 JME。我是 JME 的新手,之前没有导入过模型(示例资产教程除外)。

我在 Blender 中创建了一个基本模型并将其导出为 obj。我将 obj 添加到 project/assets/models 文件夹,将 mtl 添加到 materials 文件夹。不幸的是,当我 运行 程序时,我仍然看不到模型。场景看起来是黑色的。我能够看到在 JME 中创建的 1x1x1 立方体。

该对象是一个默认正方形,另一个正方形与其相交。两个正方形都有默认纹理。

public class TestImport extends SimpleApplication {
    public static void main(String[] args){
        TestImport app = new TestImport();
        app.start();
    }

    @Override
    public void simpleInitApp(){
        Spatial object = assetManager.loadModel(“Models/TestingOBJ/TestingOBJ.obj”);
        rootNode.attachChild(object);
        DirectionalLight sun = new DirectionalLight();
        sun.setDirection(new Vector3f(-2f,-2f,-2f).normalizeLocal());
        rootNode.addLight(sun);
    }
}

请帮忙!

纹理不会导出到 .obj 文件中,因此您正试图在 JME 中查看无纹理的资产。使用资产管理器加载模型后,尝试向对象添加 Material。

public class TestImport extends SimpleApplication {
    public static void main(String[] args){
        TestImport app = new TestImport();
        app.start();
    }

    @Override
    public void simpleInitApp(){
        Spatial object = assetManager.loadModel(“Models/TestingOBJ/TestingOBJ.obj”);
        Material mat_default = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
        object.setMaterial(mat_default);
        DirectionalLight sun = new DirectionalLight();
        sun.setDirection(new Vector3f(-2f,-2f,-2f).normalizeLocal());
        rootNode.addLight(sun);
    }
}

为了让 JME 知道在哪里可以找到它们,请确保您已将资产放在 assets/Textures/ 文件夹中。