我正在使用 FXyz 库将模型(obj 格式)作为三角形网格导入到我的程序中。我想将这些 Trianglemesh 对象转换为 PolygonMeshes,以便它们可以用作 SkinningMeshes。此过程是否有特定的工作流程?
编辑:我使用 org.fxyz3d.importers.obj.ObjImporter 作为我的 OBJ 加载器。我正在 Blender 2.65 中创建和导出我的模型。Blender 2.65 使用 Wavefront 作为格式。
我最初尝试使用 HandImporter 方法以 ThreeJS 格式加载模型,但它给了我意想不到的结果。但是,OBJImporter 似乎运行良好。我想如果我可以加载 obj 模型并显示它们,那么作为最后的手段,我可以手动将骨骼附加到它们并为它们设置动画。
因为 PolygonMesh 在其任何构造函数中都没有使用 Trianglemesh,所以我假设正在发生某些事情,这可能需要事先进行一些转换。
这是我正在使用的代码片段:
private void Load_Model3D(int i) throws MalformedURLException, IOException {
String S = "data\\models\\" + i + "\\" + i + ".obj";
File F = new File(S);
if(F.exists()){
//Load the Model:
URL url = F.toURI().toURL();
this.Model_3D_Arr[i] = FXYZ_Loader.load(url);
//Grab the Trianglemesh from the Model3D using casting:
MeshView mv = (MeshView) this.Model_3D_Arr[i].getMeshViews().get(0);
TriangleMesh T = (TriangleMesh) mv.getMesh();
//Convert Trianglemesh into PolygonMesh here:
}else{
System.err.println("File F does not exist! FXYZ: " + S);
}
}
再次感谢。:)