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

Aspose.3D FOSS for .NET

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

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

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

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

Aspose.3D FOSS 目标为 .NET 10.0,能够在 Windows、macOS 和 Linux 上运行。无需编译本机扩展,也无需安装系统软件包。

3D 格式支持与场景图 API

  • OBJ / MTL: 加载带有相应材质定义的 Wavefront OBJ 文件。
  • STL: 读取和写入二进制及 ASCII STL,并进行完整的往返验证。
  • glTF 2.0 / GLB: PBR 材质加载与导出。保存为 .glb 可输出二进制 glTF。
  • FBX: 在 ASCII 和二进制模式下导入和导出 FBX 文件。
  • Collada / 3MF: 额外的格式支持,以实现更广泛的互操作性。
  • 场景图 API: Scene, Node, Mesh, Camera, Transform.

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

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

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

  • 坐标系方向: 在每种格式下翻转轴并调整比例,无需自定义代码。
  • 法线归一化: 在加载或保存时自动归一化顶点法线。
  • 材质加载控制: 启用或禁用 MTL/纹理加载以加快解析。
  • 每种格式的加载选项: 为每种格式配置坐标翻转、比例和材质加载。
  • 往返保真度: 未知的场景图节点在重新保存时会原样保留。

开发者体验

Aspose.3D FOSS for .NET 可通过单个 NuGet 包安装(dotnet add package Aspose.3D.Converter --version 1.0.0)。该库纯 C# 编写,无需编译本机扩展,也不需要安装系统软件包。

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

加载 OBJ 场景并导出为 glTF

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

dotnet add package Aspose.3D.Converter --version 1.0.0
using Aspose.ThreeD;

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

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

加载带选项的 OBJ 并导出为 STL

每种格式的选项类让您能够控制导入行为。例如,ObjLoadOptions 让您可以切换坐标翻转、缩放和材质加载。相同的模式适用于所有格式——只需为目标格式替换相应的选项类。

using Aspose.ThreeD;
using Aspose.ThreeD.Formats;

var scene = new Scene();
var opts = new ObjLoadOptions();
opts.FlipCoordinateSystem = true;
opts.NormalizeNormal = true;
scene.Open("mesh.obj", opts);

// 重新导出为 STL
scene.Save("mesh.stl");

常见问题

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

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

支持哪些 3D 格式?

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

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

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

我该如何安装它?

运行 dotnet add package Aspose.3D.Converter --version 1.0.0 将 NuGet 包添加到你的项目中。无需额外的系统包或本机扩展。

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

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

支持哪些 .NET 版本?

.NET 10.0 及更高版本受支持。该库可在所有主流操作系统上运行。

源代码可用吗?

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

  

支持和学习资源

 中文