JavaFX 将 material 应用于导入的 X3D 模型

JavaFX apply material to imported X3D-Model

我正在像这样使用 InteractiveMesh X3DModelImporter 加载 Node[] 对象

Node[] model = importer.getImport();
Map<String, PhongMaterial> mapTexs = importer.getNamedMaterials();

但是我无法将 PhongMaterials 应用到检索到的对象,因为它是一个节点数组并且 Node/Group 没有 setMaterial。我也很好奇如何处理多个 material。现在我刚从 Blender 导入了一个绿色的 2x2x0.5 盒子,但是更复杂的模型呢?

不幸的是,我在 API 文档中找不到任何信息。

这原来是一个与 Blender 相关的问题,而不是 JavaFX/InteractiveMesh。我发现使用 InteractiveMesh 网站上的 x3d 文件可以完美地工作(material 隐式应用于模型)。显然,当导出为 x3d 时,Blender 无法导出应用的 material。当使用 .obj 和相应的导入器时,material 出现了!