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,,非常方便
