Java 3D导入obj模型后颜色显示 出错显示白色,或者笔记本电脑显示彩色,但是台式机仍为白色

Java 3D导入obj模型后颜色显示 出错显示白色,或者笔记本电脑显示彩色,但是台式机仍为白色

代码问题

首先,确保代码中编辑了给模型导入颜色

//function:读取.obj文件,并将其添加到Shape3D节点中
ObjectFile OBJfile = new ObjectFile();
Scene scene = null;
try {
    scene = OBJfile.load(filePath);//filePath是要导入的obj文件路径
} catch (FileNotFoundException e) {
    System.err.println(e);
} catch (ParsingErrorException e) {
    System.err.println(e);
} catch (IncorrectFormatException e) {
    System.err.println(e);
}

Shape3D modelShape3D = new Shape3D();
modelShape3D.duplicateNode(scene.getSceneGroup().getChild(0), false);
modelShape3D.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);

Appearance app = modelShape3D.getAppearance();
app.setCapability(Appearance.ALLOW_MATERIAL_WRITE);
app.setCapability(Appearance.ALLOW_TRANSPARENCY_ATTRIBUTES_READ);
app.setCapability(Appearance.ALLOW_TRANSPARENCY_ATTRIBUTES_WRITE);

//note 设置模型的颜色
Material mat = app.getMaterial();
Color3f tempcolor=new Color3f(1.0,1.0,1.0);
mat.setDiffuseColor(tempcolor);
mat.setCapability(Material.ALLOW_COMPONENT_WRITE);

文件问题

obj文件出错了,不是实体文件,java3D识别不到,默认白色。

解决:

1.打开SolidWorks,文件-打开-找到obj文件-打开方式选择ScanTo3D网格文件

Java 3D导入obj模型后颜色显示 出错显示白色,或者笔记本电脑显示彩色,但是台式机仍为白色_第1张图片

2.另存为obj文件

Java 3D导入obj模型后颜色显示 出错显示白色,或者笔记本电脑显示彩色,但是台式机仍为白色_第2张图片

如果找不到ScanTo3D,先在SolidWorks插件中找到ScanTo3D并打开

打开插件

你可能感兴趣的:(java3D,模型导入,java)