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

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

一、顶点

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

二、纹理坐标

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

三、顶点法向量

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

四、面

  1. 格式 :f v/vt/vn v/vt/vn v/vt/vn(f 顶点索引 / 纹理坐标索引 / 顶点法向量索引)
  2. 意义:绘制三角面片的依据,每个三角面片由三个f构成,由f可以确定顶点、顶点的对应的纹理坐标(提取纹理图片对应该坐标的像素点)、通过三个顶点对应的顶点法向量可以确定三角面的方向。
  3. 补充:有些模型可能会出现四边形的绘制方式,那样的模型关于面的数据描述是这样的 f v/vt/vn v/vt/vn v/vt/vn v/vt/vn ,比三角面绘制方式多一项数据。
补充说明:
  1. 顶点的个数与顶点法向量的个数一样多。
  2. 顶点的个数不一定与纹理坐标的个数一样多,因为有可能很多顶点公用一个纹理坐标的像素。
  3. 面索引的个数也与其余数据数量无关。
  4. 最终每个三角面的颜色,是由构成这个三角面的三个顶点进行插值计算(有例如:一个三角面其中两个顶点对应的纹理坐标是黑色的,另外一个是白色,那整个面呈现的颜色是由黑变白渐变,而不是三个颜色值的平均值。这就是插值的作用)来确定。所以面的颜色有可能不与每个点的颜色一致。

OBJ格式模型详细介绍相关推荐

  1. 软件过程各类模型详细介绍(重要)

    软件过程各类模型详细介绍(重要) 瀑布模型 瀑布模型的优点 瀑布模型的缺点 瀑布模型适合的项目类型 V过程模型 V过程模型的特点 V过程模型适合的项目 原型模型 原型模型的特点 原型模型的优点 增量模 ...

  2. three.js和高德地图结合引入obj格式模型-效果演示

    代码要放在web服务中去访问,three.js只有在服务中才能获取模型的材质图片!! 源代码地址: three.js和高德地图结合引入obj格式模型.zip-Javascript文档类资源-CSDN下 ...

  3. 相机标定(五)—— 相机模型详细介绍

    相机模型 相机与图像的一些基本概念 针孔相机模型 坐标系介绍 世界坐标系 相机坐标系(光心坐标系) 图像坐标系 像素坐标系 成像过程的数学模型 世界坐标系->相机坐标系 相机坐标系–>像平 ...

  4. (01)VTK读取OBJ格式模型

    前言 使用vtk可以读取的模型格式非常有限,在此适应vtk加载.stl格式的工业数据(使用SolidWorks输出的或者CAD输出的,后来为了减少模型容量,用上SolidWorks将stl格式转换成了 ...

  5. Unity 支持的模型格式及详细介绍

    1.fbx 2.glb 3.gtlf 4.obj 简述: .obj文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer&q ...

  6. Windows Socket五种I/O模型详细介绍(精)

    如果你想在Windows平台上构建服务器应用,那么I/O模型是你必须考虑的.Windows操作系统提供了选择(Select).异步选择(WSAAsyncSelect).事件选择(WSAEventSel ...

  7. 各种视频格式的详细介绍

    ●AVI格式:它的英文全称为Audio Video Interleaved,即音频视频交错格式.它于1992年被Microsoft公司 推出 ,随Windows3.1一起被人们所认识和熟知.所谓&qu ...

  8. OBJ2GLTF使用,将obj格式模型转换为gltf

    OBJ2GLTF下载地址 https://github.com/CesiumGS/obj2gltf 可以克隆,或者直接下载压缩包,或者使用npm安装,我是下载的压缩包. 安装依赖包 进入obj2glt ...

  9. 使用select模型详细介绍并使用此模型来监视标准输入缓冲区stdin里是否还有数据

    select是sock通讯下的一个api,主要用来检查sock文件描述符所指向的文件缓冲区里的状态,最常用的检查缓冲区里是否还有数据,在sock模型下凡事从网络中发来的数据都会临时存放到缓冲区里,然后 ...

  10. javabean是描述java什么模型_JSP和JavaBean模型详细介绍

    本文向大家介绍JSP和JavaBean模型,可能好多人还不知道JSP和JavaBean模型,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西. 运用JSP/Servlet实现的web动态交 ...

最新文章

  1. android actionbaractivity 错误,Android studio无法解析ActionBarActivity
  2. When 多模态 meets 信息抽取
  3. 从薪资、需求来分析,武汉Java开发就业前景好不好?
  4. 传360以原彩虹QQ研发团队为班底拟强推IM
  5. oracle 怎么附加数据库,Oracle 如何附加数据库
  6. Java 并发编程ReentrantLock--源码解析(底层AQS实现)
  7. (88)FPGA面试题-使用Verilog HDL编写二进制转格雷码
  8. TensorFlow 教程 --教程--2.4MNIST 进阶
  9. java hashset 实现原理_深入Java集合学习系列:HashSet的实现原理
  10. add script param in pycharm
  11. 静态嵌套类和非静态嵌套类
  12. 矩阵卷积运算的具体过程,很简单
  13. 机器学习10大经典算法
  14. Assembler messages error gcc and clang build
  15. Empty DataFrame
  16. 智云通CRM:销售就是讲故事?
  17. 强化学习之混合动作空间
  18. ioi 赛制_如何评价 IOI 2017(国际信息学奥林匹克竞赛)?
  19. STM32CUBE+自平衡车实践篇3.4-STM32cueb配置编码器+车轮速度测量代码实现
  20. 手把手教你如何通过大厂面试

热门文章

  1. 阿里巴巴矢量图库的引用以及更新
  2. Java小开发(汽车租赁系统)
  3. 我的大学四年到毕业工作5年的学习路线资源汇总
  4. WiRadius认证计费管理系统
  5. PyTorch实现ResNet18
  6. C++经典程序代码大全
  7. 使用 miniprogram-ci 进行小程序代码的上传、预览等操作
  8. C语言运算符都有那些?
  9. CAN通讯程序C语言,基于单片机的CANBUS程序(C语言)
  10. cmsis-dap ubuntu Error: unable to find CMSIS-DAP device