FBX格式mesh解析与加载(一)

本文介绍了FBX格式的Mesh数据结构,包括Vertices、PolygonVertexIndex、Normals和UV等关键信息,并探讨了FBX文件与游戏引擎中Mesh数据结构的差异,指出在导入到Unity3D或UE4时可能遇到的问题及其解决方案。

**

理解FBX格式中Mesh数据结构**

fbx文件是现在许多建模动画软件和游戏引擎之间共用的模型文件格式。fbx文件分为两种方式从建模软件中导出,一种是二进制文件另一种是ASCII码保存。
ASCII保存的格式右键打开方式选文本可以打开看到里面保存的数据。对于模型网格来说,模型中点坐标、点索引、 点法线、uv 是生成模型的重要参数。在文本中Object properties 能找到这个些数据。
比如打开一个简单正方提模型我们可以看到下面数据:
在这里插入图片描述
Vertices的24个值是三维数据集的8个顶点(3个值代表一个顶点三维坐标)。
PolygonVertexIndex 下的36个值是顶点索引(mesh中点的索引)
Normals 的108是12个三角形的每个三角形角的36个法线(3个值代表一个法向量)。
UV 下的24是12个纹理坐标(2个值代表一个纹理坐标对)。
UVIndex 的36是三维数据集的36个三角形角的纹理坐标索引(引用 UV 的值)。

Vertices中数据不难理解,就是这些数据三个一组对应X、Y、Z构成一个三维坐标,所以可以得到正方体的8个顶点坐标。
PolygonVertexIndex 看到这个数据中的大家都会有疑问:
为什么顶点索引数据会有负数?
因为模型为了区分模型网格是三角面还是四边面,如果数据每隔三个为负数则为三角面,每隔四个为四边面。
如何将负数的索引值转成有效索引数据呢?
假如n为负数索引值,m = |n|-1 。m为计算后的正确索引值。

因为normal和uv所计算的值都是对应的点的值:点法线是对应的点的法线,uv是点映射在平面上的坐标值,他们根本都是点的属性。 而 PolygonVertexIndex、Normals和UVInde

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值