UV Project 修改器允许你参考另一个对象来修改当前对象的 UV 展开。
本教程的视频版本目前尚未提供该语言版本。您可以在下方观看带字幕的英文版视频;视频下方提供了翻译成中文的文字稿。
视频文字稿
UV Project 修改器允许你参考另一个对象来修改当前对象的 UV 展开。更具体地说,该修改器会根据外部对象的负 Z 轴生成 UV 映射,而这个外部对象可以是任何类型。
由于虚拟摄像机的负 Z 轴是从摄像机平面垂直延伸并指向取景场景的方向,因此我们可以精确地使用虚拟摄像机作为参考对象,将 UV Project 应用于其他对象。

例如,当它与我之前在频道教程中介绍过的 fSpy 插件结合使用时,会非常有用。fSpy 除了其他功能外,还可以让我们根据真实照片中的摄像机朝向来建模对象。因此,将照片的一部分映射到基于该照片精确建模的几何体上,是非常合理的。

在讲解过程中,我利用从 fSpy 提取的信息插入了一个 Plane,以重建照片中看到的足球场。随后,我为这个 Plane 添加了一个简单的 Material,并将 fSpy 使用的同一张照片作为 Base Color 的图像纹理。不过,它并没有正确映射,因为 Plane 本身有自己的 UV 展开,而这个 UV 与照片中的足球场图像并不对齐。

接下来,我为 Plane 添加了一个 UV Project 修改器,并将虚拟摄像机指定为用于投影的 Object。在我的案例中,这个虚拟摄像机是由 fSpy 插件生成的,正如我在 fSpy 插件教程中所说明的那样,因此它的名称与默认的 Camera 不同。

此时投影还不够准确,主要有两个原因:投影的 Aspect Ratio,以及应用投影对象的细分程度。
原始照片具有特定的宽高比,这需要反映在修改器的 Aspect X 和 Aspect Y 字段中。我们可以通过在 Image Editor 窗口中打开照片,并在 Properties 编辑器的 Image 选项卡中查看分辨率数值来获取这些值。

第二个需要执行的操作是增加 Plane 的细分。可以在 Edit Mode 中使用 Loop Cut 或 Subdivide 操作完成,也可以在 Object Mode 中使用 Subdivision Surface 修改器。

如果使用的是 Subdivision Surface 修改器,需要将其模式改为 Simple,这样可以增加细分而不会使形状变圆。此外,我们还应该将 Subdivision Surface 放在修改器堆栈中 UV Project 的前面。这样,细分会在应用 UV Project 之前先被执行。

UV Project 是一个修改器,因此在获得满意结果之后,我们可以将其 Apply。这样会永久保留 UV 映射的修改。之后,我们就可以自由修改原始几何体,而不会出现任何问题。
