iOS Assimp 介绍

2022-12-19  本文已影响0人  Zhen斌iOS

Asset-Importer-Lib(简称assimp)是一个从各种3D数据格式加载和处理几何场景的库。它主要通过支持节点层次结构、静态或蒙皮网格、材质、骨骼动画和潜在纹理数据,在典型的游戏场景中进行定制。但也支持一些3D打印和CAD格式。该库不是为速度而设计的,它主要用于一次性从各种来源导入资产,并以特定于引擎的格式存储,以便每天轻松快速地加载。assimp还能够对导入的数据应用各种后处理步骤,例如转换为索引网格、计算法线或切线/双切线或从右手坐标系转换为左手坐标系。

Assimp Lib目前支持以下文件格式(请注意,某些加载程序缺少其格式的某些功能,因为某些文件格式包含不受Assimp支持的数据,某些内容需要大量转换工作,因此尚未实现,并且某些(大多数…)格式缺少适当的规范):

3D Manufacturing Format (.3mf)
Collada (.dae, .xml)
Blender (.blend)
Biovision BVH (.bvh)
3D Studio Max 3DS (.3ds)
3D Studio Max ASE (.ase)
glTF (.glTF)
glTF2.0 (.glTF)
    KHR_lights_punctual ( 5.0 )
    KHR_materials_pbrSpecularGlossiness ( 5.0 )
    KHR_materials_unlit ( 5.0 )
    KHR_texture_transform ( 5.1 under test )
FBX-Format, as ASCII and binary (.fbx)
Stanford Polygon Library (.ply)
AutoCAD DXF (.dxf)
IFC-STEP (.ifc)
Neutral File Format (.nff)
Sense8 WorldToolkit (.nff)
Valve Model (.smd, .vta)
Quake I (.mdl)
Quake II (.md2)
Quake III (.md3)
Quake 3 BSP (.pk3)
RtCW (.mdc)
Doom 3 (.md5mesh, .md5anim, .md5camera)
DirectX X (.x)
Quick3D (.q3o, .q3s)
Raw Triangles (.raw)
AC3D (.ac, .ac3d)
Stereolithography (.stl)
Autodesk DXF (.dxf)
Irrlicht Mesh (.irrmesh, .xml)
Irrlicht Scene (.irr, .xml)
Object File Format ( .off )
Wavefront Object (.obj)
Terragen Terrain ( .ter )
3D GameStudio Model ( .mdl )
3D GameStudio Terrain ( .hmp )
Ogre ( .mesh.xml, .skeleton.xml, .material )
OpenGEX-Fomat (.ogex)
Milkshape 3D ( .ms3d )
LightWave Model ( .lwo )
LightWave Scene ( .lws )
Modo Model ( .lxo )
CharacterStudio Motion ( .csm )
Stanford Ply ( .ply )
TrueSpace (.cob, .scn)
XGL-3D-Format (.xgl)

有关特定 Importer 可以做什么和不能做什么的信息,请参阅进 Importer 说明。注意,尽管本文声称是README的官方文档。md通常是库支持的最新文件格式列表。

Assimp本质上独立于操作系统,提供了一个C++接口,便于与游戏引擎集成,并提供了一种基于C的接口,允许绑定到其他编程语言。目前,该库可以在任何小端平台上运行,包括X86/Windows/Linux/Mac和X64/Windows/Linux/Mac。特别注意使库尽可能不受依赖关系的影响。

也支持基于PPC的Mac(如果您仍然有)或PPC Linux系统等大端系统。

assimp链接器库和查看器应用程序是在BSD 3条款许可证下提供的。这基本上意味着,只要您保留许可证信息并对使用许可证的行为负责,您就可以自由地将其用于开源或开源项目,用于商业或非商业目的。有关详细信息,请参阅LICENSE文件。

您可以在<assimp_root>/test/models目录中找到几乎所有格式的测试模型。小心,它们是免费的,但并非所有的都是开源的。如果有一个附带的“<file>source.txt”文件,不要忘记阅读它。

依赖关系

编译资产导入器库需要以下库。签出代码时,您不必关心它们的安装。所有这些都是回购的一部分,或者可以通过Hunter安装。

zlib
zip-lib
unzip
pugi-xml
rapijson
clipper
draco
gtest
stb_image
utf8cpp
poly2tri
openddlparser

来源:https://assimp-docs.readthedocs.io/en/v5.1.0/about/introduction.html#

上一篇 下一篇

猜你喜欢

热点阅读