原文链接:UE4材质编辑器入门笔记(9)——置换、视差与深度偏移 - 知乎
1、置换DisplacementMap
对顶点进行偏移的贴图。比法线效果更好但耗性能。
要使用置换贴图,先要打开材质面板中的细分选项
一般选PN Triangles选项
然后就可以把置换贴图连到World Displacement节点上啦,针对自身需求可以乘上顶点世界空间法线
Tessellation Multiplier修改细分的程度,为0时不进行细分,最大为3
置换和上一章的顶点偏移的区别在于,置换是针对细分之后的顶点,而顶点偏移只能针对物体原有的顶点
针对上次做的那个积水瓷砖,我们可以把置换也给连上来改善其视觉效果
细分前
细分后
这片地板是由四块面片组成的,所以为了防止这样拼成的地板在细分置换后产生接缝问题,考虑使用四方连续贴图或者直接用一个面片做。
BoundScale也最好改一下,防止CPU裁剪
UE最高支持16个sampler。那如果我们要用到比这个数量多的贴图怎么办呢?给他们指定共用的sampler就好了
2、视差
为了改善法线贴图在平行于表面看时的穿帮问题,可以引入视差贴图
基于相机角度对贴图采样进行扭曲,即在采样法线贴图时,沿相机的方向进行一段距离的偏移。凸起的变,不凸起的不变
UE中摄像机的X轴朝前,Z轴朝上,所以我们用XY向量进行偏移
视差贴图绝大地方视觉效果都不错,但极端视角会有问题,且没有自遮蔽效果
改良:
陡峭视差映射:一种类似二分法的思想,可以使偏移值更加精确
视差遮蔽映射:陡峭视差映射的改良版本,在确定前后两个点之后进行插值计算来得到更精确的偏移值
ue4自带ParallaxOcclusionMapping
调整MaxStep,越大越真实
但是MaxStep越大也说明消耗越高。如果要在较低的性能消耗下获得更好的结果,可以使用TAA进行一个抖动模糊。
当然离太近会有模糊的痕迹
3、像素深度偏移Pixel Depth Offset
基于像素对深度进行偏移,就可以改变深度测试的结果
4、小练习——视差隧道
Bump Offset节点的简单使用,就是做多层偏移然后给偏移值加一个时间的变化,就不多讲解了
效果还可以,而且能被其他物体的反射捕捉