ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:25.35KB ,
资源ID:9008155      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9008155.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(.obj文件格式与.mtl文件格式)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

.obj文件格式与.mtl文件格式

1、obj文件格式与.mtl文件格式   2010-08-07 10:29:24|  分类: 3D |  标签:编程  软件   |字号 订阅 最近在学习obj文件格式,上网查了些资料,很难找到比较全面的文章,尤其是对.mtl文件的说明甚少。今天把最近搜索的资料整合了一下。 这里的obj文件格式指的是Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种文件格式。 OBJ 文件是一种标准的3D模型文件格式,很适合用于3D软件模型之间的互导。OBJ文件是一种文本文件格式,这就意味着你可以直接用写字板打开进行查看修改。 目

2、前几乎所有知名的3D软件都支持OBJ文件的读写,不过很多软件需要通过插件才能 做到这一点。另外,作为一种优秀的文件格式,很多游戏引擎也都支持OBJ文件。 OBJ3.0格式支持多边形(Polygon),直线 (Lines),表面(Surfaces),和自由形态曲线(Free-form Curves)。直线和多角形通过它们的点来描述,曲线和表面则根据于它们的控制点和依附于曲线类型的额外信息来定义。这些信息支持规则和不规则的曲线, 包括那些基于贝塞尔 (Bezier)曲线,B样条(B-spline),基数(Cardinal/Catmull-Rom样条),和泰勒方程(Taylor equations

3、)的曲线。 OBJ文件特点   -1- OBJ是一种3D模型文件,因此不包含动画、材质特性、贴图路径、动力学、粒子等信息。   -2- OBJ文件主要支持多边形(Polygons)模型。 虽然OBJ文件也支持曲线(Curves)、表面(Surfaces)、点组材质(Point Group Materials),但Maya导出的OBJ文件并不包括这些信息。   -3- OBJ文件支持三个点以上的面,这一点很有用。 很多其它的模型文件格式只支持三个点的面,所以我们导入Maya的模型经常被三角化了,这对于我们对模型的再加工甚为不利。             -4- OB

4、J文件支持法线和贴图坐标。 OBJ文件基本结构 OBJ 文件不需要任何种文件头(File Header),尽管经常使用几行文件信息的注释作为文件的开头。OBJ 文件由一行行文本组成,注释行以一个“井”号(#)为开头,空格和空行可以随意加到文件中以增加文件的可读性。有字的行都由一两个标记字母也就是关键字 (Keyword)开头,关键字可以说明这一行是什么样的数据。多行可以逻辑地连接在一起表示一行,方法是在每一行最后添加一个连接符(\)。注意连接符 (\)后面不能出现空格或tab格,否则将导致文件出错。   下列关键字可以在OBJ文件使用【关键字根据数据类型排列,每个关键字有一段简

5、短描述】  顶点数据(Vertex data):   v  几何体顶点 (Geometric vertices)   vt 贴图坐标点 (Texture vertices)   vn 顶点法线 (Vertex normals)   vp 参数空格顶点 (Parameter space vertices)  自由形态曲线(Free-form curve)/表面属性(surface attributes):   deg 度 (Degree)   bmat 基础矩阵 (Basis matrix)   step 步尺寸 (Step size)   cstyp

6、e 曲线或表面类型 (Curve or surface type)  元素(Elements):   p 点 (Point)   l 线 (Line)   f 面 (Face)   curv 曲线 (Curve)   curv2 2D曲线 (2D curve)   surf 表面 (Surface)  自由形态曲线(Free-form curve)/表面主体陈述(surface body statements):   parm 参数值 (Parameter values )   trim 外部修剪循环 (Outer trimming loop)

7、   hole 内部整修循环 (Inner trimming loop)   scrv 特殊曲线 (Special curve)   sp 特殊的点 (Special point)   end 结束陈述 (End statement)  自由形态表面之间的连接(Connectivity between free-form surfaces):   con 连接 (Connect)  成组(Grouping):   g 组名称 (Group name)   s 光滑组 (Smoothing group)   mg 合并组 (Merging group

8、)   o 对象名称 (Object name)   显示(Display)/渲染属性(render attributes):   bevel 导角插值 (Bevel interpolation)   c_interp 颜色插值 (Color interpolation)   d_interp 溶解插值 (Dissolve interpolation)   lod 细节层次 (Level of detail)   usemtl 材质名称 (Material name)   mtllib 材质库 (Material library)   shadow_ob

9、j 投射阴影 (Shadow casting)   trace_obj 光线跟踪 (Ray tracing)   ctech 曲线近似技术 (Curve approximation technique)   stech 表面近似技术 (Surface approximation technique) *************************************************************************************************************** Maya导出的OBJ文件:   在Maya中创建一个多

10、边形立方体,选中这个立方体,导出格式为OBJ,文件名为"cube.obj".(如果没有此格式,请在Plug-in Manager中载入"objExport.mll") 用写字板打开"cube.obj"。 可以看到如下代码:   # The units used in this file are centimeters.   g default   v -0.500000 -0.500000 0.500000   v 0.500000 -0.500000 0.500000   v -0.500000 0.500000 0.500000   v 0.500000 0.

11、500000 0.500000   v -0.500000 0.500000 -0.500000   v 0.500000 0.500000 -0.500000   v -0.500000 -0.500000 -0.500000   v 0.500000 -0.500000 -0.500000   vt 0.000000 0.000000   vt 1.000000 0.000000   vt 0.000000 1.000000   vt 1.000000 1.000000   vt 0.000000 2.000000   vt 1.000000 2.0

12、00000   vt 0.000000 3.000000   vt 1.000000 3.000000   vt 0.000000 4.000000   vt 1.000000 4.000000   vt 2.000000 0.000000   vt 2.000000 1.000000   vt -1.000000 0.000000   vt -1.000000 1.000000   vn 0.000000 0.000000 1.000000   vn 0.000000 0.000000 1.000000   vn 0.000000 0.000000

13、 1.000000   vn 0.000000 0.000000 1.000000   vn 0.000000 1.000000 0.000000   vn 0.000000 1.000000 0.000000   vn 0.000000 1.000000 0.000000   vn 0.000000 1.000000 0.000000   vn 0.000000 0.000000 -1.000000   vn 0.000000 0.000000 -1.000000   vn 0.000000 0.000000 -1.000000   vn 0.000000

14、 0.000000 -1.000000   vn 0.000000 -1.000000 0.000000   vn 0.000000 -1.000000 0.000000   vn 0.000000 -1.000000 0.000000   vn 0.000000 -1.000000 0.000000   vn 1.000000 0.000000 0.000000   vn 1.000000 0.000000 0.000000   vn 1.000000 0.000000 0.000000   vn 1.000000 0.000000 0.000000   

15、vn -1.000000 0.000000 0.000000   vn -1.000000 0.000000 0.000000   vn -1.000000 0.000000 0.000000   vn -1.000000 0.000000 0.000000   s off   g pCube1   usemtl initialShadingGroup   f 1/1/1 2/2/2 4/4/3 3/3/4   f 3/3/5 4/4/6 6/6/7 5/5/8   f 5/5/9 6/6/10 8/8/11 7/7/12   f 7/7/13 8/8/

16、14 2/10/15 1/9/16   f 2/2/17 8/11/18 6/12/19 4/4/20   f 7/13/21 1/1/22 3/3/23 5/14/24   这个文件看起来稍复杂一些,用到了许多关键词,你可以对照前面的列表查看一下每个关键词的意思。   解释一下:   "vt 1.000000 0.000000"这句"vt"代表点的贴图坐标。   "vn 0.000000 0.000000 -1.000000"这句"vn"代表点的法线。   "s off"表示关闭光滑组。   "usemtl initialShadingGroup"表示使用的材质。

17、   "f 7/13/21"这时在面的数据中多了贴图坐标uv点和法线的索引号,索引号分别用左斜线(/)隔开。   格式:"f 顶点索引/uv点索引/法线索引"。   "g pCube1"表示组,这里的成组与Maya中的成组不一样,这里的成组是指把"g pCube1"后出现的面都结合到一起,组成一个整的多边形几何体。   把"cube.obj"文件修改一下就知道成组的意思了。把"s off"这句后面的代码替换成以下代码:   usemtl initialShadingGroup   g pCube_Face1   f 1/1/1 2/2/2 4/4/3 3/3/4

18、   g pCube_Face2   f 3/3/5 4/4/6 6/6/7 5/5/8   g pCube_Face3   f 5/5/9 6/6/10 8/8/11 7/7/12   g pCube_Face4   f 7/7/13 8/8/14 2/10/15 1/9/16   g pCube_Face5   f 2/2/17 8/11/18 6/12/19 4/4/20   g pCube_Face6   f 7/13/21 1/1/22 3/3/23 5/14/24   导入Maya后可以看到,立方体的每个面是分离的,每个面的名称分别是"pCu

19、be_Face(1~6)",可见组的名称其实就是单独几何体的名称。 ******************************************************************************************************************* 用中文命名几何体(组)并不总是顺利,把"g 立方体面1"这行改为"g 选择"再试试看,这回导入时模型根本无法出现,只会出现如下的错误信息:   // Error: line 1: Your OBJ file contains a line which is too long to be pa

20、rsed. Please edit your obj file. //   // Error: line 1: Error reading file. // 由此可见,物体命名的不规范也是导致OBJ文件出错的原因之一。关于Maya的物体命名,英文名是很保险的,标点符号中只有下划线(_)可用,数字不能用放到名称的开头,尽量不要用中、日、韩等双字节文字。 OBJ文件不支持有孔的多边形面。举个例子:    选择 Maya的创建多边形工具(Polygons -> Create Polyon Tool),在视图中画一个四边形,不要按回车,按Ctrl在四边形中间点一下,可以继续在四边形中

21、挖一个洞。把这个有孔的多边形存成OBJ格式,在导入 Maya时,会发现多边形少了一块。如果你把这也看成错误,现在至少你已经知道错误的原因了,就是OBJ文件不支持有孔的多边形面。 ******************************************************************************************************************** OBJ文件不包含面的颜色定义信息,不过可以引用材质库,材质库信息储存在一个后缀是".mtl"的独立文件中。关键字"mtllib"即材质库的意思。   材质库中包含材质的漫射(d

22、iffuse),环境(ambient),光泽(specular)的RGB(红绿蓝)的定义值,以及反射(specularity),折射(refraction),透明度(transparency)等其它特征。   "usemtl"指定了材质之后,以后的面都是使用这一材质,直到遇到下一个"usemtl"来指定新的材质。   下面的例子说明了指定材质的方法。   Cube with Materials:   # This cube has a different material   # applied to each of its faces.   mtllib master

23、mtl   v 0.000000 2.000000 2.000000   v 0.000000 0.000000 2.000000   v 2.000000 0.000000 2.000000   v 2.000000 2.000000 2.000000   v 0.000000 2.000000 0.000000   v 0.000000 0.000000 0.000000   v 2.000000 0.000000 0.000000   v 2.000000 2.000000 0.000000   # 8 vertices   g front

24、  usemtl red   f 1 2 3 4   g back   usemtl blue   f 8 7 6 5   g right   usemtl green   f 4 3 7 8   g top   usemtl gold   f 5 1 4 8   g left   usemtl orange   f 5 6 2 1   g bottom   usemtl purple   f 2 6 7 3   # 6 elements ******************************************

25、 贝塞尔片面(Bezier Patch):   Maya不能导出OBJ格式的贝塞尔片面,却能够导入它。导入的贝塞尔片面自动转换为Nurbs表面。   # 3.0 Bezier patch   v -5.000000 -5.000000 0.000000   v -5.000000 -1.666667 0.000000   v -5.000000 1.666667 0.000000   v -5.000000 5.00000

26、0 0.000000   v -1.666667 -5.000000 0.000000   v -1.666667 -1.666667 0.000000   v -1.666667 1.666667 0.000000   v -1.666667 5.000000 0.000000   v 1.666667 -5.000000 0.000000   v 1.666667 -1.666667 0.000000   v 1.666667 1.666667 0.000000   v 1.666667 5.000000 0.000000   v 5.000000 -5

27、000000 0.000000   v 5.000000 -1.666667 0.000000   v 5.000000 1.666667 0.000000   v 5.000000 5.000000 0.000000   # 16 vertices   cstype bezier   deg 3 3   # Example of line continuation   surf 0.000000 1.000000 0.000000 1.000000 13 14 \   15 16 9 10 11 12 5 6 7 8 1 2 3 4   parm u

28、 0.000000 1.000000   parm v 0.000000 1.000000   end     # 1 element *************************************************************************************************************** 基数曲线(Cardinal Curve):   Maya好像不支持OBJ格式的曲线,导入时不会出现错误信息,却也不会出现曲线。   # 3.0 Cardinal curve   v 0.940000 1.3400

29、00 0.000000   v -0.670000 0.820000 0.000000   v -0.770000 -0.940000 0.000000   v 1.030000 -1.350000 0.000000   v 3.070000 -1.310000 0.000000   # 6 vertices   cstype cardinal   deg 3   curv 0.000000 3.000000 1 2 3 4 5 6   parm u 0.000000 1.000000 2.000000 3.000000 end   # 1 elemen

30、t ****************************************************************************************************************** 贴图映射(Texture-Mapped):   # A 2 x 2 square mapped with a 1 x 1 square   # texture stretched to fit the square exactly.   mtllib master.mtl   v 0.000000 2.000000 0.000000   

31、v 0.000000 0.000000 0.000000   v 2.000000 0.000000 0.000000   v 2.000000 2.000000 0.000000   vt 0.000000 1.000000 0.000000   vt 0.000000 0.000000 0.000000   vt 1.000000 0.000000 0.000000   vt 1.000000 1.000000 0.000000   # 4 vertices   usemtl wood   # The first number is the point,

32、   # then the slash,   # and the second is the texture point   f 1/1 2/2 3/3 4/4   # 1 element *********************************************************************************************************** 说下顶点索引吧。 我 们知道,对于每一个三角形,都需要用3个顶点来表示。例如在上面的立方体模型中,一共有6×2×3=36个顶点。仔细想想就会知道, 在这36个顶点中,又相

33、当数量的顶点是重合的。如果把这些重合的顶点都一一表示出来,就太浪费存储空间了。于是,我们提出了顶点索引的想法,解决空间占用 问题。顶点索引的思想是建立两个数组,一个数组用于存储模型中所有的顶点坐标值,另一个数组则存储每一个表面所对应的三个顶点在第一个数组中的索引。建立 这样的顶点索引显然更加节约存储空间。 假设Indices:array of Integer是顶点索引数组,Vertices:array of TVertex是顶点数组,使用下面的代码段就可以把整个顶点索引对应的所有三角形绘制出来: procedure DrawIndex(Indices:array of Integer;Ve

34、rtices:array of TVertex); var i :Integer; begin    glBegin(GL_TRIANGLES);    for i := 0 to (High(Vertices)+1) div 3 -1 do    begin      glVertex3fv(@Vertices[Indices[i*3]]);      glVertex3fv(@Vertices[Indices[i*3+1]]);      glVertex3fv(@Vertices[Indices[i*3+2]]);    end;    glEnd; end; 以

35、此类推,我们可以为模型中所有的法线、纹理坐标都建立起相应的索引,以节省更多的空间。而事实上,OBJ文件就是这么做的。 在 一个OBJ文件中,首先有一些以v、vt或vn前缀开头的行指定了所有的顶点、纹理坐标、法线的坐标。然后再由 一些以f开头的行指定每一个三角形所对应的顶点、纹理坐标和法线的索引。在顶点、纹理坐标和法线的索引之间,使用符号“/”隔开的。一个f行可以以下面几 种格式出现: f  1 2 3     这样的行表示以第1、2、3号顶点组成一个三角形。 f  1/3 2/5 3/4     这样的行表示以第1、2、3号顶点组成一个三角形,其中第一个顶点的纹理坐标的索引值为3

36、第二个顶点的纹理坐标的索引值为5,第三个顶点的纹理坐标的索引值为4。 f  1/3/4 2/5/6 3/4/2     这样的行表示以第1、2、3号顶点组成一个三角形,其中第一个顶点的纹理坐标的索引值为3,其法线的索引值是4;第二个顶点的纹理坐标的索引值为5,其法线的索引值是6;第三个顶点的纹理坐标的索引值为6,其法线的索引值是2。 f  1//4 2//6 3//2 这样的行表示以第1、2、3号顶点组成一个三角形,且忽略纹理坐标。其中第一个顶点的法线的索引值是4;第二个顶点的法线的索引值是6;第三个顶点的法线的索引值是2。 值得注意的是文件中的索引值是以1作为起点的,这一点与

37、Delphi中以0作为起点有很大的不同。在渲染的时候应注意将从文件中读取的坐标值减去1。 ***************************************************************************************************************** 最后说说.mtl文件吧 三维模型处理会要读取.mtl文件来获得材质信息。    .mtl文件(Material Library File)是材质库文件,描述的是物体的材质信息,ASCII存储,任何文本编辑器可以将其打开和编辑。一个.mtl文件可以包含一个或多个材

38、质定义,对 于每个材质都有其颜色,纹理和反射贴图的描述,应用于物体的表面和顶点。 以下是一个材质库文件的基本结构: newmtl mymtl_1    材质颜色光照定义    纹理贴图定义    反射贴图定义 newmtl mymtl_2    材质颜色光照定义    纹理贴图定义    反射贴图定义 newmtl mymtl_3    材质颜色光照定义    纹理贴图定义    反射贴图定义 …… 注释:每个材质库可含多个材质定义,每个材质都有一个材质名。用newmtl mtlName来定义一个材质。对于每个材质,可定义它的颜色光照纹理反射等描述特征。 主要的

39、定义格式如下文所示: 材质颜色光照 1。环境反射有以下三种描述格式,三者是互斥的,不能同时使用。 Ka r g b    \\用RGB颜色值来表示,g和b两参数是可选的,如果只指定了r的值,则g和b的值都等于r的值。三个参数一般取值范围为0.0~1.0,在此范围外的值则相应的增加或减少反射率; Ka spectral file.rfl factor   \\用一个rfl文件来表示。factor是一个可选参数,表示.rfl文件中值的乘数,默认为1.0; Ka xyz x y z   \\用CIEXYZ值来表示,x,y,z是CIEXYZ颜色空间的各分量值。y和z两参数是可选的,如果只

40、指定了x的值,则y和z的值都等于r的值。三个参数一般取值范围为0~1。 2。漫反射描述的三种格式: Kd r g b Kd spectral file.rfl factor Kd xyz x y z 3。镜反射描述的三种格式: Ks r g b Ks spectral file.rfl factor Ks xyz x y z 4。滤光透射率描述的三种格式: Tf r g b Tf spectral file.rfl factor Tf xyz x y z 5。光照模型描述格式: illum illum_# 指定材质的光照模型。illum后面可接

41、0~10范围内的数字参数。各个参数代表的光照模型如下所示: ************************************************************************************************************ 光照模型               属性  0                   Color on and Ambient off  1                   Color on and Ambient on  2                   Highlight on  3    

42、               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

43、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

44、shadows onto invisible surfaces ************************************************************************************************************** 6。渐隐指数描述 d factor 参数factor表示物体融入背景的数量,取值范围为0.0~1.0,取值为1.0表示完全不透明,取值为0.0时表示完全透明。当新创建一个物体时,该值默认为1.0,即无渐隐效果。 与真正的透明物体材质不一样,这个渐隐效果是不依赖于物体的厚度或是否具有光谱特性。

45、该渐隐效果对所有光照模型都有效。 d -halo factor 指定一种受观察者影响的渐隐效果。例如,对于一个定义为 d -halo 0.0的球体,在它的中心是完全消隐的,而在表面边界处将逐渐变得不透明。 其中factor表示应用在材质上的渐隐率的最小值。而材质上具体的渐隐率将在这个最小值到1.0之间取值。其计算公式为: dissolve = 1.0 - (N*v)(1.0-factor) 7。反射指数描述 Ns exponent 指定材质的反射指数,定义了反射高光度。 exponent是反射指数值,该值越高则高光越密集,一般取值范围在0~1000。 8。清晰

46、度描述 Sharpness value 指定本地反射贴图的清晰度。如果材质中没有本地反射贴图定义,则将此值应用到预览中的全局反射贴图上。 value可在0~1000中取值,默认60。值越高则越清晰。 9。折射值描述 Ni ptical density 指定材质表面的光密度,即折射值。 ptical density是光密度值,可在0.001到10之间进行取值。若取值为1.0,光在通过物体的时候不发生弯曲。玻璃的折射率为1.5。取值小于1.0的时候可能会产生奇怪的结果,不推荐。   *****************************************

47、 纹理映射 纹理映射可以对映射的相应材质参数进行修改,这个修改只是对原有存在的参数进行叠加修改,而不是替换原有参数,从而纹理映射在物体表面的表现上有很好的灵活性。 纹理映射只可以改变以下材质参数: - Ka (color) - Kd (color) - Ks (color) - Ns (scalar) - d (scalar) 除了以上参数,表面法线也可以更改。 纹理文件类型可以是以下几种: 1.纹理映射文件 .mpc:颜色纹理文件co

48、lor texture files ——可改变Ka,Kd,Ks的值 .mps:标量纹理文件scalar texture files——可改变Ns,d,decal的值 .mpb:凹凸纹理文件bump texture files——可改变面法线 2.程序纹理文件: 程序纹理文件是用数学公式来计算纹理的样本值。有以下几种格式: .cxc .cxs .cxb 以下是mtl文件中对于纹理映射的描述格式: 1.map_Ka -options args filename 为环境反射指定颜色纹理文件(.mpc)或程序纹理文件(.cxc),或是一个位图文件。在渲染的时候,Ka的值将再乘上

49、map_Ka的值。 而map_Ka的可选项参数有以下几个: -blendu on | off -blendv on | off -cc on | off -clamp on | off -mm base gain -o u v w -s u v w -t u v w -texres value 2.map_Kd -options args filename 为漫反射指定颜色纹理文件(.mpc)或程序纹理文件(.cxc),或是一个位图文件。作用原理与可选参数与map_Ka同。 3.map_Ks -options args filename 为镜反射指定颜色纹理

50、文件(.mpc)或程序纹理文件(.cxc),或是一个位图文件。作用原理与可选参数与map_Ka同。 4.map_Ns -options args filename 为镜面反射指定标量纹理文件(.mps或.cxs)。可选参数如下所示: -blendu on | off -blendv on | off -clamp on | off -imfchan r | g | b | m | l | z -mm base gain -o u v w -s u v w -t u v w -texres value 5.map_d -options args filename

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服