UE4/虚幻的材质中,如何获得深度信息

一、获取固定深度

1、效果

2、UE4中节点

3、 节点原理解析

  • ScenceDepth能采样所有模型表面的深度,如图红色B点和E点
  • PixelDepth只能采样被绘制的模型表面的深度,如图蓝色B点
  • 绝对世界位置只能采样被绘制的模型表面的像素点,如图点F;
  • (绝对世界位置-相机位置:向量FA)*(ScenceDepth/PixelDepth:深度比值)=向量DA;
  • 顶点C为(0,0,80),设定的是水面/平面的高度;
  • 相机位置-C点=向量AC;
  • 向量DA+向量AC=向量CD;
  • Mask遮罩取向量CD的Z值,即图中黄色h值,如此得到的深度h在仍一角度会是恒定的;
  • 后续计算目的是让h取值在0-1值之间;

二、如何获得随视角变换的深度

1、效果如图

2、UE4中节点

 3、节点原理解析

  • DepthFade节点:模拟透明物体与非透明物体接触时的融合过度;
  • FadeDistance:控制衰减的快慢,距离越小,衰减越快;

猜你喜欢

转载自blog.csdn.net/u011637323/article/details/124989952