Subdivision Emulation下的纹理处理
- 2022-02-06
- 来源/作者: PS.ONEGREEN.ORG / 佚名
- 3 次浏览
一般情况下,动画网格直接接受纹理贴图没有什么大碍。但是对于用 subdivision emulation 技术创建的平滑多边形网格的纹理,要完全控制或者生成动画,就要用到复制纹理的方法。原因是当纹理坐标被指定给一个平滑物体时,默认情况下 Maya 优先接受纹理贴图,而不是平滑功能。
Maya 假定:大多数情况下,需要的是直接把未平滑的网格直接与平滑的多边形物体绑定,这样就避免了处理大量多边形时的性能的降低和复杂的皮肤问题。在进行动画和平滑处理以前,纹理坐标信息已经被接受,这样就避免了形状改变时,纹理在网格上的游移。
但是,这也意味着:纹理坐标只是为低精度网格而创建,而不能精确表达实际的纹理情形。这里我们要做的就是复制一个可以接受所有纹理信息的平滑图形。一旦纹理坐标建立以后,就可以容易的从复制物体上把它们传递到实际的平滑表面上去,而不会在动画中出现游移。
第一步,创建一个纹理参照物体。选择 smoothed mesh 并用 Edit->Duplicate 工具复制出一个物体,把复制出的物体沿 X
轴移开一段距离,以免与原来的混淆。然后,选择 texture projection method ,因为头的最重要的部分是前面,后面和侧面,这里我们选 Cylindrical Projection 工具。( Edit Polygons-> Textures-> Cylindrical Mapping )。
当使用 Cylindrical 贴图方式的时候,最好选上 “Seam Crrect” 选项,这样效果更好些。
为了看起来清楚,这里我用了棋盘格贴图。
上面是未修正的,下面是修正以后的。
但是我们看到,修正以后效果仍然不是很令人满意,我们还需要手动调节一下 UV 坐标。打开结构视窗( Panels-> Panel-> Texture View )。
首先,我们看到, UV 超出了物体的实际边界。
用 Image -> Display Image 会看的更清楚。
在网格上单击右键,弹出窗口中选择 UV ,选取不正确的 UV 坐标轴 ...
用移动工具移动到合适的位置(热键 W )。
也可以调节 UV 坐标重叠的区域。可以用手动调整,也可以用 Maya 的 Relax 工具( Edit Polygons -> Texture -> Relax UVs )。上面是调整前,下面是调整后(耳朵)。
有些很难选取的地方(例如嘴的内侧),可能需要附加的或者完全分离的材质。这就要用到 Maya 的独立选取工具 Isolate Se
lection tool (Show-> Isolate Select-> View Selected )。
建议在调节完成以后,删除物体纹理的历史记录,因为如果不删除,可能偶尔出现所作的调整会丢失的现象。
2D 纹理贴图制作好以后,纹理文件可以被链接到任何 channel 上。过程是创建材质(例如: Create-> Materials-> Lambert ),然后单击 checkerboard 按钮,从 2D 纹理菜单中选取一个文件,把新创建的纹理文件与材质链接在一起。
最后一步,用 Polygons-> Tran
sfer 工具把 UV 坐标从参照物传送到最初的平滑网格中去,如下图所示:由于这样只是传送了贴图信息,而没有传递材质信息。选取脸,在合适的材质上单击右键,从下拉菜单中选 Assign Material to Selected 。
这样就完成了。
(完)