用户名 密    码

创建高精度多边型模型(3)

来源:互联网 作者:未知 发布时间:2010-05-09 21:47:16 网友评论 0


解决办法3 布置UV时,在polySmoothFace节点后应用投影坐标节点。同时可使用我们提供的Mel脚本:autoColor, autoProject, and autoShellAssign来加快整个工进程。

\

        06在polySmoothFace节点后面使用多边形投影坐标,将减少这种UV坐标的扭曲。因为,在历史纪录里,由于投影节点是在平滑节点后面的,所以它将根据多边形平滑级别的不同而自动更新,所以会精确符合我们的模型网格。所创建出的UV坐标,也会随着平滑级别的不同而自动更新。 
         如果我们需要进行贴图工作的的模型完全是平面的,这个工作会比较容易完成。只需要做一次投影就可以了。但是,我们更多处理的是那些曲面模型,它上面的面片分别指向不同的法线方向。当面片的法线方向与我们坐标的投影方向有很大偏离时,如何处理避免贴图纹理的拉伸?

\

        07在这种情况下,我们需要用来自不同方向的多个UV坐标投影,来克服纹理的拉伸问题。就是说,不同的面片需要从对他们来说相对最有利的投影方向来获得UV坐标。例如,一组面片的法线方向向下指向Z轴的负方向,我们需要用朝向Z轴的正方向的投影。同理,指向X轴的负方向的一组面片,需要用朝向X轴正方向的投影。
       但是,接下来的问题是,如何把一些面片包括在这个投影中,把另外一些面片包括在另一个投中。在比较复杂的多边形模型中,我们需要一个办法,来选择这些面片,并且告诉Maya从哪个方向上对他们进行投影。通常,大家的做法是:先平滑这个多边形模型,然后在这个平滑后的高密度多边形网格上选择出一组面片,然后进行投影。但是,要想在一个很高密度的多边形网格上进行选择,是一件较困难的事情,。另外,此时创建的UV坐标,也只适用于这个平滑后的多边形网格,这样的话,在添加polySmoothFace节点后,我们反而失去了对模型不同细分界别的控制。
        我们给出的解决办法是:在添加polySmoothFace节点之前(执行平滑命令之前),先在低分辩率的多边形网格上创建‘选择组“(selection sets)。
        首先在低分辨率的模型上,划分出若干个区域,并为他们建立不同的选择组。对不同的区域我们将在以后使用不同的坐标投影。然后对模型加载polySmoothFace节点,把它变成平滑模型。在平滑以后的模型上,我们先前做的选择组内,将会同时也把因为执行了平滑命令而产生的新的面片包括进来。所以这就给我们提供了方便,我们只需要在低精度的模型上进行选择的工作,而我们所创建的选择组,将根据模型的不同精度自动地更新。这样,我们可以在polySmoothFace节点上,同时也保留的对不同精度的控制。 
        在建立‘选择组’时,使用常规的方法并不是很方便。因为在你若想把面片包含在你的选择组中,你就必须先选择它。所以这不是一个快捷的方法。
因此,在这里我们将使用一种特殊形式的组,来简化我们建立‘选择组’的工作。这个特殊的‘组’,我们暂且称其为‘材质组’(Shader Group)。使用这种材质组的好处是:由于它是与材质的滤光器节点相联系的,我们就可以改变这个材质的颜色,使模型在阴影显示模式下,给我们一个更好的视觉展示。就是说属于不同‘组’的表面,我们可以分配给它不同的颜色。当我们分配给某一些表面一个材质的时候,就自动地迫使它们进入相应材质的“材质组”。而且,任意面片只能属于某一个‘材质组’,要是分配给它另外一个材质,它将被当前的材质组清除,进入着另外的材质所属的材质组。所以,在我们划分选择组,并为它们设置投影坐标时,这的确是一个非常好的方法。

\

08手工地在整个在平滑的多边形模型上,建立‘材质选择组’,布置UV坐标的操作过程
1 在低精度的多边形网格上,根据多边形面片的法线方向为它们分配不同颜色的材质。
2 然后对此模型,添加polySmoothFace节点,使其细分级别为2。
3 选择某一个‘材质选择组’,中的所有面片,并根据它们的最有利的法线方向,为其分配投影坐标。这样一次一组地为所有的面片分配好UV坐标。
4 在模型的polySmoothFace节点属性上,把细分级别设回到0。
5 在纹理编辑器窗口中,每次选择一个投影的UV坐标,依次地把所有的投影的UV坐标分布开来。此时,应注意让所有的UV坐标壳体既相互分割开来,又尽可能地相互靠近。
6 现在,就可以为整个模型分配一个材质。
7 删除没用的节点。
        尽管以上的手工方法,对于我们的高精度多边形角色的布置UV坐标的工作是可行的。但是,手工地为每一多边形面片分配材质、着实是一件高强度的,枯燥的体力劳动。同样,为每一个面片分配材质的工作也是一个即慢而又非常重复性的工作。所以,我们给出以下的Mel脚本来帮助我们完成这个工作。使我们能省出更多的时间来进行纹理绘制的工作。这就是我们下面介绍的自动化的工作方法。先介绍我们要使用的Mel脚本。

搜索栏目