1. 产品
  2.   Aspose.3D
  3.   Aspose.3D FOSS for Java

Aspose.3D FOSS for Java

加载、创建、转换并导出来自 Java 的 3D 场景 — 免费且开源。

开源 Java 库,用于 3D 文件处理

Aspose.3D FOSS for Java 是一个 MIT 许可证的、纯-Java 库,用于处理 3D 文件格式。只需添加一个 Maven 依赖,即可立即开始读取、构建和写入 3D 场景,无需安装任何本地运行时、外部 SDK 或第三方渲染器。

该库提供了一个围绕 SceneNodeMeshCameraTransform 构建的简洁场景图 API,这与专业 3D 工具使用的概念模型相同。支持的格式包括 OBJ(带 .mtl 材质加载)、STL(二进制和 ASCII,已验证往返)、glTF 2.0(PBR 材质)、GLB(二进制 glTF)以及 FBX(仅导入)。每种格式的加载和保存选项让您能够控制坐标翻转、缩放、法线归一化和材质加载,而无需编写任何特定格式的解析代码。

Aspose.3D FOSS 需要 Java 21 或更高版本,并且在 Windows、macOS 和 Linux CI 运行器、Docker 容器以及无服务器环境中表现完全相同。无需编译本地扩展,也无需安装系统软件包。

3D 格式支持与场景图 API

  • OBJ / MTL: 加载带有相应材质定义的 Wavefront OBJ 文件。
  • STL: 读取和写入二进制及 ASCII STL,并进行完整的往返验证。
  • glTF 2.0 / GLB: 通过 GltfSaveOptions 加载 PBR 材质并导出。对 GLB 输出使用 setContentType(FileContentType.BINARY)
  • FBX: 支持导入加载 FBX 文件(不提供导出)。
  • Scene-graph API: SceneNodeMeshCameraTransform

在哪里可以使用 Aspose.3D FOSS

  • 资产验证流水线: 在 CI 中验证、重新定向并重新导出 3D 资产。
  • 游戏开发工具: 在没有原生引擎的情况下批量处理 OBJ 和 STL 网格。
  • 3D 打印工作流: 读取、验证并重新导出 STL 文件。
  • Web backends: 在 Docker 或无服务器函数中提供 3D 转换端点。
  • Content migration: 大规模在不同格式族之间进行转换。

每种格式的选项与坐标控制

  • 坐标系方向: 根据不同格式翻转轴并调整比例,无需自定义代码。
  • 法线归一化: 在加载或保存时自动归一化顶点法线。
  • 材质加载控制: 启用或禁用 MTL/纹理加载,以加快解析速度。
  • 美化输出: 通过选项选择紧凑或可读的 glTF JSON。
  • 往返保真度: 未知的场景图节点在重新保存时会原样保留。

开发者体验

Aspose.3D FOSS for Java 可通过单个 Maven 依赖 (com.aspose:aspose-3d-foss:26.1.0) 安装。该库是纯 Java,无需编译本机扩展,也不需要安装系统软件包。

场景图 API 反映了专业 3D 工具的概念模型,因此对熟悉 Three.js 或 Blender 数据模型的用户来说学习曲线很短。该库采用 MIT 许可证,开源,并欢迎在 GitHub 上提交 bug 报告和贡献代码。

加载 OBJ 场景并导出为 glTF

添加 Maven 依赖后,调用 Scene.fromFile("model.obj") 加载 OBJ 文件及其 MTL 材质定义。一次 scene.save() 调用并使用 .gltf 扩展名即可写出 glTF 2.0 JSON 文件,无需格式注册表或转换器对象。

<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>aspose-3d-foss</artifactId>
  <version>26.1.0</version>
</dependency>
import com.aspose.threed.*;

// 加载 OBJ 文件(带 .mtl 材质)
Scene scene = Scene.fromFile("model.obj");

// 导出为 glTF 2.0
scene.save("model.gltf");

使用 GltfSaveOptions 将 STL 转换为 glTF

要生成带坐标系调整的 glTF 文件,请传入一个 GltfSaveOptions 实例并调用 setFlipCoordinateSystem(true)。相同的模式适用于所有每种格式的选项——将选项类替换为您所针对的格式。

import com.aspose.threed.*;

Scene scene = new Scene();
scene.open("mesh.stl");

// 保存为 glTF 并使用选项
GltfSaveOptions opts = new GltfSaveOptions();
opts.setFlipCoordinateSystem(true);
opts.setPrettyPrint(true);
scene.save("mesh.gltf", opts);

常见问题

什么是用于 Java 的 Aspose.3D FOSS?

它是一个免费、MIT 许可证的 pure-Java 库,用于加载、操作和保存 3D 场景,无需安装任何本机运行时或外部 SDK。

支持哪些 3D 格式?

OBJ(含 .mtl)、STL(二进制和 ASCII)、glTF 2.0、GLB(二进制 glTF)以及 FBX(仅导入)。每种格式都有专用的加载/保存选项类。

它是否需要任何本机依赖?

不。Aspose.3D FOSS for Java 是 pure Java,没有任何本机扩展。它可在 Windows、macOS 和 Linux 上运行,无需任何编译步骤。

我该如何安装它?

在项目中添加 Maven 依赖 com.aspose:aspose-3d-foss:26.1.0。无需额外的系统软件包或本机扩展。

我可以控制坐标系方向吗?

是的。每种格式的选项类允许您翻转轴、调整比例并归一化法线,无需编写任何特定格式的解析代码。

支持哪些 Java 版本?

Java 21 及更高版本受支持。该库在所有主流操作系统上运行方式完全相同。

源代码可用吗?

是的。该库采用 MIT 许可证,托管在 GitHub 上。欢迎提交错误报告和拉取请求。

  

支持和学习资源

 中文