Language:
Page Info
Engine Version:
Share

模型贴花总览

虚幻引擎 4 现支持 模型贴花(Mesh Decals),使用户能在单独的表面几何体上使用延迟贴花属性,在静态和骨架网格体上形成更多细节。因为延迟贴花依赖于投射,因此多数平面表面未与其被投射的表面对齐时,将出现剪切和扭曲现象。模型贴花则可提供不跟随简单投射的贴花,而能够结合包裹边缘的几何体使用,结合样条使用,最终提升角色的外观效果。

模型贴花与遮罩材质比较

模型贴花是半透明混合模式和延迟贴花的混搭,它们并不渲染到深度中,但会在不透明几何体被渲染后对 GBuffer 或 DBuffer 进行更新。与使用遮罩材质不同的是,EarlyZ 通道不存在开销,不会获得阴影或适当的遮蔽,但可通过权衡获得材质中的柔和过渡。

需要注意的是,模型贴花和延迟贴花 Actor 之间存在数点不同:

  • 较大的延迟贴花通常执行朝前和朝后的绘制调用,因此绘制调用数更少。

  • 被覆盖的像素更少,扁平朝后的贴花覆盖的像素为 0,因此处理速度更快。

  • 可使用自定义 UV,因此能进行更为复杂的投射。

  • 可使覆盖法线贴图的贴花围绕表面进行包裹(或沿样条进行拉伸)。

 Mesh Decal

 Masked Material

创建内容

创建内容进行使用,因为模型贴花几何体与模型创建相一致。因为几何体不依赖于投射(如延迟贴花 Actor),所以几何体只需要停留在需要影响的表面前方。由此可以得出,贴花几何体应该“拥抱”下方的表面,但却无需十分紧密地进行匹配,因为已经应用了一个较小的深度偏差,足以容纳这个小偏差。此外,在贴花之外伸出一些几何体有助于形成贴花的柔和过渡,这样的效果无法通过遮罩材质实现。

MeshDecalAuthoring.png

MeshDecalAuthoringComposite.png

基础模型和贴花几何体(单独)

合成模型

创建内容时需要注意的另外一点是模型贴花结合 LOD 使用时会较为困难,在深度缓冲精度有限时远距离观察同样效果不佳,因为几何体将如预期相交(或不能匹配)。然而可以修改模型来解决这个问题(多数情况下),或者使用材质中的 世界位置偏差(World Position Offset) 来调整偏差,而无需返回建模应用程序进行处理。

Offset.png

 Offset Value: 0

 Offset Value: -0.6

在此例中,贴花几何体与基础模型十分接近,深度无法容纳偏差。使用较小的负偏差值将几何体拉出一些,避免其与下方的几何体相交。

注解

  • DBuffer 和非 DBuffer 使用相同的容器。

  • 有许多层重叠时按深度排序可避免穿帮。

  • 并行渲染尚未衔接。如大量使用此功能,将节约一些 CPU 开销。

限制

  • 材质编辑器预览不可见。

  • 美术师无法进行指定排序。

  • 尚未加入切线空间支持。

  • 着色器过度绘制/过度绘制功能缺失。

  • 材质编辑器对基础通道使用进行假设,因此它当前无法显示正确的指令数。

  • 不能对 DepthBias 便利地进行调节。当前版本中用户需要从模型之上的表面使用模型中的偏差,或通过材质中的世界位置偏差进行控制。