小言_互联网的博客

【UE4从零开始 073】网格体贴花

554人阅读  评论(0)

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

网格体贴花与遮罩材质比较

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

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

  • 较大的延迟贴花通常执行朝前和朝后的绘制调用,因此绘制调用数更少。
  • 被覆盖的像素更少,扁平朝后的贴花覆盖的像素为 0,因此处理速度更快。
  • 可使用自定义 UV,因此能进行更为复杂的投射。
  • 可使覆盖法线贴图的贴花围绕表面进行包裹(或沿样条进行拉伸)。
Mesh Decal(网格体贴花) Masked Material(遮罩材质)

创建内容

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

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

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

Offset Value:0 Offset Value:-0.6

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

注解

  • DBuffer 和非 DBuffer 使用相同的容器。
  • 有许多层重叠时按深度排序可避免穿帮。
  • 并行渲染尚未衔接。如大量使用此功能,将节约一些 CPU 开销。

限制

  • 材质编辑器预览不可见。
  • 美术师无法进行指定排序。
  • 尚未加入切线空间支持。
  • 着色器过度绘制/过度绘制功能缺失。
  • 材质编辑器对基础通道使用进行假设,因此它当前无法显示正确的指令数。
  • 不能对 DepthBias 便利地进行调节。当前版本中用户需要从模型之上的表面使用模型中的偏差,或通过材质中的世界位置偏差进行控制。

转载:https://blog.csdn.net/u011476173/article/details/100930066
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场