当前位置:   article > 正文

游戏建模控件Aspose.3D for Java最新版支持在Wavefront OBJ中添加点云支持

aspose.3d wavefront obj exporter

Aspose.3D for Java是独立的Gameware和计算机辅助设计(CAD)API,用于处理3D文件。同时支持大多数流行的3D文件格式,应用程序可以轻松创建,读取,转换和修改3D文件。此外,API还可以帮助开发人员在游戏中建模和创建大量世界,为设计可视化创建出色的场景,参与虚拟现实体验,将动画属性添加到3D场景文件,使用3D变换格式化元素等等。

在最新版的Aspose.3D for Java v19.8(点击下载)中,新增在Wavefront OBJ中添加点云支持,增强Aspose.3D的安全性审查,修复DRC到STL转换失败等多项问题,下面我们用示例来演示该功能的使用和工作原理。

在com.aspose.threed.ObjSaveOptions类中添加了新的getter / setter PointCloud
/**
 * Gets the flag whether the exporter should export the scene as point cloud(without topological structure), default value is false
 */
public boolean getPointCloud();
/**
 * Sets the flag whether the exporter should export the scene as point cloud(without topological structure), default value is false
 * @param value New value
 */
public void setPointCloud(boolean value);

示例代码生成一个obj格式的球面点云。

Scene scene = new Scene(new Sphere());
ObjSaveOptions opt = new ObjSaveOptions();
opt.setPointCloud(true);
scene.save("sphere.obj", opt);
添加了新方法createPolygon com.aspose.threed.Mesh
/**
 * Create a polygon with 4 vertices(quad)
 * @param v1 Index of the first vertex
 * @param v2 Index of the second vertex
 * @param v3 Index of the third vertex
 * @param v4 Index of the fourth vertex
 */
public void createPolygon(int v1, int v2, int v3, int v4);
/**
 * Create a polygon with 3 vertices(triangle)
 * @param v1 Index of the first vertex
 * @param v2 Index of the second vertex
 * @param v3 Index of the third vertex
 */
public void createPolygon(int v1, int v2, int v3);

示例代码:

Mesh mesh = new Mesh();
mesh.createPolygon(new int[] { 0, 1, 2 }); //The old CreatePolygon needs to create a temporary array for holding the face indices
mesh.createPolygon(0, 1, 2); //The new overloads doesn't need extra allocation, and it's optimized internally.
在com.aspose.threed.GLTFSaveOptions类中添加了新的getter/setter PrettyPrint
/**
* The JSON content of GLTF file is indented for human reading, default value is false
*/
public boolean getPrettyPrint();
/**
* The JSON content of GLTF file is indented for human reading, default value is false
* @param value New value
*/
public void setPrettyPrint(boolean value);

旧的prettyPrint是一个公共领域,它已被财产取代以保持一致。示例代码:

Scene scene = new Scene(new Sphere());
GLTFSaveOptions opt = new GLTFSaveOptions(FileFormat.GLTF2);
//opt.prettyPrint = true; //Old code
opt.setPrettyPrint(true); //Use setter to change this configuration.
scene.save("sphere.gltf", opt);

 

转载于:https://my.oschina.net/u/4087915/blog/3098647

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/741029
推荐阅读
相关标签
  

闽ICP备14008679号