3D模型文件 OBJ格式模型详细介绍

Posted xiaoniu-666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3D模型文件 OBJ格式模型详细介绍相关的知识,希望对你有一定的参考价值。

obj格式有4种数据,分别以一下字母开头:

  • v顶点
  • vt纹理坐标
  • vn顶点法向量
  • f 面


一、顶点

v 0.232323 0.8978, 0.34312


格式:v x y z
意义:每个顶点的坐标

二、纹理坐标

vt 0.032 0.005 0

格式:vt u v w

意义:绘制模型的三角面片时,每个顶点取像素点时对应的纹理图片上的坐标。纹理图片的坐标指的是,纹理图片如果被放在屏幕上显示时,以屏幕左下角为原点的坐标。
注意:w一般用于形容三维纹理,大部分是用不到的,基本都为0。

 

三、顶点法向量

vn 0.728 -0.123 -0.322

 

格式:vn x y z
意义:绘制模型三角面片时,需要确定三角面片的朝向,整个面的朝向,是由构成每个面的顶点对应的顶点法向量的做矢量和决定的(xyz的坐标分别相加再除以3得到的)。

四、面

f 1/1/1 2/2/2 3/3/3

格式 :f v/vt/vn v/vt/vn v/vt/vn(f 顶点索引 / 纹理坐标索引 / 顶点法向量索引)

意义:绘制三角面片的依据,每个三角面片由三个f构成,由f可以确定顶点、顶点的对应的纹理坐标(提取纹理图片对应该坐标的像素点)、通过三个顶点对应的顶点法向量可以确定三角面的方向。

 

补充:有些模型可能会出现四边形的绘制方式,那样的模型关于面的数据描述是这样的 f v/vt/vn v/vt/vn v/vt/vn v/vt/vn ,比三角面绘制方式多一项数据。

补充说明:

  • 顶点的个数与顶点法向量的个数一样多。
  • 顶点的个数不一定与纹理坐标的个数一样多,因为有可能很多顶点公用一个纹理坐标的像素。
  • 面索引的个数也与其余数据数量无关。
  • 最终每个三角面的颜色,是由构成这个三角面的三个顶点进行插值计算(有例如:一个三角面其中两个顶点对应的纹理坐标是黑色的,另外一个是白色,那整个面呈现的颜色是由黑变白渐变,而不是三个颜色值的平均值。这就是插值的作用)来确定。所以面的颜色有可能不与每个点的颜色一致。


参考链接:https://blog.csdn.net/xyh930929/article/details/82260581

以上是关于3D模型文件 OBJ格式模型详细介绍的主要内容,如果未能解决你的问题,请参考以下文章

OBJ 模型文件与MTL材质文件 介绍

OBJ(3D模型)文件格式

OBJ(3D模型)文件格式

我的OpenGL学习进阶之旅关于3D模型知识之:什么是obj文件和mtl文件

我的OpenGL学习进阶之旅关于3D模型知识之:什么是obj文件和mtl文件

2016版PPT里没有插入3D模型怎么办