Assimp data structure介绍

Assimp库中的数据结构包括aiScene作为根,包含了Node层次结构、Meshes、Materials、Bones和Animations。Nodes组成树状结构,每个Node可以引用多个Meshes。Meshes包含顶点、面和材质信息,可以有bones进行骨骼动画。Materials存储在aiScene中,由多个属性组成。Animations包含关键帧序列,描述节点随时间的变换。此外,纹理数据可能内嵌在模型文件中,以非压缩或压缩格式存在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要内容从原网站翻译过来:链接 Assimp

数据结构

  • 调用 Assimp::Importer::ReadFile,aiImportFile或aiImportFileEx,返回aiScene。作为data的根。
  • 默认下,所有的3D数据是右手坐标系下的,和openGl一致。在D3D这种左右坐标系下,设置flag aiProcess_MakeLeftHanded。
  • winding-order默认是CCW的,可以设置 aiProcess_FlipWindingOrder to get CW data。
  • UV坐标是左下角为原点,使用flag aiProcess_FlipUVs 可改为左上角为原点。
  • assimp库里矩阵都是行主序。 opengl的api要求的是列主序, unity也里也是列主序。

Node 层次结构

  • scene 由 node的树状结构构成,从scene的root node起,每个node可以有多个child nodes,node相对于parent node有一个transform变换。
  • 每个node refer to 一个或多个meshes,meshes列表存储在aiScene,node通过index to refer,因此多个node能refer to 多个mesh。在node里每个refered mesh的instance是相对于node坐标的,需要级联计算得到global坐标。

recursive filter function such as the following pseudocode

void CopyNodesWithMeshes( aiNode node, SceneObject targetParent,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值