创建高精度多边型模型(4)
来源:互联网 作者:未知 发布时间:2010-05-09 21:47:16 网友评论 0 条
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坐标的操作过程
演示文件:PrimitiveMan_Example_01.mb
091 在低精度的多边形网格上,运行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节点在先,其他的投影节点在后。
- 2010-08-25
- 2010-08-25
- 2010-08-25
- 2010-05-10
- 2010-08-25
- 2010-08-17
- 2010-05-09
- 2010-05-09
- 2010-08-25
- 2010-08-17
- 2010-08-25
- 2010-05-10
- 2010-08-25
- 2010-08-25
- 2010-08-25
关于我们 | 联系方式 | 广告服务 | 免责条款 | 内容合作 | 图书投稿 | 招聘职位 | About CG Time
Copyright © 2008 CGTime.org Inc. All Rights Reserved. CG时代 版权所有