Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 材料文件赢得';加载对象文件时不加载_Java_3d_Java 3d - Fatal编程技术网

Java 材料文件赢得';加载对象文件时不加载

Java 材料文件赢得';加载对象文件时不加载,java,3d,java-3d,Java,3d,Java 3d,所以我一直在尝试使用Java3D,最近,我一直在尝试将外部3D模型导入到程序中。此时,我可以将模型作为OBJ文件输入到程序中,但无论出于何种原因,程序都不会加载相应的材料文件,我不知道问题是我的编码还是文件没有正确导出 这是我写的代码: import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.geometry.*; import javax.media.j3d.*; import com.sun.j3d.loaders.obje

所以我一直在尝试使用Java3D,最近,我一直在尝试将外部3D模型导入到程序中。此时,我可以将模型作为OBJ文件输入到程序中,但无论出于何种原因,程序都不会加载相应的材料文件,我不知道问题是我的编码还是文件没有正确导出

这是我写的代码:

import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.*;
import javax.media.j3d.*;
import com.sun.j3d.loaders.objectfile.*;
import com.sun.j3d.loaders.Scene;
import java.awt.Color;
import javax.vecmath.*;

public class ModelLoadingTest {

    public static void main(String[] args) {
        SimpleUniverse universe = new SimpleUniverse();
        BranchGroup scene = new BranchGroup();

        ObjectFile loader = new ObjectFile(ObjectFile.LOAD_ALL);
        loader.setFlags(ObjectFile.RESIZE);

        Scene modelScene = null;

        try{
            modelScene = loader.load("paintedcar.obj");

        }
        catch(Exception e){

        }

        DirectionalLight lighting = new DirectionalLight(new Color3f(Color.WHITE), new Vector3f(0f, 0f, -1f));
        lighting.setInfluencingBounds(new BoundingSphere(new Point3d(0.0, 0.0, 1.0), 100));

        scene.addChild(modelScene.getSceneGroup());
        scene.addChild(lighting);
        universe.addBranchGraph(scene);
        universe.getViewingPlatform().setNominalViewingTransform();
    }
}

如果有帮助的话,我正在测试的模型是在Maya中制作的,并导出为波前文件。

。。。你没有在你的代码中加载纹理。matirl文件未编码在obj文件中,您需要将其作为纹理导入,可以像对球体一样执行此操作,除非将纹理指定给网格。分配时,需要使用

"mesh name".setAppearance("your Appearance name");
比如说

model.setAppearance(ap);