学习WebGL_008_obj文件格式

作者: DSLMing
时间: 2019.10.18

参考:
https://www.jianshu.com/p/f7f3e7b6ebf5
https://blog.csdn.net/charvl/article/details/90183137

obj文件格式

1、face.obj文件

这是一个完整的面的.obj文件,该文件可以在c4d中打开。
在这里插入图片描述

# WaveFront *.obj file (generated by CINEMA 4D)

mtllib ./face.mtl

v -0.5 0 0.5
v 0.5 0 0.5
v -0.5 0 -0.5
v 0.5 0 -0.5
# 4 vertices

vn 0 1 0
# 1 normal

vt 0 0 0
vt 0 1 0
vt 1 1 0
vt 1 0 0
# 4 texture coordinates

o 平面
usemtl default
s off
f 2/4/1 4/3/1 3/2/1 1/1/1

2、解析

1) 通用信息
  • 以(#)开始的一行表示注释
  • 以(v)开始表示顶点坐标,v -0.5 0 0.5
  • 以(vn)开始表示法线信息,vn 0 1 0
  • 以(vt)开始表示纹理信息,vt 0 0 0
  • 以(f)开始表示面信息,f 2/4/1 4/3/1 3/2/1 1/1/1
  • 输出名字,o 平面
  • 使用材质,usemtl default
  • 关闭光滑组,s off
2)表面单元f

表面单元通过一个包含顶点,纹理以及法线索引的序列来表示。类似四边形这种多边形可以通过多于三个包含顶点/纹理/法线索引来定义。

形如[VertexIndex/UVIndex/NormalIndex]这种格式:

f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3

那么f 2/4/1 4/3/1 3/2/1 1/1/1表示:

  • 这个面有4个顶点
  • 第一个顶点的几何坐标:vertices[2]
  • 第一个顶点的纹理坐标:vt[4]
  • 第一个顶点的法线信息:vn[1]

注意: 这里vertices、vt、vn的索引是从1开始。

<全文结束>

发布了74 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_21476953/article/details/102627194
今日推荐