用于 3D 数据格式的开源 C++ 库
C++ API 支持加载和处理来自各种 3D 数据格式的几何场景。您可以将其与游戏引擎集成并绑定到其他编程语言。
Asset-Importer-Lib (Assimp) 是一个用 C++ 实现的强大的开源库。它使软件开发人员能够在他们自己的 C++ 应用程序中加载和处理来自各种 3d 数据格式的几何场景。该库独立于平台,并提供与游戏引擎的轻松集成以及与其他编程语言的绑定。
世界上有多种 3D 文件格式,Assimp 库已包含对其中几种重要格式的支持。该库组织良好,支持 40 多种 3D 文件格式,例如 Collada、3D Studio Max 3DS 和 ASE、Biovision BVH、斯坦福多边形库、AutoCAD DXF、中性文件格式、Autodesk DXF、对象文件格式、Milkshape 3D、LightWave 场景等等。
该库对于一次从各种来源导入元素并将它们以特定于引擎的格式存储以便轻松快速地访问非常有用。最新版本还支持将 3D 文件导出为其他支持的文件格式。该库支持增强顶点缓存局部性、对任意多边形进行三角剖分、搜索退化多边形、拆分大型网格以克服 GPU 限制、优化网格、通过验证输出结构和节点以减少绘制调用来确保最大数据完整性等功能。
Assimp 入门
安装 Assimp 库最简单的方法是通过 cmake。首先,您需要安装 cmake。请使用以下命令进行顺利安装。要构建库,只需打开命令提示符,导航到 repo 文件夹并运行 cmake。
通过 cmake 安装 Assimp
cmake CMakeLists.txt
通过 C++ 库加载和处理 3D 模型
开放资产导入库 (Assimp) 支持从 C++ 应用程序中的一些常见 3D 模型格式访问和加载 3D 模型。您需要提供 3D 模型文件的路径,它将开始加载模型。您可以轻松地创建实例并将有关模型的所有信息存储在其中。库将按照必须在网格之前加载材料和网格必须在节点之前的顺序加载和读取模型。
通过 C++ 转换 CAD 模型
开源库 Assimp 使软件开发人员能够使用 C++ 应用程序加载 CAD 模型并将其转换为其他受支持的 3D 模型。您需要提供 CAD 文件的地址,一旦加载,您就可以轻松地将其转换为其他支持的格式,例如 DAE、STL、OBJ、PLY、STEP、3MF、FBX 等等。
导入动画并将其应用到模型
开放资产导入库 (Assimp) 使软件程序员能够使用 C++ 代码将动画应用于模型。最好的方法是首先对场景图中的节点进行动画处理,然后您可以根据场景图的当前状态计算骨骼矩阵。