借助3D文档控件Aspose.3D,用Java 创建 3D 场景
3D 场景是在计算机上显示 3D 形状的一种方式。在本指南中,我们将学习如何使用 Java 创建 3D 场景,而不需要任何特殊的 3D 软件。之后,我们将以FBX文件格式保存 3D 场景,这是共享 3D 内容的常见方式。那么,让我们开始吧。
Aspose.3D?是一个功能丰富的游戏软件和计算机辅助设计(CAD)的API,可以在不依赖任何3D建模和渲染软件的情况下操作文档。API支持Discreet3DS, WavefrontOBJ, FBX (ASCII, Binary), STL (ASCII, Binary), Universal3D, Collada, glTF, GLB, PLY, DirectX, Google Draco文件格式等等。开发人员可以轻松地创建,读取,转换,修改和控制3D文件格式的实质。
Aspose.3D 最新下载(qun:666790229)https://www.evget.com/product/3915/download
用于创建 3D 场景的 Java 3D API - 免费下载
我们将使用Aspose.3D for Java?API 来创建和读取 3D 场景。它是一个功能强大的 API,允许您以各种格式创建、编辑和保存 3D 场景。它允许创建和编辑 3D 网格、材质和纹理。该 API 还支持添加和配置灯光、摄像机和动画。
请下载API的JAR或在基于Maven的Java应用程序中添加以下pom.xml配置。
<repository> <id>AsposeJavaAPI</id> <name>Aspose Java API</name> <url>https://repository.aspose.com/repo/</url> </repository>
<dependency> <groupId>com.aspose</groupId> <artifactId>aspose-3d</artifactId> <version>23.9.0</version> </dependency>
使用 Java 创建简单的 3D 场景
我们可以按照以下步骤创建一个简单的 3D 场景:
- 创建Scene类的实例。
- 调用createChildNode()方法添加一些要在屏幕上显示的几何图形或形状,例如圆柱体。
- 设置子节点属性,例如Material。
- 初始化Light类对象。
- 调用createChildNode()方法添加Light实体。
- 最后,使用save()方法将场景保存为 FBX?。它采用输出文件路径和FileFormat.FBX7500ASCII作为参数。
以下代码示例展示了如何使用 Java 创建简单的 3D 场景。
// This code example demonstrates how to create a simple 3D scene and save in FBX file. // Initialize 3D scene Scene scene = new Scene(); // Initialize Cylinder object Cylinder cylinder = new Cylinder(); cylinder.setName("Cylinder"); // Create a child node and add Cylinder object Node node = scene.getRootNode().createChildNode(cylinder); // Set child node properties LambertMaterial material = new LambertMaterial(); material.setDiffuseColor(null); material.setName("Lambert"); node.setMaterial(material); // Add Light entity Light light = new Light(); light.setLightType(LightType.POINT); light.setName("Light"); scene.getRootNode().createChildNode(light).getTransform().setTranslation(new Vector3(10, 0, 10)); // Output file path String output = "C:\\Files\\document.fbx"; // Save 3D scene document scene.save(output, FileFormat.FBX7500ASCII);
使用Java读取3D场景
我们还可以按照以下步骤加载 FBX 文档并读取 3D 场景:
- 创建Scene类的实例。
- 使用open()方法加载现有的 3D 文档。
- 循环遍历ChildNodes属性
- 最后,显示属性值。
以下代码示例演示如何使用 Java 加载和读取 3D 场景。
// This code example demonstrates how to read a 3D scene from FBX file // Initialize a Scene class object Scene scene = new Scene(); // Load an existing 3D document scene.open("C:\\Files\\document.fbx"); for(Node node : scene.getRootNode().getChildNodes()) { Entity entity = node.getEntity(); System.out.println("Entity Name: " + entity.getName()); if (node.getMaterial() != null) { Material material = node.getMaterial(); System.out.println("Material Name: " + material.getName()); PropertyCollection props = material.getProperties(); // List all properties using foreach for(Property prop : props) { System.out.println(prop.getName() + " : " + prop.getValue()); } } } Entity Name: Cylinder Material Name: Lambert Emissive : (0 0 0) Diffuse : (1 1 1) Ambient : (0 0 0) Entity Name: Light
在本文中,我们学习了如何用 Java 创建 3D 场景。我们还了解了如何以 FBX 格式渲染 3D 场景,并使用 Java 以编程方式读取其子注释和属性。通过利用 Aspose.3D for Java,您可以简化 Java 应用程序中的 3D 图形编程。如有任何疑问,请随时联系我~
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!