【openGL2021版】obj格式文件

【openGL2021版】obj格式文件

      大家好,我是Lampard猿奋~

      欢迎来到船新的openGL基础系列的博客,今天学习的是obj格式文件

 

(一)什么是obj格式文件 

      obj文件是3D模型文件格式。由Alias|Wavefront公司为3D建模和动画软件"Advanced Visualizer"开发的一种标准,适合用于3D软件模型之间的互导,也可以通过Maya读写,下图是百科给它的定义:

       上周我们已经学会了给图形贴上皮肤,然后进一步我们就可以制作一个立体的模型。而在3D模型中,obj就是一个很通用的文件,其里面记录了我们所需要的顶点,法线,纹理坐标等信息

1.OBJ文件是一种3D模型文件。不包含动画、材质特性、贴图路径、动力学、粒子等信息

2.)OBJ文件主要支持多边形(Polygons)模型。虽然也支持曲线(Curves)、表面(Surfaces)、点组材质(Point Group Materials),但Maya导出的OBJ文件并不包括这些信息

3.OBJ文件支持三个点以上的面

4.OBJ文件支持法线和贴图坐标。在其它软件中调整好贴图后,贴图坐标信息可以存入OBJ文件中

(二)obj文件基本结构 

      一个obj格式的文件可能包含了顶点数据,自由形式的曲面/表面属性,绘制索引序列,自由形式的曲面/表面内容声明,关联自由形式的表面,组和渲染属性信息。现在主要关注顶点数据(Vertex data)以及元素(Elements)

(1)顶点数据(Vertex data)

v 几何体顶点 (Geometric vertices),格式:(x,y,z轴坐标)

t 贴图坐标点 (Texture vertices),格式:(纹理X轴坐标,纹理Y轴坐标)

vn 顶点法线 (Vertex normals),格式:(x,y,z轴)

vp 参数空格顶点 (Parameter space vertices)

(2)元素(Elements)

p 点 (Point)

l 线 (Line)

f 面 (Face):格式为第几个顶点/第几个纹理坐标/第条个法线

curv 曲线 (Curve)

 

       如上图,就是(点1,2,3)组成一个面,(点3,2,4)组成一个面,两个三角形就凑成了一个正方形

(三)obj模型实例

      接下来是看一个立方体的实例,首先一个立方体是由六个面组建起来的,上文已经制作出一个正方型,之后就是制作6个正方形并进行连接

       我们拿到这个obj文件之后进行解码,就可以得到下面的图形,每个正方形由两个三角形组成,由6个正方形组成一个立方体(具体解码的文章放在下一篇里面讲)

好啦今天就到这里

点赞,关注!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lampard杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值