【3D文件格式解析】.obj + .mtl
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 |
材质的光亮度
|
Ni |
材质的光密度(optical density)
|
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相关推荐
- 3D文件格式之OBJ介绍
在 instant-ngp 中使用NeRF时,保存的mesh可指定为obj,这里对obj文件格式进行说明. OBJ文件(.obj)包含有关3D对象的几何体的信息.OBJ文件可以支持无限的颜色(unli ...
- pcd,obj,mtl文件格式解析
pcd,obj,mtl文件格式解析 pcd文件解析 PCD文件格式并非白费力气地做重复工作,现有的文件结构因本身组成的原因不支持由PCL库引进n维点类型机制处理过程中的某些扩展,而PCD文件格式能够很 ...
- Android OpenGLES2.0(十六)——3D模型贴图及光照处理(obj+mtl)
转自:http://blog.csdn.net/junzia/article/details/58272305 在Android OpenGLES2.0(十四)--Obj格式3D模型加载中实现了Obj ...
- 3D中的OBJ文件格式详解(转)
常见到的*.obj文件有两种:第一种是基于COFF(Common Object File Format)格式的OBJ文件(也称目标文件),这种格式用于编译应用程序:第二种是Alias|Wavefron ...
- 3D中的 obj文件格式
http://www.cnblogs.com/kex1n/archive/2011/09/23/2186351.html 接下来要介绍的模型文件格式是OBJ格式.该格式非常流行,而且可以使用大量3D建 ...
- 图形学基础 | 详解3D中的obj文件格式
详解3D中的obj文件格式 Obj文件格式是一种简单的单独表示3D几何图元的文件格式--也就是,顶点的坐标,每个顶点纹理的UV坐标,顶点法向量,以及组成多边形的面的顶点坐标.以及纹理UV坐标序列. 面 ...
- IIS发布3D可视化.obj/.mtl文件找不到问题解决方案
IIS发布3D可视化.obj/.mtl文件找不到问题解决方案 因为演示需要,我就在服务器上发布了一个3d模型,通过一个网页去展示,但是总出现个别文件找不到或者渲染不出来的问题,在服务器上打开文件的路劲 ...
- Threejs渲染obj+mtl模型源码,3D工厂模型
1,介绍 Threejs实现引入工厂模型,加载obj+mtl模型源码下载,可用于学习研究,二次开发 2,部分代码 // 创建一个场景,它将包含我们所有的元素,如物体,相机和灯光. var scene ...
- 解析OBJ模型并将其加载到Unity3D场景中
版权声明:本文由秦元培创作和发表,采用署名(BY)-非商业性使用(NC)-相同方式共享(SA)国际许可协议进行许可,转载请注明作者及出处,本文作者为秦元培,本文标题为解析OBJ模型并将其加载到Unit ...
- THREEJS导入外部OBJ+MTL后内存优化
背景 近期做一个关于石油化工的3D数字孪生项目,模型均为客户那边提供,模型文件是obj+mtl+jpg组合.因为有较多局部控制动画,所以建模被要求拆分成多个obj模型,然后在场景中自动组合使用. 现象 ...
最新文章
- Android 解析包出错问题
- java手机游戏模拟器下载_Java手机游戏模拟器
- Unity网络多玩家游戏开发教程(上册)
- python numpy.linspace() 使用介绍
- 【bzoj2038】[国家集训队2010]小Z的袜子 莫队
- Mac OS X上的Java Memcached
- P1955 [NOI2015]程序自动分析 离散化学习 lower_bound学习
- 手把手教学:Nginx的安装
- python 写文件 编码_Python文件写入时的编码问题解决
- zoj 3261 Connections in Galaxy War
- 20. 远程端口查看
- R语言实现故障树定量与定性分析——以GJB-Z 768A-1998 故障树分析指南图5.37为例
- kodi文件管理smb服务器,KODI win10,kodi不能发现smb共享
- Linux中编译mdio命令,Linux 下smi/mdio总线通信
- 电商数据分析项目总结!
- 云超融合数据中心 CloudFabric
- 计算机表格 求差,教大家Excel2013中表格求差函数公式怎么使用
- JetBrains产品字体大小调整
- Java微信开发_Exception_03_errcode:48001 errmsg:api unauthorized hint
- 数学建模模型6——Kmeans算法【数据型】