布局工作流#

传递UV贴图#

如果两个网格有相同的几何/顶点顺序,可以将UV映射从一个网格复制给另一个。这可以用于从包含完整UV的早期版本模型重建UV。具体操作如下:

  1. 选择(要将UV贴图复制到的)目标网格。

  2. Shift 选择源网格(包含完整UV)。

  3. 物体菜单 ‣ 生成关联项... ‣ 传递UV映射 (快捷键: Ctrl-L ...)。

这样目标网格就拥有了与原始网格一样的UV映射。

多UV贴图#

一个网格并不限于一个UV映射。用户可以通过为部分网格创建新的UV映射,从而拥有多个UV映射。这可以通过单击 UV映射列表 (位于属性编辑器的 物体数据 标签页)旁边的 添加 按钮,然后展开网格的其他部分实现。UV映射总是包含整个网格。

优化UV布局#

也许你用的是缝合线展开,展开完成后,UV布局可能相当杂乱无章。那么你接下来的任务就是:UV映射的排列、整理UV映射、将几个UV映射缝合到一起。

下一步是在通过展开流程创建UV布局后继续创作。如果对已经展开的模型添加面或细分现有面,Blender会自动在UV映射中添加面。这种情况下,可以使用UV贴图图像指导对几何体的修改。

在整理时,要记得虽然整个视图都是你的创作空间,但是只有位于栅格中的UV坐标才能映射到图像。所以整理过程中,可以将一些部分移到一旁。另外,每一组UV映射的关联坐标集合都是独立的。

UV可以叠加放置,且以洋葱皮方式显示(透过最上层可以看到下层UV)。要仅移动一层UV,可以先选择一个UV坐标,然后使用 选择 ‣ 选择相连元素, Ctrl-L 选择相连UV,而不能使用框选,因为这样会选中所有UV。

组合UV贴图#

../../../../_images/modeling_meshes_uv_workflows_layout_combining-uv-maps-1.png

糟糕的展开,注意耳朵和颈部。#

在展开物体时,常常会出现 "多数正确" 但部分网格展开不当的问题,就像上面的例子。上面的图片展示了使用球面方式展开脸部的原始结果。问题出在耳朵上,它的UV变成了一坨,还有颈部,拉伸和收缩都很明显。这需要很多工夫来整理。

../../../../_images/modeling_meshes_uv_workflows_layout_combining-uv-maps-2.png

耳朵和颈部先放一边,仅展开脸部。#

我们可以判断只需用一个简单的侧视投影就可以很好地展开展开耳朵,颈部则可视为柱面展开。因此,我们的一般方法是使用不同的展开工具来展开物体的不同部分(脸、耳朵等),选择最适合该部分的工具。那么让我们开始:我们仅选择“脸部”的面,使用 球形 投影展开,然后缩放并旋转,以在逻辑上匹配UV 编辑器的图像区域。

../../../../_images/modeling_meshes_uv_workflows_layout_combining-uv-maps-3.png

仅展开耳朵,使用 从视图投影#

Once we are satisfied with the face, it is time to turn our attention to the ear. First, deselect the faces you were working with. Their UVs will disappear from the UV Editor, but they are still there, just not shown. (To verify this, you can select a few faces in 3D Viewport and it will show up in the UV Editor.)

要处理耳朵,先在3D视图仅选择耳朵上的面。可以使用顶点组进行选择。选择子网格也一样简单,因为它与网格的其他部分是断开的。只需要选择相连的顶点就可以选中整个子网格了。因为是在编辑模式下,基本上所有的选择/取消选择方法都可以用。

现在开始从侧面使用 投影 工具重新展开耳朵,然后稍稍缩放和旋转(下一节将讨论这个话题),并放置到一边。可以使用不同的UV算法重复展开;每次重新计算也只是将选中的面放到其他位置而已。选择最适合接下来的绘制且最有逻辑的布局。

当所有的网格都已经使用不同算法展开后,你应该可以得到类似右图的结果。网格的所有部分都有对应的映射,且这些映射铺在同一张UV贴图里。恭喜你!下面只需要一些简单的 缝合 (见下文)工作就可以组成一张完整的UV映射了。

../../../../_images/modeling_meshes_uv_workflows_layout_combining-uv-maps-4.png

整理后和缝合后的UV贴图。#

整理和缝合工作结束后,可以获得如右图一样的完整UV映射,这样一张图像就可以囊括整个网格的细节绘制了。细节的做法会在下文介绍。本段的目的在于展示最终的目标。要注意的是,上面的网格是沿Z轴镜像的,所以左侧的脸部是虚拟的;它只是右侧的副本而已,所以其实只存在一组UV。(如果要获得更加真实的效果,需要应用镜像修改器,获得真实的镜像和完整的头部。接下来可以修改一侧,使两侧获得真实的差异。展开过后可以得到一组完整的UV,绘制过后的脸部两侧也会有所不同,更加真实)。

迭代 & 优化#

对多数人来说,是没法做到 "一步到位" 的。这需要基于一个想法,然后不断重复创造的过程,直到抵达称之为 "完成" 的神奇的里程碑。在软件开发中,这也叫做 螺旋型方法

放到计算机图形学上,我们需要重复建模、贴图、动画的过程,然后修改网格、重新映射UV、调整动画、添加骨骼、弄清楚还要增加几个面等等。我们需要这样循环往复,直到耗尽时间、金钱、耐心,或者在极少数的情况下得到满意的结果。

改进布局#

当看着我们的角色,然后意识到某个点需要更多细节的时候,改进流程就派上用场了。比如,要在眼睛周围添加一些鱼尾纹,或者在马甲上加个logo。当你开始修改图片的时候,才意识到没有足够的像素点容纳你想要的细节。

你唯一的选择是扩大(放大)UV面尺寸。使用 最小化拉伸 或者 缩放 工具,放大眼睛或者胸部周围的UV面,为这些区域分配更多的像素点,但同时也拿走了其他部位的像素点(细节),比如后脑勺。改进UV映射后,然后就可以修改图像,把你想要的细节都放进去。

重复利用贴图#

另外需要考虑的就是节约资源。每张图像文件都会被加载到内存里。如果可以对不同的网格重复使用同一张图像,就可以节约内存。所以,比如,可以绘制一个通用的脸部,然后用在不同的角色上,通过调整UV映射和形状以及道具(墨镜)来加以区别。

你可能想要一张 "褪色的蓝色牛仔裤" 贴图,并且单独展开角色的腿部来使用这张贴图。把一张面板图像用在角色的手部、脚部、胳膊、腿部和颈部,是再好不过的。在制作一个幻想的刀剑时,有一小张剑刃的贴图就够了,可以通过 重置展开 刀剑的面,对整个剑身重复利用这样贴图。