作者:Athey Nansel-Moravetz
本教程由ChinaVFX.NET翻译整理
首先排放UVs。UV 是纹理贴图在3D空间的坐标,就好像一块布包裹在模型上,把布展开就是一个平面,你可以在平面上绘制图象,图像在平面上的位置分别用U、V值来表示。
按 m 键打开材质编辑器,选择一个空材质球,点击Diffuse边上的灰色方块,在弹出的 Material Browser 中双击 Bitmap,选择上图的棋盘格文件,为漫反射通道添加一个纹理贴图。
如下图点击右边的"Show Map in Viewport",使贴图在视图区可见。选择头部模型,点击左边的"Assign Material to Selection"按钮,将材质赋予模型。
因为头部的 UVs 没有经过调整,排列很乱,造成贴图效果看起来很恐怖。下面我们来整理一下。
先塌陷堆栈中的修改器。在"Symmetry"上点击右键选择 Collapse All,头部模型由两半变成一个完整的实体。
进入 Polygon 层级选择脖子上的所有面,注意不要落选或多选。
点击修改器列表,在下拉菜单中选择 UVW Map。在 Parameters 中选择 Cylindrical,Alignment 选择 X(或其它平行脖子的轴向)。
现在调整棋盘格的比例。在我的模型中,棋盘格有点扁,需要调整成正方形。
在修改器堆栈中,点击 + 号展开 UVW Mapping 选择 Gizmo。
现在你可以控制贴图圆柱,按 F4 关闭线框显示,使用 scale 缩放工具将圆柱拉长,直到棋盘格基本便成正方形。
现在右键点击 UVW Mapping 选择 Collapse All,这样就把 UV 点的坐标分配给了模型。回到 Polygon 层级,可以看到脖子的多边形还保持着选中状态。我们可以为这些面分配一个材质ID,相当于编了一个选集,方便以后的选择。拖动卷展栏到最下方,Polygon Properties: Material: Set ID,将ID设为10或随意其它数值。
现在在 Edit 菜单中选择 Select Invert,反选中剩余的面。
显然头部的面全部被选中了,但是眼窝和口腔现在不能选上,因此取消这几个地方的选择。
你可以在 polygon parameters 区勾选"Ignore Backfacing"复选框,这样可以降低复杂物体选择子物体的难度,减少错选的情况发生。另外,可以将视图调整到模型内部,方便取消口腔面的选择。
完成后缩放视图,检查确认无误,然后再次添加一个 UVW Mapping 修改器。选择 cylinder 模式,轴像与之前相同,如下图所示。
点击 alignment 下的 Fit 按钮,使圆柱与头部的轴向对齐。展开 UVW Mapping 修改器,选择 Gizmo,调整它的大小比例,使棋盘格变成正方形,然后如下图旋转一点角度,和面部平行。
右键点击 UVW Mapping 选择 Collapse All。返回 Polygon 层级将头部的选择分配一个 Material ID 比如 9。
保持多边形的选择,进入Edit 菜单> Select Invert,然后手动取消脖子的选择,剩下眼窝和口腔。
因为这几个地方一般看不见,所以也没必要再以它们的贴图坐标。我们这么做只是为了把它们和面部的其它地方分离出来。
为这几个面添加一个 UVW Mapping 修改器,保持默认的 Planer 平面映射方式,不用作任何改动。右键点击堆栈中的 UVW Mapping 修改器,选择 Collapse All。返回 Polygon 层级分配一个 Material ID 比如 8。
现在我们已经为面部分配好UV点,下面来把 UV 展开。
在修改器列表中选择 Unwrap UVW。点 + 号展开修改器,可以看到 Select Face 选项。在 Selection Parameters 中找到 Select MatID,输入 9 并按下按钮,选中面部的多边形。
在 Parameters 下方点击 BIG Edit 按钮,打开 Unwrap editor 窗口。点击窗口上方一个和材质编辑器中相同的棋盘格方块按钮,关闭窗口中棋盘格贴图的显示,以便于查看网格。
选择移动工具,将面部的UVs移开1x1box(下图标注的方形区域,现在所有面都重叠在这个区域里)。回到 Selection Parameters 区,在 Select MatID 中输入 10 并点击按钮,选中脖子的面,将其拖出重叠的区域。最后选中眼睛和嘴巴的8号ID,将其拖出。如下图所示。
让我们先处理眼睛和嘴。两只眼睛应该相同,因此先选中一只眼睛,选择 Tools > Flip Horizontal 反转,然后移动到另一只眼睛上,完全重合,这样两只眼睛就共用一个贴图范围了。另外你也可以选中两只眼睛按 ctrl + w 将它们焊接到一起。
如果是游戏模型的贴图,你必须注意模型各部分贴图的间隔,各部分UV排列的越紧凑、间隔越小越好,这样可以降低贴图的尺寸。当然如果用于电影渲染就无需考虑这个问题。
为了要节省空间,最好的方法就是把对称的部分反转重叠,比如脸和脖子。但如果你想保持脸的左右不是完全对称,那么就剩下脖子这个选择。
选择一半脖子,Tools > Flip Horizontal,然和将它们重叠,全选按 ctrl + w 焊接到一起。这样一来脖子就只占用一半空间了。
接下来调整脸部这个关键部位。因为使用 cylindrical 圆柱映射方式,所以头顶的网格线都乱成了一团,导致纹理扭曲。我们来把它们整理一下,可以看到头顶处拉伸的很严重,幸好一般都会再加上头发的模型,可以掩盖住这个问题。
脸部也有一些地方会产生重叠,比如鼻翼的位置。
选择红色标注的位置,将它们向外拉出,尽可能保证UV网格的均匀分布,减少纹理的拉伸失真。
下面选择与眼窝连接的眼睑处,向内收缩。这样纹理可以通过红色的渐变生成与眼窝部分的柔和过渡。
然后把耳朵后面的线拉出来。
在这篇教程中我决定优先考虑节省空间,因此选择一般脸部网格,Ctrl + D 分离并水平反转,重叠到另一侧合并。
如下图排列好各部分网格,成1:1方形,尽量放大脸部,以利用更大的纹理空间。
本例中我最后还是把脖子和脸部连接到一起,这样可以减少纹理接缝。眼球作为单独物体另赋一张贴图。
现在全屏 UV 窗口,将UV网格放到最大,按屏幕捕捉键,然后在 Photoshop 中创建一个新画布,Ctrl+V粘贴。这样就可以以UV网格为参考绘制贴图了。
使用裁切工具选择1:1的方块选区,正好包含住UV网格,裁切图像。选择 Magic Wand 工具,取消 Anti-aliased 和 Contiguous选项。放大图像点击白色线条,选择整个画面中的白色区域。
新建一层,填充暗色(比如深蓝色)。删除下面的层,得到下图效果。
复制文件(Image > Duplicate),合并图层(Layer > Flatten Image),保存为bmp或jpg格式,返回3ds Max。
关闭 UVW Unwarp 窗口,右键点击 Unwrap UVW 修改器,选择 collapse all。按 M 键打开材质编辑器,选择应用棋盘格纹理的材质球,点击 diffuse 边上的按钮进入Bitmap Parameters,点击贴图文件地址的按钮,选择新保存的网格图。
现在模型上显示出了网格,之后绘制的纹理会按照网格排列的样式在模型上分布。准备工作已经全部完成,可以开始绘制纹理了。
下面使用真实照片做纹理贴图。
我选择了一张女孩的照片,将照片调整大小,鼻子和嘴巴与UV网格图对齐,用多边形套索工具选择不需要的范围(体恤、头发等)删除。
选择眼镜周围的区域,Ctrl+C/V 复制粘贴到一个新层,将它移动到UV网格线的眼镜出,使用 Free Transform 缩放、变形、旋转来进行调整,匹配好眼镜的位置。这样做的目的不是为了做眼镜的贴图,而是要得到眼睑及眼镜周围的皮肤纹理。
使用 eyedropper 工具,提取眼睑处深红色阴影的颜色,新建一层,在UV网格的眼睛处涂满这种颜色。
使用柔和边缘的橡皮擦擦除眼睛层的边缘,使它与下面的面部纹理层融合在一起。使用大号的 smudge 工具,strength 设为 50-60%,把皮肤的色调摸到空白的地方去。但这样做有一个最大的问题就是会破坏纹理的细节,我们会在接下来的步骤中继续修正。
RubberStamp 橡皮图章工具是纹理复制的利器,进入面部纹理层,按住 Alt 点击面颊处的一小块纹理,然后松开 Alt 键到稍远处的空白处涂抹。可不时按住 Alt 键更换纹理源。
现在可以删除UV网格层,合并图像,保存并覆盖原先应用到模型的贴图,返回max即可看到模型应用纹理后的效果。
通常在调整照片纹理层前,我都会复制一层,处理成功的话就删掉它,没做好的话还可以用这个备用的层重新开始。
用上述方法涂抹复制纹理成下图效果。
降低UV参考层的不透明度可更好的观察画面,在处理细节纹理时最好把它关掉。
现在开始制作耳朵。如下图所示,找一张耳朵的照片,用多边形套索工具选择并复制一个耳朵层。
通过调整色度/饱和度和亮度/对比度,来匹配耳朵和面颊皮肤的颜色和亮度。
使用自由变换工具旋转缩放来调整形状,匹配UV参考层。需要经常切换回 Max 查看耳朵的位置是否正确。
同样的方法混合耳朵和面颊,另外再找一张脖子的照片,混合到贴图上。头部的背面不用太仔细,一般都回被头发盖住。
一般情况下我都不直接在纹理上使用 burn/dodge 工具,否则接下来再使用 smudge, erase 等调整时会弄乱纹理。因此我选择使用 adjustment layers 调整层。
选择紧靠UV网格参考层下方的那一层,点击图层窗口的按钮,弹出菜单中选择 Hue/Saturation 色度/饱和度,在接下来的弹出窗口中将亮度降到最低,色度向右移动一点,点击OK。
现在这个调整层为白色,观察不到调整层下面的层,需要把它变成黑色。按 Ctrl+I 反转颜色。这样纹理就能正常显示了,选择 paintbrush 工具,可以用任意灰度级绘制。如果用中灰色,就会相对于刚才弹出窗口中设置的亮度和色度改变50%。使用白色会改变100%。调整层下方的所有层都会受到影响。这样就能把色度饱和度调整和基于层的绘画、涂抹等操作分开,互不影响。
我通常使用调整层绘制衣服皱褶,一到两层用于减暗,另一个用于加亮(通过亮度/对比度调整层来调整高光)。
尽管本教成的例子不太需要,但这种方法还是能够添加更丰富的细节和立体感。
皮肤的颜色不仅仅是粉红和黄色,通过调整层可以添加一些青色和紫色等变化。
使用暗红色填充口腔内部和眼窝。最后是眼球,虽然眼球是独立物体,但我想把它们也放到这张贴图上。现如下图添加上一个眼球的贴图。
返回 Max,选择一个眼球,在修改器下拉列表中选择 UVW mapping 修改器。按 F3 切换到线框模式,将 Gizmo 与眼球对齐,映射方式为 Planer。塌陷修改器堆栈,按m打开材质编辑器,选择头部的贴图,点击 Apply to selected 按钮应用到眼球上。关闭材质编辑器,保持选中眼球,添加一个 Unwrap UVW 修改器。
点击 Edit 按钮可看到下图所示。
现在眼球网格覆盖了整个画面,我们来把它缩小,移动到贴图上的相应位置。
先不要急着塌陷修改器,在 Edit 按钮下方还有 Save 和 Load 两个按钮。因为一会儿我们还会用到眼球的UV坐标,因此选择 Save,命名为 eye 并保存。
现在塌陷堆栈,选择另一边的眼球,按m键打开材质编辑器,赋予同样的头部纹理,关闭窗口。添加 Unwrap UVW 修改器。
选择 Load 按钮,打开刚才保存的 eye 文件,这个眼球就有了和刚才那个眼球相同的UV坐标。
你可以再点击 Edit 做一下调整,不过现在的效果就很好了。
纹理全部完成,应用 meshsmooth 后渲染效果如下图所示。