如何将.obj模型添加到JME

时间:2015-04-17 05:52:04

标签: models blender jmonkeyengine .obj sketchup

出于某种原因,我很难弄清楚如何将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);
    }
}

请帮忙!

1 个答案:

答案 0 :(得分:1)

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

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 /文件夹中。