纹理贴图原理与3dMax贴图技法 | 您所在的位置:网站首页 › 3dmax案例步骤 › 纹理贴图原理与3dMax贴图技法 |
前序 这篇文章我将总结一下从《Real Time Rending》中学习到的纹理贴图原理,以及3dMax中关于模型UV展开,以及BitMap贴图参数调整的技法 文章主要分为Part1的理论篇和Part2的软件实技篇,结合我自己的一些认识思考和重解释,将理论和应用联系起来,希望能对这方面的知识有一个系统的总结 如果你是做3D建模方面的,那么希望本文能够帮助你更加清楚在UV展开和贴图调整时你究竟在干什么,对于物体渲染你所做的贡献究竟是什么 如果你是做程序方面的,那么希望本文能够让你认识到就纹理贴图技术,模型师为你做了什么,以及在程序运行时你还需要做什么或者还可以控制什么 如果你想要了解3dMax的UV展开和贴图调整,那么希望Part2能帮到你 当然也希望我真的能总结的那么好吧... 欢迎各路神仙留言指正或是赐教一些我不知道的点 鄙人先谢为敬 Part1 --- 纹理贴图原理 (理论篇)1.1 纹理表现与纹理贴图---1.1.1 什么是纹理、纹理表现、纹理贴图什么是所谓的纹理表现?对纹理表现狭义的理解是“把一张图片按一定方式贴在物体表面进行渲染” 而引用我建模老师的一句话“纹理表现就是物体的表面的某一属性表现出了各向异性”,即改变的不一定是漫反射的颜色,也可以是法线(产生凹凸效果)、高光、不透明度...等等其他属性 在《Real Time Rending》中,对纹理贴图的定义是“使用图像、函数或其他数据源来改变物体外观的技术” ---1.1.2 为什么要使用纹理贴图技术如果你了解渲染管线的流程,你就会知道如果没有纹理贴图技术,那么每个像素/片段的颜色,只能由顶点的颜色插值进行插值得到 然而实际情况是物体的顶点有限,然而形成的表面却占据了屏幕上很大一部分像素,如果像素颜色只能由顶点进行插值得到,那么... 然而我们却希望这样的一块表面上出现我们想要的图案,或者说漫反射颜色表现出各向异性 使用纹理贴图技术的目的就是在顶点有限的情况下,让物体的表面表现出无限的可能---1.1.3 纹理贴图技术概述纹理贴图技术的几大要点是数据源、映射方法、应用方法 纹理贴图的核心思路就是通过建立一定的映射方法,将片段所对应的物体表面的某一属性和数据源的某一位置的数据对应起来,再通过一定的应用方法,利用从数据源中获取的数据来改变物体表面的某一属性值,从而影响当前片段或是其他片段的着色计算,以及对合并输出阶段的结果产生影响,使物体表面外观发生一定的变化 1.2 渲染管线对纹理贴图技术实现的方法(使用图片纹理、UV坐标)图片纹理是下文中数据源的一种,而UV坐标是下文中描述图片纹理的纹理空间的一种方式 由于图片纹理经常作为数据源进行使用,因此规定了UV坐标作为模型的顶点信息的一部分,这也导致了需要由模型师进行UV展开来进行顶点UV坐标的分配 ---1.2.1 渲染管线中纹理渲染的大致流程首先通过一定的映射方法,为顶点分配UV坐标,将UV坐标信息作为顶点信息的一部分 在像素/片段元着色阶段,可通过对顶点中储存的UV坐标进行插值运算,得到当前片段对应的物体表面上的UV坐标, 再利用得到的UV坐标访问/索引贴图纹理,从而得到对应的数据, 根据不同标记的贴图使用不同的应用方法,将数据通过一定的方程函数进行处理,最终改变片段所对应的物体表面的原有的某个特定的属性的值 之后再照常进行像素/片段的着色计算,以及之后的融合/合并输出阶段 由于预先改变了物体表面的漫反射、法线、透明度等等属性,从而对物体的表面外观产生了影响 例如改变了漫反射颜色,影响了片段元的颜色值,改变法线值影响了着色计算从而利用光照效果产生了凹凸,改变了透明度,从而对Alpha测试的结果产生了影响 ---1.2.2 程序运行前和运行时的工作从纹理渲染的流程我们就可以看出,由于UV坐标是作为顶点信息的一部分,或者说作为了资源信息的一部分 因而在程序运行之前,我们就需要确定顶点中储存的UV坐标 而在程序运行时,通过插值计算得到物体表面具体某一点的UV坐标,再进行之后的数据源访问和数据应用 这里程序运行前,确定顶点中UV坐标,就需要通过一定的映射方法并进行一定的调整,也就是本文 Part2 3dMax中UV展开所进行的工作,也就是应由建模者完成的工作 而程序运行时,主要的工作是对接不同的数据源和不同的属性,并在像素/片段元着色阶段,使用不同的应用方法改变物体表面的属性值(下文值变换函数的概念) ---1.2.3 UV坐标由于纹理贴图中主要的数据源是图片,而图片可以被看作是一个储存了大量数据的数组,每个像素的颜色(RGB)值作为数据,根据像素位置组成了一个二维数组 UV坐标就是为索引图片的像素数据所建立的一种二维坐标 并且由于图片有不同的大小,为了统一不同图片的UV坐标信息,一张图片的UV坐标,UV的取值仅在0到1之间,即(0,0)对应图片的左下角,而(1,1)对应图片的右上角 有时候我们希望图片能够在二维中进行旋转,从而达到上下翻转或是动画的效果,因此我们在UV坐标的基础上还加入了一个W坐标,垂直于图片所在的二维平面 UV坐标就是下文中描述纹理空间的一种方法 1.3 纹理管线及相关概念纹理管线是描述实现纹理贴图技术的全部流程的一套模型(包括程序运行前的UV坐标确定以及渲染管线的工作) ---1.3.1 纹理管线的相关要素这里我们展开一下之前提到的 数据源、映射方法、应用方法的概念到纹理管线中 ------1.3.1.1 数据源 数据源主要有两种形式图片素材(图片贴图纹理)或是函数(程序贴图纹理/过程纹理),数据源作为纹理贴图的资源数据集,并通过一定的索引方式来得到对应的数据 这里图片素材需要模型师在建模时进行准备和绑定,图片贴图纹理就需要使用UV坐标进行索引 而函数则是让程序员(技术美术)建立出特定的方程,通过提供输入参数,得到对应的输出参数,这里建立函数作为数据源尽量也使用UV坐标作为输入参数,利用已有的UV坐标这套模型就不需要自行解决物体表面的输入参数分配问题,但自行新的建立表面的参数分配机制也不失为一种实现特殊效果的方式 ---------1.3.1.1.1 不同数据源的转换与结合 我们可以把过程纹理转换为图片纹理,即素材准备时,通过遍历输入参数将输出参数合成为一张纹理(渲染到纹理),比如常见的噪波图,就是遍历噪波函数得到的纹理 我们也可以对图片纹理转换为函数的方式储存或者用一定量函数解析来替代图片纹理,即使用一定的图片压缩机制,从而降低图片纹理存储时的空间占用 我们也可以组合图片纹理和程序纹理生成新的纹理,比如下面提到的渐变贴图 就《Real Time Rending》中提到的,GPU正朝着更便宜的计算,更高昂的存储方向发展 更多的使用过程纹理,以及对图片纹理使用更优质的压缩机制应该会成为大势所趋 ------1.3.1.2 映射方法 映射方法就是完成从物体顶点到数据源索引使用参数的转换过程 或者说根据物体的顶点坐标,以及数据源索引过程中使用的参数模型,通过一定的映射,为每个顶点分配不同的索引输入参数作为顶点信息的一部分 ---------1.3.1.2.1 顶点的坐标空间 物体的顶点坐标可以位于不同的坐标空间中,最主要的是物体坐标和世界坐标 如果顶点使用物体坐标,参与到映射方法中,那么物体移动旋转时,物体表面的贴图也会跟随物体一起移动旋转,或者说物体表面的纹理表现结果不会由于物体在世界坐标下的刚体变换而发生改变,纹理表现结果以物体本身为参照是固定的 而顶点使用世界坐标,参与到映射方法中,物体表面的纹理表现,就像是从世界中投影下的一样,当物体在世界中进行移动旋转时,物体表面的纹理表现结果会因为顶点的世界坐标改变而发生变化 ---------1.3.1.2.2 参数空间 我们使用投影方程完成从顶点坐标到参数空间坐标的转换 参数空间是我们对顶点坐标的一种重解释,或者说建立了一种新的坐标描述模型,参数空间决定了我们为顶点分配数据源索引输入参数(UV坐标)时所使用的逻辑 例如我们要进行平面投影,那么参数空间就是物体顶点沿一定法线被投影到某一平面上后的平面(x,y)坐标 而我们要进行柱面投影,那么参数空间就是顶点到柱底平面的高度h,顶点到柱面轴心的距离r,以及顶点与柱面轴心的垂直连线和柱面0度线沿柱面正延伸方向形成的夹角θ,所组成的(h,r,θ)坐标 对于立方体投影则是通过顶点相对投影立方体中心的(x,y,z)坐标中,由绝对值最大的一个坐标和其正负确定的使用立方体的那个表面的参数,以及另外两个坐标除绝对值最大的坐标再加1并除2映射到[0,1],得到的对应表面UV坐标 ---------1.3.1.2.3 投影方程、初相位、单位参数空间大小、参数空间姿态 投影方程的作用就是将物体的顶点坐标转换到参数空间坐标 因此投影方程和参数空间是相互绑定的,建立了怎样的参数空间,就应使用怎样的投影方程 而初相位这个概念则是投影方程在投影时,对于所有顶点坐标的运算结果的一个偏移量,或者说是参数空间对应的“标准虚拟体”的位置 不同的投影方程初相位会有不同的表现 比如使用平面投影,不同的初相位就是平面上确定原点的位置时的不同 使用柱面投影,初相位就是柱面在物体坐标下,轴心的位置确定,柱面底的高度确定,柱面的方位 使用立方体投影时,初相位就是物体坐标系下,立方体中心坐标 单位参数空间大小是不同参数空间,对于参数空间原点的一个“标准虚拟体”的大小,被投影到单位参数空间内的顶点,其UV值一定在[0,1]之间,而投影到单位参数空间外的顶点,其UV值则由其超出某一坐标的距离和标准虚拟体的大小产生的比例距离决定,且必定在[0,1]范围之外 不同的参数空间其“标准虚拟体”会是不同的形状,平面投影,标准虚拟体是一个长方形,柱面投影中是一个圆柱,立方体投影中是一个立方体 参数空间姿态,参数空间姿态指参数空间的“标准虚拟体”相对顶点坐标所在坐标系下的方位描述 投影方程与参数空间相互绑定,决定了我们分配数据源索引输入参数的方式,而初相位,单位参数空间的大小和姿态则决定了在同种分配方式下,顶点最终分配到的参数结果 ---------1.3.1.2.4 纹理空间 纹理空间就是我们管理数据源所建立的一种索引模式 纹理空间的坐标就是索引数据源数据使用到的输入参数 UV坐标是描述纹理空间的一种方式,而如果使用过程纹理,纹理空间就是那个过程函数,而纹理空间坐标就是过程函数使用的输入参数 立方体纹理(Cube Map)也是一种描述纹理空间的方式,立方体纹理是一种3D纹理,通过表面下标号和对应的表面UV值进行索引 纹理空间的描述要适应数据源的组成结构 ---------1.3.1.2.5 映射函数、寻址模式 我们通过映射函数将参数空间的坐标变换到纹理空间中,从而完成对索引输入参数的分配 然而对于索引输入参数,有时会有一定的限制要求,在使用UV坐标时就要求UV坐标必须在[0,1]之间(使用过程纹理可能没有限制) 映射函数的一大作用就是根据索引输入参数的限制要求,将不符合限制要求的纹理空间坐标映射回符合要求的区间内,称之为寻址模式 在使用UV坐标描述纹理空间时,寻址模式主要有重复寻址、镜像寻址、夹取寻址、边框寻址,效果依次如下,就不展开赘述了 ------1.3.1.3 应用方法 应用方法主要包括应用目标和值变换函数两大要素 应用方法由技术美术编写的shader决定, 应用目标是对于不同的贴图类型,索引到的数据需要应用到不同的表面属性,因此对于贴图需要做好类型的管理,将其对应到正确的应用目标上 值变换函数通常是在像素/片段元着色阶段,根据数据源中索引到的数据,将数据应用到物体表面属性变换中 ---1.3.2 纹理管线的工作流程1.选定描述顶点坐标的坐标系,在需要渲染时获取顶点的对应坐标 2.建立特定的参数空间(索引输入参数分配方式),通过投影函数将顶点坐标投影到参数空间 3.通过映射函数将参数空间的坐标映射到纹理空间中,对于不符合限制要求的纹理空间坐标按照一定的寻址模式映射至符合要求的范围 4.通过顶点的索引输入参数插值,得到像素/片段元对应的物体表面的索引输入参数,在数据源中利用索引参数索引到对应数据 5.通过值变换函数将数据应用到特定的表面属性参数变换中 一般情况下(使用图片贴图纹理,UV坐标纹理空间描述) 模型师需要完成的工作是对应纹理管线中的1到3步骤 技术美术需要完成/可以控制的是纹理管线中的4到5步骤,并且主要在像素/片段元着色阶段完成 Part 1.5 纹理贴图技术工作分配本着肯定要有隐藏章节的精神,这个章节我们来呈上启下的总结一下,就纹理贴图术,2D/3D美术和技术美术在不同情况下各自需要完成的部分工作 1.在使用图片贴图纹理和UV坐标描述纹理空间时 2D美术需要完成部分数据源的准备工作(主要是漫反射贴图准备),即图片纹理的准备工作并交付3D美术/模型师进行使用 3D美术需要完成部分数据源的准备工作(法线雕刻与法线贴图的导出),以及对接2D美术准备好的漫反射贴图,对模型进行UV展开,分配好顶点中的UV坐标信息(上文中1.3.1.2映射方法的对应工作) 还有就是模型师一定要命名好材质及贴图!!!不要使用默认命名的材质和贴图进行导出以免在后期使用中出现重名的麻烦,贴图命名中一定要加入该贴图的类型说明(DiffuseMap、NormalMap)帮助技术美术进行贴图的管理 技术美术需要管理好获取到的贴图文件,以及编写特定的插值方法和值变换函数更好的应用贴图中的数据(上文1.3.1.3 应用方法的对应工作) 2.使用过程纹理时 首先是数据源的准备上,既可以由模型师使用建模软件提供的一些过程纹理并将其导出为图片纹理,也可以由技术美术建立函数在程序运行时运算或是运行前渲染到纹理 其次是纹理空间的描述,如果由技术美术建立函数,可以沿用图片纹理中的UV坐标作为函数的参数输入,技术美术也可以建立其他的纹理空间描述模式以达到特定的效果 如果沿用图片纹理中的UV坐标作为纹理空间描述,仍需要建模师进行UV展开,分配顶点的UV坐标信息。如果使用的过程纹理由技术美术建立函数实现,那么模型师一定要与技术美术及策划商定,模型表面的过程纹理的疏密关系,过程纹理的连续/断开位置 在调整UV时可以使用替代纹理对疏密关系,纹理连续/断开进行检查 ---2.0.0 我们为什么要进行贴图调整 前文中已经提到了,由于UV坐标信息需要作为顶点信息的一部分,就像顶点的位置法线方向一样,作为资源信息储存在顶点中,因而UV坐标的调整需要由建模者来完成 其次是在进行纹理表现时,由于我们建立的物体本身顶点中并没有默认UV坐标,或是原有的UV坐标不满意,需要进行手动调整,使得图片纹理能够更好的适配在物体表面上 ---2.0.1 在3dMax中引入贴图 UVW展开修改器是我们进行UV展开是主要使用的修改器 UVW展开修改器主要作用于物体表面的多边形面,并为组成多边形面的顶点分配UV坐标,因此应针对已经被转换为可编辑多边形/可编辑网格的物体使用(一般多为可编辑多边形,由于可编辑网格中会强制分割出三角面) UVW展开修改器只能利用物体现有的多边形,边线,不能自行创建/修改物体的结构布线,即UVW展开修改器只改变顶点中的UV坐标,而不改变物体的结构 ---2.1.1 面片展开法(拆片展开法)我们可以将物体上需要使用连续纹理的一部分使用面片展开法 首先为物体添加UVW展开修改器,并进入到多边形子层级 打开UV编辑器,拾取到我们需要调整的图片纹理 我们选中物体上需要使用连续纹理的一部分多边形,通过投影选面板指定一种投影方式(即上文中的一种参数空间),调整投影方式与选中多边形面的法线方向适配(即上文中调整参数空间的方位),再次点击亮起的投影方式按钮,完成对选中多边形面的参数空间类型的指定 其余的参数空间初相和参数空间的大小、方位我们可以在UV编辑器中对选中的平面进行移动、旋转适配贴图上的纹理位置来完成调整 UV编辑器中显示的多表现和物体表面的多边形一一对应,UV编辑器中的多边形就是物体表面的多边形被转换到纹理空间后的放置表现 之后在UV编辑器中进行多边形与图片纹理的位置适配操作(见2.1.3) 在使用面片展开法时,我们每一次选中并指定参数空间的多边形会尽可能的被连成一片进行展开(除非它们本身在物体表面不连续),而不同次选中展开的多边形之间一定会被拆分开形成UV接缝 ---2.1.2 部分展开法我们在使用UVW编辑器时,需要拾取一张纹理,并对所有多边形做出调整 但在我们建模的过程中,一种情况是我们通过多维子材质,在同一个多边形内部指定了多张贴图,贴在了不同的多边形面片上 由于UVW编辑器需要一次性对所有多边形进行调整(即使不调整,多边形上的顶点UV信息也会由于我们添加UVW修改器产生变化)而我们在调整时一些使用了不同贴图的多边形就需要我们反复切换UV编辑器中的贴图拾取,并且使用不同贴图的多边形可能在适配中在UV编辑器中发生重叠,影响调整,一些多边形并不使用贴图,但也会在UV编辑器中被显示,产生干扰 此时我们可以采用部分展开法,对使用同一张纹理的每一组多边形进行依次的UV展开 我们可以利用UV编辑器的展平贴图命令实现快速的贴图展开 自动展平贴图对于棱角分明的物体十分好用,一些需要特别分割的部分我们可以加入材质ID分割,但有时自动展平可能拆的过于细碎,此时需要我们手动对一些需要连续但被拆碎的面进行选中,指定参数空间将其组合,或是不使用自动展平UV进行手动拆分 进入多边形子层级,选中一定的多边形,点击贴图-->展平贴图 如果我们先有贴图,再按照贴图的纹理结构进行建模,就需要在UV编辑器中进行贴图的适配操作 ------2.1.4.1 对应关系与调整原则 UV编辑器中显示的多表现和物体表面的多边形一一对应,UV编辑器中的多边形就是物体表面的多边形被转换到纹理空间后的放置表现 3D空间中对应多边形上出现纹理信息,就是我们在UV编辑器中看到的多边形覆盖的部分纹理(如果多边形不在标准单位图片内部,则根据其位置和寻址模式找到对应的纹理)我们调整UV编辑器中的面片去适配图片纹理,就是设定参数空间的初相,大小,方位的一个过程,不过3dMax通过UV编辑器的封装,让我们可以直观的看到纹理适配效果的表现 通常情况下,我们的调整原则是将所有的多边形都放置到标准单位图片位置内部,这样顶点中的UV坐标才能保证在[0,1]之间不会出现越界问题 一些利用越界和寻址模式实现的重复效果,我们通常使用BitMap参数调整来实现,在UV编辑器中我们应将多边形放入到标准单位图片的位置内,以免UV坐标越界而出现无法预计的贴图纹理适配情况 ------2.1.4.2 两种快速选择操作 对于需要一起进行适配操作但不连续的部分,我们可以使用打组命令 ------2.1.4.3 移动/旋转/缩放/万象 ------2.1.4.4 镜像翻转 我们可以先建立模型,对多边形进行UV展开,之后将多边形按一定的规格在标准单位图片内部进行排列 之后导出UV模板,在PS GIMP一类图像处理软件中,以模板作为参考进行贴图的绘制 我们再将绘制好的贴图在3dMax中进行引入即可 ------2.1.5.1 使用自动排列命令排列UV模板 UV编辑器为我们提供了快速自动排列多边形到标准图片内部的一些命令 首先选中我们需要进行快速排列的多边形,不选则任何多边形视为全选 一些命令中可以加入重缩放在排列的同时,将多边形缩放到与原比例(在物体表面上的多边形比例)相同,通常启用重缩放命令保证多边形的比例与物体表面相同,方便贴图绘制 旋转(2维空间内旋转,不造成翻转)的启用于否会决定在自动排列时能否适当旋转当前的多边形以获得更好的排列效果,根据情况选择是否启用旋转命令 填充会控制多边形之间的间距大小 重缩放+紧缩在一起可以让元素缩放到平均大小(缩放后多边形大小比例与在物体表面上的大小比例一致)之后再紧缩排列 重缩放+紧缩规格化 会将所有元素缩放到同一大小(缩放后多边形大小比例与在物体表面上的大小比例一致)并保证能够排列在标准单位图片内部 也可以手动设置自定义紧缩方法(不常用) ------2.1.5.2 手动排列UV模板 事实上我们经常使用自动排列+手动排列的方式,导出便于绘制的UV模板 手动排列整齐后再全选进行移动和缩放,将多边形放入标准单位图片内部 ------2.1.5.3 人脸UV模板调整 人脸UV模板需要对面部使用松弛命令,尽量让嘴唇,眼睛能够使用更大的绘制空间进行绘制,避免空间不足导致产生锯齿,或是无法进行精细的绘制 人脸UV通常会使用剥方法(见下)完成UV展开 在UV编辑器中我们可以通过枢轴来调整展开面片的拉伸形态 ------2.1.5.4 导出UV模板的设置 ------2.1.5.4.1 导出检查 首先我们应保证导出的UV模板没有错误的重叠和翻转,以免在贴图绘制以及之后的使用中带来麻烦 可以通过选择-->选择反转多边形/选择重叠多边形 进行检查 ------2.1.5.4.2 导出设置 首先保证所有多边形排列在标准单位图片内部,且没有错误的重叠和翻转 展开UV的过程中,多边形会被我们按照一定的方式分开 多边形若在原物体表面是连续的(有公用边),而在UV展开时被拆分,则它们的公用边就称之为UV接缝 有时我们按照一顶的方式拆分多边形后,如果需要在多边形的相接处表现一定的纹理,为了方便绘制,此时我们就需要进行UV接缝的缝合 但缝合命令可能导致多边形被扭曲,因此我们可以使用栅格+捕捉,先将需要缝合的边对齐,之后再进行缝合 在选定参数空间进行投影时,难免会出现多边形在投影后发生扭曲(法线方向不一致),导致我们尽管在UV编辑器中进行了适配,但纹理表现产生扭曲 剥方法会尽可能的保证多边形按照原法线方向的平面进行投影,尽可能的将多边形展开成平面,在转换到参数空间后不会发生多边形的扭曲 ------2.1.7.1 编辑UV接缝 在视图中我们可以看到这些绿色的UV接缝,在UV展开的过程中会以他们为分界来分割多边形 或者说物UV接缝就是在拆分体表面时“被剪开的边” 我们可以通过手动编辑UV接缝,并按照UV接缝进行展开拆分出多边形,称之为剥方法,使用剥方法就类似于剥皮的一个过程 对所有多边形都使用与其平行的平面作为参数空间,在UV接缝处进行分割,非UV接缝处将多边形进行缝合,从而将一组多边形展开为二维面,就像从表面剥离下来的一样,再将展开的二维面转换到纹理空间 通过编辑预设接缝,在进行剥命令时,多边形就会按照接缝尽可能的进行展开铺平 ------2.1.7.2 快速剥命令 ---------2.1.7.2.1 接缝快剥 ---------2.1.7.2.1.1 预设接缝快剥 我们可以编辑好预设接缝,之后对选中的多边形按编辑的预设接缝进行剥离,尽可能的将多边形展开铺平 对于没有选中的多边形也会执行剥命令,剥命令一定作用于所有多边形,可以利用这一点通过选中部分多边形来制造UV接缝选中多边形和未选中的多边形内部将以预设接缝为UV接缝,对多边形进行展开,选中和未选中多边形相交的地方会自然形成接缝 ---------2.1.7.2.1.1 剥模式快剥 ---------2.1.7.2.2 投影快剥 选中一部分我们需要进行剥离的多边形,之后我们指定一种投影方式(选择参数空间) 除平面投影外不同的投影方式都有自己独特的接缝 我们可以选择一种比较符合选中多边形排列的投影方式,并在此基础上再进行额外的UV接缝编辑并使用剥命令 与只使用投影命令不同,投影命令可能产生多边形在投影过程中的扭曲,导致纹理表现出现无法适配的扭曲 而剥命令会尽可能的保证多边形被平行的投影进参数空间,不发生扭曲 ------2.1.7.3 毛皮命令 一个比较古老的剥离命令,当前快剥已经足够强大了,毛皮命令作为最早的剥离命令已经很少使用了 毛皮命令就是按照预设UV接缝,模拟真实的“手撕剥皮”的过程 毛皮命令只作用于选中的多边形 毛皮命令要求选中的多边形内部预设接缝必须连续,否则只作用于最长的预设接缝,而对其他预设接缝使用快剥 在UVW展开修改器下没有了多边形中的环形线性选择,元素选择,点边面的选择转换,选择多边形只能框选,有些不方便 我们可以利用可编辑多边形中的一些快速选择方法,并将需要进行连续展开的多边形按材质ID进行分割 之后在UVW展开修改器中使用可编辑多边形分割好的材质ID进行快速选择 注意UVW展开修改器是不可预知命令,如果在可编辑多边形中修改了物体拓扑结构可能导致UVW展开修改器原有的UV展开修改出错 尽量不要反复在UVW展开和可编辑多边形之间进行来回切换 如果我们选择了可编辑多边形子层级下的某一个子对象(尤其是在选择了一个多边形面的时候),此时选中UVW展开修改器返回UVW展开修改,会导致UVW展开修改器进入到该子对象的堆栈中,而不是可编辑多边形的堆栈,此时就是前面所说的部分展开的情况,UVW展开修改器将只能作用于选中的多边形而不是整个物体 我们可以利用多维子材质,在同一个物体上使用不同的贴图,利用贴图通道进行区分,并对不同的贴图使用UVW展开或是UVW贴图,对物体表面进行不同的UV展开进行适配 如果有多套UV调整命令(UVW展开、UVW贴图)使用了同一通道标号,物体顶点最终的那以套标号的UV由栈顶的那个UV调整命令决定 但请只使用贴图通道1,因为其他贴图通道的贴图在物体导出并导入到Unity中时无法被正确的识别 因此通常我们使用材质ID区分贴图,并使用部分展开法进行每组多边形的贴图适配调整 ---2.1.10 其他使用技巧1.好用的冻结 有时我们并不需要对图片贴图进行“精细的调整”,UVW展开修改器固然强大,但有时我们只是“想把一张图片贴在物体表面就好”,对于顶点中的UV我们并不需要进行太过精细的编辑 在我们并不使用这种模板化的贴图 而只关心如何将一张完整图片的贴在物体表面并产生一定的效果时 此时使用UVW贴图修改器进行快速的UV展开是一个不错的选择 ---2.2.1 UVW贴图修改器的作用及原理 UVW贴图修改器的作用就是为整个物体/对象指定一种参数空间(UVW展开修改器则可以对不同的多边形使用不同的参数空间),通过对参数空间的标准虚拟体进行一定的调整,从而达到适配贴图纹理的作用 UVW贴图修改器的参数空间将针对整个物体上的所有多边形一同指定,并且只能通过调整虚拟体来进行贴图的适配,不能精确的编辑每个顶点的UV坐标 ---2.2.2 使用UVW贴图修改器进行快速UV展开 UVW贴图修改器可用搭配部分展开使用,我们可用选中一部分多边形对其添加UVW贴图修改器,或是对整个物体添加 我们可以通过下面这组参数来快速设置图片的重复和翻转 我们可以通过BitMap的参数调整来改变这张图片本身,BitMap参数调整相当于一个图像处理的过程,但功能比较有限,一些复制的图像处理还是要借助像PS GIMP这样的图像处理软件 越界寻址模式被放在BitMap参数中(并且它也经常和纹理绑定在一起,至少Unity中也是在图片属性中设置寻址模式) 0.一些注意事项注意我们对图片参数进行一定的调整后,有时需要通过渲染图来确认最终结果,视图中的显示已无法反应最终结果注意高维空间的旋转在投影至低维后表现为缩放效果,沿UV方向的旋转就会产生类似缩放的效果 7.噪波输出设置可以对图片的一些通用属性进行调整 反转:补色反转 输出量:饱和度 RGB偏移:灰度 RGB级别:明暗亮度 我们可以使用一段视频作为贴图,时间卷展设置可以设置视频纹理的一些播放参数 Max为我们提供了一些有用的内置的贴图,并且这些贴图更像是模板一样,我们可以“进行一些模板化的编辑”,贴图嵌套就是利用内置贴图的技法 ---2.4.1 几种常用的内置贴图 之前提到的棋盘格贴图 内置的木纹大理石贴图 渐变与渐变坡度贴图 ---2.4.2 贴图嵌套的概念 像棋盘格/渐变/渐变坡度,它们其实提供了一个模板位置 我们可以将它们的颜色所在的模板位置替换为我们想要的一张贴图 一般在使用了嵌套贴图后,视图将无法反应最终效果,需要通过渲染来进行确认 嵌套贴图各层可以指定不同的贴图通道,贴图通道的应用只对该层有效 各层也可以只使用一个贴图通道 ---2.4.3 渐变贴图 渐变贴图可以形成前中末三次颜色的转折变化,并且可以调整中间颜色的转折位置,颜色可以用图片替换模板位置 ---2.4.4 渐变坡度贴图 渐变坡度贴图是渐变贴图的一个升级版 视口绘制可以在三维物体上进行一定的纹理绘制效果,但绘制功能比较有限,通常只作为对PS GIMP进行贴图绘制的提示 然而有一个问题,在PS GIMP中绘制时,我们并不能即时的查看UV模板上多边形与实际物体上多边形的对应关系 我们不能指望画师能够通过UV模板想象出三维物体的具体形态,并将纹理绘制到正确的位置上,事实上我们应该给画师一点提示 首先我们先将UV展开为需要的效果,并进行UV模板的导出调整 之后在渲染UV模板时记录图片纵横比,此时通常直接使用1024*1024或其他 2^{n} 为编程的正方形贴图 不使用PS则可以保存PSD文件用其他图像处理软件打开,根据绘制提示完成纹理绘制,之后将图像导出,在3dMax中引入即可 没错我就是要用GIMP这么优秀的图像处理软件 PS吃相是真难看... /* 终于把坑填完了... 收藏不点赞就是白嫖,这种行为必须杜绝 顺带点个关注不迷路嘛\(@^0^@)/ 欢迎各路神仙留言指正或是赐教一些我不知道的点 鄙人先谢为敬 这里是Randy 一位学土木的游戏程序员想成为全栈独立游戏制作者 2019/08/15 13:38 */ |
CopyRight 2018-2019 实验室设备网 版权所有 |