介绍有关平滑的多边形模型的一些知识
来源: 作者:admin
各位好。以下是一片翻译教程,这虽然不是叫你一步一步制作的教程,单是是一片非常好的教程。
概要
I. 简介
II. 什么是平滑的多边形模型
III. 为什么使用平滑的多边形模型
优点
简易性
直观的界面操作
高速的生产效率
内嵌多层次的细节级别
一张纹理贴图可适用于整个角色
纹理贴图的所有区域互成比例
缺点
需要在模型上布置UV坐标
在使用colorLayout以后,不能够添加或去除多边形边界
在某些情况下,模型分辨率可能不够高
相对于其他形式的模型表面, 在镶嵌细分时,缺少控制
与Maya的Fur模块结合得不太好
纹理接缝问题
IV. 与平滑多边形模型相关的技术问题。 以及如何使用历史节点和MEL脚本解决这些问题。
问题1
在平滑以后,蒙皮时要处理过多的多边形表面顶点
解决办法1
先蒙皮低分辨率的多边形网格, 在蒙皮簇skinCluste下添加polySmoothFace节点, 所有融合变形须加在skinCluste 之前。
问题2
大于4个顶点的多边形面, 在平滑后可能产生不好的结果。
解决办法2
建模时使用四边或者是三角形面片
问题3
在添加了polySmoothFace节点后, 会发生UV坐标扭曲的现象。
解决办法3
在polySmoothFace节点下,使用投影节点。 并把UV坐标布置在参考物体上。可使用如下MEL脚本,加快你的工作进程。 autoColor, autoProject, and autoShellAssign。
V. 如何把你的模型提交给角色设置动画师
1 产品生产流水线
2 如何合并相关的UV参考文件及设置文件。
3 隐藏和锁定UV参考文件。
创建高分辨率多边型模型
I. 概述
本教程关注的是如何在Maya4。5中, 使用平滑的多边形几何体创建高精度的模型。 我们要讨论的是: 对比与其他类型的表面,多边形这种模型表面的优缺点。我们还要讨论与平滑多边形模型相关的技术难点。我们将使用自己编制的MEL脚本和历史来克服这些技术难点。最后我们将讨论如何将这种类型的模型应用于产品的生产线中。 同时将提供一些技巧,展示如何与角色设置艺术家协同工作,把模型及纹理贴图很好的合并到一个组织严密的角色文件中去。
II. 什么是平滑的多边形模型
我们这里所指的平滑多边形模型是在它的历史记录中,具有可调polySmoothFace节点的低分辨率的多边形网格。在Maya的建模模块的主菜单上,通过选择Polygons>Smooth命令,即可创建平滑的多边形。为了能用低分辨率的多边形网格控制高分辨率的网格,通常我们使用的技术是连接此俩多边形网格的形状节点并且平滑作为目标的多边形网格。此外,有一些免费的MEL脚本也可做同样的工作。例如: Dirk Bialluch 写的connectPolyShape (CPS)。 或者可以直接编辑低分辨率网格,然后添加polySmoothFace节点,当需要重新编辑低分辨率网格时, 使用deleteInput MEL脚本删除平滑后的多边形网格。
这里所说的目标网格,也就是平滑后的网格仍然是多边形网格。在使用平滑(Smooth)命令以后,会有一个polySmoothFace节点存在于此物体的历史记录中,同时网格的密度会变密。通过控制polySmoothFace这个节点, 我们可以获得各种细节级别的模型, 而不需用手工去添加。 但是,执行了平滑命令以后, 不要在原始模型上删除任何控制顶点, 否则会产生意想不到的结果。
需要知道的是,在Maya 4。5中, 目前有基于两种不同的算法机制的平滑算法。 我在这要使用的是指数性的平滑算法, 因为这种算法能够很好地与我们将要用到的一些MEL脚本相兼容。 所以,在我的Maya的平滑命令设之中, 我选择指数算法(exponential)。
III. 为什么使用平滑的多边形模型
优点:
简易性
在三维图形领域, 多变型是一种最古老的模型表面。 所见既所的是他的一大长处。 不需要额外的镶嵌细分和参数划设置。 并且, 相对于Nurbs等类型的模型, 他只需要较少的计算量。
直观的界面操作
绝大多数的三位艺术家都可在几天之内完成一个多边形模型。 因为对于多边形模型来说, 不存在面片连续性的问题, 不需要缝合表面。在建模过程中, 可很方便,很容易地添加边, 面等。 通常来说,在建模时,先从一个基本的几何模型开始,再逐步添加细节,是提倡采用的方法。但是对于多边形模型来说,对这种建模的顺序的要求可相对松一些,也不至于导致不可预想的结果。而Nurbs模型,则对此要求较严,必须经过大量的实践和高度的操作技巧来张握这种正确的建模顺序。所以多边型建模更直观容易。
高速的生产效率
使用平滑多边形建模的方法相对于Nurbs面片的建模方法来说要快速。绝大多数模型在一至两天内即可完成。
内嵌多层次的细节级别
在Maya中,polySmoothFace节点的细划分属性可在任何需要的时候调解。这个内嵌的多层次的可调节细节级别的属性,可使我们根据摄影机到模型距离的不同需要,任意调节模型的分辨率。
一张纹理贴图可适用于整个角色
多边形模型允许使用一张纹理贴图覆盖整个多边型角色,这样, 在使用PhotoShop这样的软件处理纹理贴图的时候要方便和容易得多。而不用象Nurbs面片模型,需要处理多张纹理贴图。
纹理贴图的所有区域互成比例
使用我们自己编织编制的MEL脚本autoProject,可以在Maya的UV纹理编辑器中, 保证每一块UV坐标分块互成比例。这使得整张纹理贴图的缩放,在整个模型表面保持连续。
缺点
需要在模型上布置UV坐标
Nurbs面片模型的UV坐标是内置于Nurbs几何体的,一旦建模完毕,可直接提供给贴图艺术家使用。但是多边形模型必须在它贴图之前,被人工分配UV坐标系统。这个手工分配UV坐标的过程,有时会使整个生产进度增加数小时甚至是数天不等。
在某些情况下,模型分辨率可能不够高
尽管我们作了很大的努力,把UV纹理编辑器紧密集成,我们还可以多次使用一张纹理图的某些区域,但是多边形模型几乎总是不能充分使用所有的纹理空间,总会有一些纹理区域没有被用到,这将导致用于平滑多边形的贴图要大于在同样情况下用于Nurbs的贴图。如果要想达到同样的分辨率水平。
在平滑等级2的情况下,多边形数太高
相比Nurbs模型,使用平滑多边形模型会导致失去和多控制。在平滑等级1的时候,模型看上去有些面片的痕迹。但到平滑等级2时,多边形数以指数形式增加,造成多变性面过多,甚至超过我们的实际需要。
与Maya的Fur模块结合得不太好
多变形这种形式的模型与Maya的Fur模块结合得不好。极大的限制了在此种模型上直接绘制各种中皮毛笔刷的能力。在这一点上,Nurbs模型要好得多。
IV. 与平滑多边形模型相关的技术问题,以及如何使用历史节点和MEL脚本解决这些问题。
范例文件:CylinderSkinExample_01.mb
问题一:在平滑以后,蒙皮时要处理过多的多边形表面顶点
一旦对多变形网格施加了平滑命令并且删除了历史节点,要想绑定这个几何体到骨骼上将会非常困难。尽管在技术上有这种可能性,可对所有的多变形表面定点设置权重,但这可是一项非常艰巨和效率低下的任务。
解决办法1
先蒙皮低分辨率的多边形网格,在蒙皮簇skinCluste下添加polySmoothFace节点,所有融合变形须加在skinCluste 之前。
解决办法是在执行平滑命令前,先绑定低分辨率的多边网格。这样,可以只处理低分辨率模型的权重问题,然后再执行平滑命令。但要注意,如果需要为模型添加一些融合变形,此变形节点一定要加在蒙皮权重的skinCluster之前。
问题2
大于4个顶点的多边形面,在平滑后可能产生不好的结果。
在执行平滑命令时,大于四边形的面片,会产生不可预想的结果。更糟的是,在动画模型时,模型网格会产生“爆裂”的现象。
解决办法2
建模时使用四边或者是三角形面片。基于以上原因,建模时应优先考虑使用四边或三角形面片,尽可能不用N边形面片,一点要避免在变形厉害的区域,如,嘴,肩和膝盖等区域使用。在此我们提供了一个Mel脚本,可以根据多变形面片的边数来用颜色区分不同边数的多变性面片,四边形为绿,三角形为兰,其他为红颜色。
问题3
在添加了polySmoothFace节点后,会发生UV坐标扭曲的现象。
添加了polySmoothFace节点后(执行平滑命令后),在UV编辑器中,如果你仔细观察,你会注意到原有UVs坐标仍保持在原来位置。但是由于同时发生了UV坐标的细划分,所以会创建出新的UV边界,这正是问题所在。此时的UV坐标,与其应该达到的理想情况相比会显得混乱。如果你再仔细地观察一下,你会发现,此时的UV坐标并不准确地符合现在的多边形网格。你现在的多边形模型的网格是平滑弯曲的,而现在的UV坐标仍然保持直线的,正是这个原因,引起了UV坐标的扭曲。这个扭曲的程度,会根据你的原始模型的不同,从很轻微甚至到很严重。
解决办法3
布置UV时,在polySmoothFace节点后应用投影坐标节点。同时可使用我们提供的Mel脚本:autoColor, autoProject, and autoShellAssign来加快整个工作进程。
在polySmoothFace节点后面使用多边形投影坐标,将减少这种UV坐标的扭曲。因为,在历史纪录里,由于投影节点是在平滑节点后面的,所以它将根据多边形平滑级别的不同而自动更新,所以会精确符合我们的模型网格。所创建出的UV坐标,也会随着平滑级别的不同而自动更新。
如果我们需要进行贴图工作的的模型完全是平面的,这个工作会比较容易完成。只需要做一次投影就可以了。但是,我们更多处理的是那些曲面模型,它上面的面片分别指向不同的法线方向。当面片的法线方向与我们坐标的投影方向有很大偏离时,如何处理避免贴图纹理的拉伸?
在这种情况下,我们需要用来自不同方向的多个UV坐标投影,来克服纹理的拉伸问题。就是说,不同的面片需要从对他们来说相对最有利的投影方向来获得UV坐标。例如,一组面片的法线方向向下指向Z轴的负方向,我们需要用朝向Z轴的正方向的投影。同理,指向X轴的负方向的一组面片,需要用朝向X轴正方向的投影。
但是,接下来的问题是,如何把一些面片包括在这个投影中,把另外一些面片包括在另一个投中。在比较复杂的多边形模型中,我们需要一个办法,来选择这些面片,并且告诉Maya从哪个方向上对他们进行投影。通常,大家的做法是:先平滑这个多边形模型,然后在这个平滑后的高密度多边形网格上选择出一组面片,然后进行投影。但是,要想在一个很高密度的多边形网格上进行选择,是一件较困难的事情,。另外,此时创建的UV坐标,也只适用于这个平滑后的多边形网格,这样的话,在添加polySmoothFace节点后,我们反而失去了对模型不同细分界别的控制。
我们给出的解决办法是:在添加polySmoothFace节点之前(执行平滑命令之前),先在低分辩率的多边形网格上创建‘选择组“(selection sets)。首先在低分辨率的模型上,划分出若干个区域,并为他们建立不同的选择组。对不同的区域我们将在以后使用不同的坐标投影。然后对模型加载polySmoothFace节点,把它变成平滑模型。在平滑以后的模型上,我们先前做的选择组内,将会同时也把因为执行了平滑命令而产生的新的面片包括进来。所以这就给我们提供了方便,我们只需要在低精度的模型上进行选择的工作,而我们所创建的选择组,将根据模型的不同精度自动地更新。这样,我们可以在polySmoothFace节点上,同时也保留的对不同精度的控制。
在建立‘选择组’时,使用常规的方法并不是很方便。因为在你若想把面片包含在你的选择组中,你就必须先选择它。所以这不是一个快捷的方法。因此,在这里我们将使用一种特殊形式的组,来简化我们建立‘选择组’的工作。这个特殊的‘组’,我们暂且称其为‘材质组’(Shader Group)。使用这种材质组的好处是:由于它是与材质的滤光器节点相联系的,我们就可以改变这个材质的颜色,使模型在阴影显示模式下,给我们一个更好的视觉展示。就是说属于不同‘组’的表面,我们可以分配给它不同的颜色。当我们分配给某一些表面一个材质的时候,就自动地迫使它们进入相应材质的“材质组”。而且,任意面片只能属于某一个‘材质组’,要是分配给它另外一个材质,它将被当前的材质组清除,进入着另外的材质所属的材质组。所以,在我们划分选择组,并为它们设置投影坐标时,这的确是一个非常好的方法。
手工地在整个在平滑的多边形模型上,建立‘材质选择组’,布置UV坐标的操作过程
1 在低精度的多边形网格上,根据多边形面片的法线方向为它们分配不同颜色的材质。
2 然后对此模型,添加polySmoothFace节点,使其细分级别为2。
3 选择某一个‘材质选择组’,中的所有面片,并根据它们的最有利的法线方向,为其分配投影坐标。这样一次一组地为所有的面片分配好UV坐标。
4 在模型的polySmoothFace节点属性上,把细分级别设回到0。
5 在纹理编辑器窗口中,每次选择一个投影的UV坐标,依次地把所有的投影的UV坐标分布开来。此时,应注意让所有的UV坐标壳体既相互分割开来,又尽可能地相互靠近。
6 现在,就可以为整个模型分配一个材质。
7 删除没用的节点。
尽管以上的手工方法,对于我们的高精度多边形角色的布置UV坐标的工作是可行的。但是,手工地为每一多边形面片分配材质、着实是一件高强度的,枯燥的体力劳动。同样,为每一个面片分配材质的工作也是一个即慢而又非常重复性的工作。所以,我们给出以下的Mel脚本来帮助我们完成这个工作。使我们能省出更多的时间来进行纹理绘制的工作。这就是我们下面介绍的自动化的工作方法。先介绍我们要使用的Mel脚本。
1 autoColor:
这个脚本会自动创建6个不同颜色的材质,分别叫作: Xpositive, XNegative, Ypositive, Ynegative, Zpositive, 和 Znegative。同时自动评估多边形模型上每一个面片的法线方向。根据评估结果,自动分配以上6个材质中的一个给相应的多边形面片。
autoShellAssign:
这个脚本可以把上一个脚本autoColor所创建的材质划分开,并为每一块划分开的壳再自动分配一个材质。同时保留相应的颜色信息。这些颜色的信息可以用来指导以下的autoProjection脚本创建UV坐标投影。
autoProjection:
根据以上脚本所分配的颜色信息所指示的方向,自动为autoColor脚本所创建的,属于不同‘材质组’的模型面片投影UV坐标。例如,属于Xpositive‘材质组’的面片,将会从X轴的正方向上获得一个UV投影坐标。
GraphFaceMaterials:
此脚本将把一个多边形面片的表面材质标识出来。因为尽管你只选择了模型上的以一个面片,但是Maya自带的标识材质的功能会把整个模型表面上的所有材质标绘出来。使用这个脚本,可以使你只标识出所选择的面片上的材质。
scrollUp:
在模型的建造历史中,选择下一个UV投影节点。
scrollDown:
在模型的建造历史中,选择上一个UV投影节点。
selectProjection:
此脚本用来选择某一个面片所属的UV坐标投影,这个UV坐标投影是上述的脚本所自动创建的。
在整个在平滑的多边形模型上,使用自制的Mel脚本自动地建立‘材质选择组’,布置UV坐标的操作过程。
1在低精度的多边形网格上,运行autoColor脚本
这一步的目的是,把事先已经分配好颜色的6个材质分配给我们的多边形物体。每一种颜色,代表一个坐标投影。而颜色也表示这个坐标投影是从哪一个方向上来的。例如,Zpositive材质为浅蓝色,通过在现在的模型上进行观察,我们可非常容易地说出,那些具有浅蓝色的模型面片是从
模型的前面获得坐标投影的。
2对上面一步中分配好材质的面片进行编辑,优化
进行到这一步,你应该停下来,仔细观察一下多边形的面片上的颜色。要保证每一个面片都获得了来自你所希望的方向上的投影。如果有哪一块面片,你认为用其他方向的投影更合适的话,选择这个面片,并为它分配相应的材质,在进行这一步调整的时候,应该尽量减少材质接缝的出现。要知道autoColor脚本只是用来做一个开始的准备工作,而最终的结果,需要你自己根据模型面片的方向来调整。
3运行autoShellAssign脚本,为上述的每一个分割好的UV坐标壳体。再做一次划分,并分配相应的材质。
如果你操作完第二步以后,就马上平滑你的多边形网格,并使用autoProjection来投影UV坐标,你会观察到,此时会创建6个坐标投影,尽管你也可以得到精确的UV坐标,甚至是极小的纹理拉伸,但是,你会观察到,在模型的某些部分,会出现UV坐标的交叠。这将导致你将来的得贴于出现重复。如果你是有意识地使你的纹理贴图产生重复,使用这些交叠的Uv坐标可以使你重复利用纹理贴图的某些区域。这不是件坏事情。所以到此为止这也不是什么问题。但是,如果你不希望产生这些交叠,你希望能够在将来移动某些独立的UV坐标壳体,以避免这些交叠,就要进行这一步,使用autoShellAssign脚本。
这个脚本是用来为我们已经分配了材质的6个材质组再进行一次细划分,同时为这些更细的划分分配不同的材质。因为这次细划分所分配的不同材质,会在将来使用了autoProjection脚本后,也最终变成不同的投影坐标。这样,我们就可以把通过只有6个材质的划分所产生的UV坐标壳体,根据这次的细划分的结果,细分为更小的UV坐标壳体。从而防止UV坐标交叠的产生。尽管,这也许还不能防止所有的UV坐标交叠的发生,但是,它已经能够解决绝大部分的UV坐标的交叠问题了。
4把所有即能够使用同一个坐标投影,又不至于产生UV坐标交叠的壳体的‘材质组’结合起来。使用graphFaceMaterials脚本,可以使我们通过相应的材质来找到找到单个壳体。
尽管autoShellAssign脚本可以使我们尽可能地防止UV坐标交叠的发生,但是这个脚本所作的工作有些过分的倾向。因为,并不是我们的多边形物体上的所有UV坐标壳都需要有自己的单独的坐标投影,如果是这样,会使我们的多边形模型有太多的历史纪录,从而导致我们的工作提前完蛋。所以在这一步中,我们要通过使用这个graphFaceMaterials脚本,来发现那些材质是属于哪一些壳体的,并且尽可能地合并一些壳体,尽可能地减少所使用的材质的数量。
5为多边形模型使用polySmoothFace 节点,即使用平滑多边形命令,设置平滑级别为2
在执行平滑多变性的命令时,一定要保证使用指数型平滑算法。因为,在这里介绍的投影坐标方法,不能保证使用线性平滑算法而得到的模型,在平滑以后也能够正确地自动地更新UV坐标。另外要注意的是,在执行平滑命令时,要考虑到将来你实际需要的最大平滑等级。在投影坐标之前,使用这个最大的平滑等级来平滑你的模型。通常,等级2组可满足需要。
6根据以上步骤创建出的‘材质组’,运行autoProject脚本来投影UV坐标
这个脚本在执行过程中,将依次选择属于不同‘材质组’中的多边形面片,并根据此‘材质组’的名称,为它们创建一个投影坐标。例如,Z negative‘材质组’将会从Z轴的负方向上进行投影,要注意的是,因为此脚本是基于‘材质组’的名称进行工作的,所以不要修改者个材质组的名称,否责会导致工作失败。
7将模型的polySmoothFace节点的细分属性,设置回0级别
通常,模型在细分级别为2得情况下,会非常‘重’,在这里把细分级别设置回到0,会使今后的工作变得容易得多。
8使用scrollUp,scrollDown和selectProjection脚本,选择单个的投影坐标,将他们分割开来,使它们不再有交叠。同时应用projection size属性,调节各个UV坐标壳体,使他们尽量相互靠近在一起。
依据你模型的复杂性的不同,和在上述第4步中,你所做的结合‘材质组’的工作的不同,现在在你的模型的历史记录中,会出现相当数量的坐标投影节点。但要注意的是,要保证在历史记录中,polySmoothFace节点在先,其他的投影节点在后。
如果你现在在UV纹理编辑器中观察,你可以看到,你的模型上已经有了UV坐标。但是,因为所有这些坐标投影图形的坐标中心的X、Y值都是0.5,所以它们都堆在一起,相互覆盖。所以需要在这一步的工作中,把这些UV坐标的壳体相互分开。另外,观察每一块UV坐标壳体,你还发现有的太大,有的太小,所以现在也是一个好的机会,调整它们的尺寸,使它们能够均匀分布于整个纹理空间,充分利用纹理空间。
如果你现在选择你的模型,同时观察通道栏属性,你会发现在通道栏的visibility属性下面有多加了一个projection size属性。这个属性是我们在使用autoProjection脚本是添加的。我们可以调节这个属性,使我们模型的UV坐标适合纹理空间。如果你选择所有的UV坐标投影一起调整,会使它们成比例缩放,这回保证你的纹理贴图在整个模型表面上保持一致。同时也会有助于你减少纹理接缝。
如果你现在选择第一个坐标投影,同时按下T健,你会看到,在UV纹理编辑器中,会显示出投影坐标的选择手柄。你可以使用这个选择手柄把不同的UV坐标壳体相互分开,使它们不再交叠。由于这个手柄是作用于整个UV坐标壳体的,所以我们移动它后,不会象移动单个UV点那样,对将来不同的平滑级别的模型的UV坐标产生不良影响。所以要注意,不要移动单个的UV坐标。
要尽量把UV坐标的各个壳体相互靠近,以充分利用整个文理空间,这样才能保证有足够的贴图分辨率。
不要选择单个的UV坐标点,并移动他们。不要缝合边界。不要使用Layout UVs.命令。否则的话,你在执行了多边形平滑命令以后,UV坐标的分布会变得奇形怪状。
一旦你选择了某一个坐标的投影之后,你可使用scrollUp 和scrollDown脚本,在历史记录中快速选择下一个或者上一个UV坐标投影。我个人为这两个脚本分配了快捷健,这样我可以通过Alt+1选择上一个,Alt+2选择下一个。
你还可以使用selectProjection来弄清楚那些面片是属于哪一个坐标投影的。如果你要移动某一块UV坐标壳体,先选择它上面的一个面片,然后执行selectProjection,这将使你自动地选择到那个坐标投影。然后进行调解。所以,我也为它分配了快捷健Alt+3,,非常方便。
9为整个模型分配一个最终材质
到此为止,我们应经不需要哪些作为’材质组’的材质节点了。你最好保存一份那个原始文件的备份,以备将来修改之用。然后,创建一个新的材质,并把它分配给你的整个模型。在超图(hypershade)中,应用Edit>Delete命令,删除所有使用autoColor脚本所创建的材质。
此外,要知道的是:selectProjection脚本只有在autoColor脚本所创建的材质还存在的时候才起作用,所以,如果你已删除了这些材质,你只能手工地选择每一个单独的坐标投影,或者使用scrollUp 和scrollDown脚本进行选择。
10删除没用的节点
下面,我将总结一下使用autoColor脚本进行Uv坐标投影的优缺点:
优点:
1 所创建的UV坐标可以随着你的模型的平滑级别,自动地更新。
2 在观察坐标投影的最后效果时,可以给我们一个具有颜色信息的良好的视觉指示。
3可以在创建UV的工作中,节省出大量的时间,让我们可以有充分的会址纹理的时间。
4可以为我们的3维模型创建出一个精确的2维显示参考。
缺点
1不能选择或者编辑单个的UV坐标点。
2 不能用缝合UV壳体的方法来减少纹理接缝。
3 需要使用3维绘图软件来完全解决问题。
V. 把你的模型提交给角色设置动画师
产品生产流程,遵循产品生产流程的规律能够使你节省时间,加快生产进度以及提高产品质量。
上图是一个通用的产品生产流程图。其目的在于,尽量使尽可能多的工作者同时在一起协同工作,尽量减少时间的浪费。
注意上图中,建模人员、纹理贴图绘制者和角色装配动画师是在同时协同工作的。甚至在有些时候,还允许角色装配动画师同时将装配好的低精度的多边形模型也提供给角色动画师,这样就使角色动画师也可以在同时参加进来,而角色配置动画师还可在同时在高精度模型上进行他的绘画权重等工作。
要记住一定要清理你的场景文件,为所有节点命名以及把他们分成适当的组别,使你的场景文件有一个组织良好的结构。删除一切不需要的层和没用的节点。良好的组织结构将使你付出最小的代价。
把UV参考文件合并到你的角色设置文件中去。
在我们介绍的产品生产流程中,你会发现:建模师、纹理描绘师和角色装配师会在几乎同时完成各自的工作。那么接下来的工作就是,要把包含有UV坐标信息和纹理贴图信息的场景文件与包含有角色装配和蒙皮信息的场景文件合并起来。这个最终的场景文件应该是一个清理过的、组织结构良好的文件,以备角色动画师用来工作。
1 清理你的包含有UV坐标参考物体的文件,把所有UV坐标参考物体分别命名、成组;删除没用的层,和没有的物体。
2 优化场景文件的尺寸。
3把这个UV坐标参考文件输入到角色配置文件中去。
4 把文件中的UV坐标参考物体移向一侧。
5 把每一个UV坐标参考物体上的UV坐标传递到相应的装配好的角色上。要知道,一个UV坐标参考物体可以传递到多个相应的目标上。例如:右手和左手可以使用同一个UV坐标参考物体。保证表面的法线方向正确。
6 把所有多边形几何体连接到一个控制对象上,通常使用一个缩放了的立方体,然后把smoothOperator脚本连接到所有多边形物体上。要使你的工作不出现错误,要注意你的UV坐标参考物体和它相应的角色装配物体要有一样的平滑等级。当smoothOperator脚本改变你的角色的平滑等级时,UV参考物体的平滑等级将相应发生改变。这就保证了你的角色的平滑等级变化时,所传递的UV坐标也会正确地发生更新。
在使用smoothOperator脚本时,要保证你的角色上的所有多边形几何体都有olySmoothFace历史节点存在。选择角色上的所有多边形几何体、所有的UV参考物体以及所有要进行平滑的多边形物体,我通常使用一个缩放了的立方体作为控制对象。点击上图中的link按钮,通常,你最后选择的物体就成为平滑整个多边形角色的控制物体。现在,只选择你的控制物体,在smoothOperator脚本的窗口中选择不同的数字,就可以使你的多边形角色具有不同程度的平滑等级。
隐藏并锁定UV坐标参考物体
这一点非常重要,尽可能地隐藏并锁定你的工作成果。如果你不想你的同事不小心删除了某些对象,或者对一些对象设置了动画关键帧,你最好关掉这些物体的可视性属性,并且锁定所有属性通道栏中的可动画属性。把所有的节点放到一个组织良好的结构中。对于某一个角色,最好将它的所有节点都放到一组之中,去除多余的层。这样做的好处是:使你能够比较容易地在一个具有多个角色的场景中游刃有余。
要知道,如果什么人意外地删除了你场景中的物体,或者在不应有的地方设置了动画。你自己也是有一部分责任的。因为是你的失误,才使他们能够访问到这些物体。
1 关掉UV坐标参考物体及其组的可视性属性,隐藏它们。
2 锁定所有的通道栏属性。
3让所有的通道栏属性都不可设置关键帧(non keyable)。
4 把你的UV坐标参考物体组放到一个不可删除的组中去。
5使用display>show all命令,在一次确认,所有的物体都不能显示。
全教程完,学完记得交作业。如果本教程对您有所帮助,请推荐给你的朋友。
推荐教程