OBJ

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

  • OBJ文件是一种3D模型文件。不包含动画、材质特性、贴图路径、动力学、粒子等信息。
  • OBJ文件主要支持多边形(Polygons)模型。虽然也支持曲线(Curves)、表面(Surfaces)、点组材质(Point Group Materials),但Maya导出的OBJ文件并不包括这些信息。
  • OBJ文件支持三个点以上的面,这一点很有用。很多其它的模型文件格式只支持三个点的面,所以导入Maya的模型经常被三角化了,这对于我们对模型进行再加工甚为不利。
  • OBJ文件支持法线和贴图坐标。在其它软件中调整好贴图后,贴图坐标信息可以存入OBJ文件中,这样文件导入Maya后只需指定一下贴图文件路径就行了,不需要再调整贴图坐标。

格式

OBJ文件由一行行文本组成,注释行以符号“#”为开头,空格和空行可以随意加到文件中以增加文件的可读性。

多行可以逻辑地连接在一起表示一行,方法是在每一行最后添加一个连接符(\)。注意连接符(\)后面不能出现空格或Tab格,否则将导致文件出错。

顶点数据(Vertex data)

  • v 几何体顶点(Geometric vertices)
  • vt 贴图坐标点(Texture vertices)
  • vn 顶点法线(Vertex normals)

元素(Elements)

  • p 点(Point)
  • l 线(Line)
  • f 面(Face)

成组(Grouping)

  • g 组名称(Group name)
  • s 光滑组(Smoothing group)
  • mg 合并组(Merging group)
  • o 对象名称(Object name)

显示(Display)/渲染属性(render attributes)

  • usemtl 材质名称(Material name)
  • mtllib 材质库(Material library)

MTL

OBJ文件不包含面的颜色定义信息,不过可以引用材质库,材质库信息储存在一个后缀是".mtl"的独立文件中。关键字"mtllib"即材质库的意思。

材质库中包含材质的漫射(diffuse),环境(ambient),光泽(specular)的RGB(红绿蓝)的定义值,以及反射(specularity),折射(refraction),透明度(transparency)等其它特征。

"usemtl"指定了材质之后,以后的面都是使用这一材质,直到遇到下一个"usemtl"来指定新的材质。

格式

newmtl 定义新的材质组,后面参数为材质组名称
Ke 放射光(emissive color)

Ka

map_Ka

环境光(ambient color)

Kd

map_Kd

散射光(diffuse color)

Ks

map_Ks

镜面光(specular color)

d

map_d

Alpha透明度
map_bump 凹凸
Tr Alpha透明度
Ns

材质的光亮度

反射指数 定义了反射高光度。该值越高则高光越密集,一般取值范围在0~1000。
Ni

材质的光密度(optical density)

折射值 可在0.001到10之间进行取值。若取值为1.0,光在通过物体的时候不发生弯曲。玻璃的折射率为1.5
Tf

材质的透射滤波(transmission filter)

滤光透射率
refl 材质的反射属性
illum 0 Color on and Ambient off
1 Color on and Ambient on
2 Highlight on
3 Reflection on and Ray trace on
4 Transparency: Glass on
Reflection: Ray trace on
5 Reflection: Fresnel on and Ray trace on
6 Transparency: Refraction on
Reflection: Fresnel off and Ray trace on
7 Transparency: Refraction on
Reflection: Fresnel on and Ray trace on
8 Reflection on and Ray trace off
9 Transparency: Glass on ,Reflection: Ray trace off
10 Casts shadows onto invisible surfaces

【3D文件格式解析】.obj + .mtl相关推荐

  1. 3D文件格式之OBJ介绍

    在 instant-ngp 中使用NeRF时,保存的mesh可指定为obj,这里对obj文件格式进行说明. OBJ文件(.obj)包含有关3D对象的几何体的信息.OBJ文件可以支持无限的颜色(unli ...

  2. pcd,obj,mtl文件格式解析

    pcd,obj,mtl文件格式解析 pcd文件解析 PCD文件格式并非白费力气地做重复工作,现有的文件结构因本身组成的原因不支持由PCL库引进n维点类型机制处理过程中的某些扩展,而PCD文件格式能够很 ...

  3. Android OpenGLES2.0(十六)——3D模型贴图及光照处理(obj+mtl)

    转自:http://blog.csdn.net/junzia/article/details/58272305 在Android OpenGLES2.0(十四)--Obj格式3D模型加载中实现了Obj ...

  4. 3D中的OBJ文件格式详解(转)

    常见到的*.obj文件有两种:第一种是基于COFF(Common Object File Format)格式的OBJ文件(也称目标文件),这种格式用于编译应用程序:第二种是Alias|Wavefron ...

  5. 3D中的 obj文件格式

    http://www.cnblogs.com/kex1n/archive/2011/09/23/2186351.html 接下来要介绍的模型文件格式是OBJ格式.该格式非常流行,而且可以使用大量3D建 ...

  6. 图形学基础 | 详解3D中的obj文件格式

    详解3D中的obj文件格式 Obj文件格式是一种简单的单独表示3D几何图元的文件格式--也就是,顶点的坐标,每个顶点纹理的UV坐标,顶点法向量,以及组成多边形的面的顶点坐标.以及纹理UV坐标序列. 面 ...

  7. IIS发布3D可视化.obj/.mtl文件找不到问题解决方案

    IIS发布3D可视化.obj/.mtl文件找不到问题解决方案 因为演示需要,我就在服务器上发布了一个3d模型,通过一个网页去展示,但是总出现个别文件找不到或者渲染不出来的问题,在服务器上打开文件的路劲 ...

  8. Threejs渲染obj+mtl模型源码,3D工厂模型

    1,介绍 Threejs实现引入工厂模型,加载obj+mtl模型源码下载,可用于学习研究,二次开发 2,部分代码 // 创建一个场景,它将包含我们所有的元素,如物体,相机和灯光. var scene ...

  9. 解析OBJ模型并将其加载到Unity3D场景中

    版权声明:本文由秦元培创作和发表,采用署名(BY)-非商业性使用(NC)-相同方式共享(SA)国际许可协议进行许可,转载请注明作者及出处,本文作者为秦元培,本文标题为解析OBJ模型并将其加载到Unit ...

  10. THREEJS导入外部OBJ+MTL后内存优化

    背景 近期做一个关于石油化工的3D数字孪生项目,模型均为客户那边提供,模型文件是obj+mtl+jpg组合.因为有较多局部控制动画,所以建模被要求拆分成多个obj模型,然后在场景中自动组合使用. 现象 ...

最新文章

  1. Android 解析包出错问题
  2. java手机游戏模拟器下载_Java手机游戏模拟器
  3. Unity网络多玩家游戏开发教程(上册)
  4. python numpy.linspace() 使用介绍
  5. 【bzoj2038】[国家集训队2010]小Z的袜子 莫队
  6. Mac OS X上的Java Memcached
  7. P1955 [NOI2015]程序自动分析 离散化学习 lower_bound学习
  8. 手把手教学:Nginx的安装
  9. python 写文件 编码_Python文件写入时的编码问题解决
  10. zoj 3261 Connections in Galaxy War
  11. 20. 远程端口查看
  12. R语言实现故障树定量与定性分析——以GJB-Z 768A-1998 故障树分析指南图5.37为例
  13. kodi文件管理smb服务器,KODI win10,kodi不能发现smb共享
  14. Linux中编译mdio命令,Linux 下smi/mdio总线通信
  15. 电商数据分析项目总结!
  16. 云超融合数据中心 CloudFabric
  17. 计算机表格 求差,教大家Excel2013中表格求差函数公式怎么使用
  18. JetBrains产品字体大小调整
  19. Java微信开发_Exception_03_errcode:48001 errmsg:api unauthorized hint
  20. 数学建模模型6——Kmeans算法【数据型】

热门文章

  1. cmd识别java命令却不识别javac
  2. 如何彻底关闭FF新推荐弹出广告
  3. 多智能体强化学习MAPPO源代码解读
  4. 我的数学建模之路:从国赛二等到美赛M奖!
  5. 新闻管理系统的设计与实现
  6. 解决文件名太长或文件夹路径太深无法删除
  7. Gnu Screen用法 【转】
  8. 免费内网穿透-端口映射
  9. 三类医疗器械ERP系统软件排行榜
  10. 3500常用汉字书法体检测数据集