联系电话:18652913986
行业资讯位置:首页 > 行业资讯
实时矢量顶点置换(VDM)概述
发表时间:2024-01-09     阅读次数:     字体:【

图片


Amplify Creations 团队分享了有关Vector Displacement Mapping的大量文章以及他们使用 VDM 和 Amplify Shader Editor 进行的实验,并逐步解释了如何创建 VDM 并在 Unity 中使用它。

1
简介



Displacement(不要与Parallax Mapping或 POM 混淆)传统上用于沿网格面法线偏移顶点。将岩石地面或砖块材质应用于简单的四边形,偏移(displace)其顶点,由于,是有限的多边形数量,您将获得不太理想的效果。当你,对该网格进行细分,我们将开始看到置换纹理的更接近的效果。但有一个问题,您的常规置换纹理仅包含高度数据以在单个方向上偏移顶点。这就是Amplify Shader Editor的Vector Displacement Mapping派上用场的地方。

图片

由于资产面数的限制,传统的displacement通常在游戏中不太常见,开发人员倾向于青睐Parallax Mapping等技术,它提供了不错的视觉效果。令人惊讶的是,displacement或offsetting在实时 VFX 中是非常常见的。

一个值得注意的例外是地形,游戏中几乎所有地形,都是通过常规height displacement创建的。

图片

Vector Displacement Mapping的使用更为罕见,通常应用于电影和其他离线渲染领域,并以某种形式的细分相结合,因为,置换网格需要更高的顶点数,才能准确渲染其细节。这通常出现在更加精细的角色中,无论是人物还是有鳞片的龙。VDM 是渲染超精细模型,同时仍能够使用相对简化网格,最高效方法之一。

VDM 实际上可以被视为几何图像的一种形式,这是一种应用在UE 5中的Nanite而流行起来的技术。

图片

2
Vector Displacement Mapping用场景




矢量位移贴图不仅仅用于渲染,它还大量用于资产制作。这是将雕刻细节当作印章,重新应用的好方法,以确保设计之间的一致性。您实际上可以使用 ZBrush 和 Mudbox 创建您自己的 VDM Stamp。

您可以像 Nicolas Swijngedau 一样在他出色的恐怖 VDM 笔刷包中进行混合搭配。

图片

图片

以这个蘑菇为例:如果没有矢量位移,您只能使用displacement,而且效果不一定好,但使用了VDM,您实际上可以实现更接近原始雕刻的效果。

图片

3
VDMs和Amplify Shader Editor的实践




我们一直在寻找一种可能的简化工作流程,使用户能够实时使用到 VDM,而不会被技术要求所困扰。事实证明,最麻烦的部分实际上是获取可以在Unity 3D等引擎中使用的数据。一旦我们掌握了如何使用 Mudbox 创建 VDM,我们就开始尝试使用 Amplify Shader Editor for Unity。

VDM 实际上色器编辑器中设置非常简单,并且完全基于节点,因此尝试起来很愉快。

我们首先可以试下我们在示例中看到的 “蘑菇”。同样要注意的是,我们特意使用极端示例(低面数四边形到高面数多边形)。用户仍然可以使用与高多边形网格非常相似的低多边形网格。

这种类型的 VDM 非常适合单个对象,但它也可用于复杂的对象;我们甚至可以使用抠图着色器来隐藏未使用的底层四边形。由于我们使用的是 Tessellation,我们还可以根据摄像机距离进行自由的控制LOD。

图片

图片

我们对结果非常满意,但我们决定尝试一些更实用的东西,所以,我们选择了下一个合乎逻辑的东西,一台屏幕上带有噪点的电视。

我们首先构建一个带有 UV 的低面数电视,然后,将其带到 Mudbox 进行细节设计。每个元素都在单独的层中完成,以便我们可以单独导出它们,以供以后在着色器中进行操作。

图片

在这个特殊效果中,我们将正面、侧面烘焙成单独的EXR 纹理,然后,根据命令与基础电视纹理混合在一起。

您在这里看到的实际上是法线值和displacement值之间的简单 Lerp。

图片


文章转载自

Thepoly

 
上一篇:使用UE5创建十六世纪建筑
下一篇:实时矢量顶点置换(VDM)概述