看啥推荐读物
专栏名称: 暴走的TA
会扫地的TA
目录
相关文章推荐
今天看啥  ›  专栏  ›  暴走的TA

体积的使用 后处理 反射与折射

暴走的TA  · 简书  ·  · 2021-03-20 11:05

简介: 面对场景中的镜面物体,我们经常需要使用反射效果,天空盒反射,反射探头是制作反射的一种方式,我们这里介绍基于屏幕空间的反射,HDRP 也内置支持了折射效果,其在后处理中也有一个设置选项,我们一并了解一下。
版本: Unity2019.4.12f1 HDRP 7.5.1

准备

  • 我们将 ScreenSpaceReflection 和 ScreenSpaceRefraction 功能添加到我们的体积组件上
  • 关闭场景中的反射探头
  • 创建一个完全光滑的金属球体,并开启材质属性上的 ReceiveSSR ,便于观察我们的反射效果
创建完全光滑的金属球体并勾选 ReceiveSSR

ScreenSpaceReflection 屏幕空间反射

  • 是之前传统管线中的后处理,在渲染的最后阶段,根据渲染结果进行反射,缺点无法反射渲染结果之外的物体。
  • 需要接受 SSReflection 的物体的材质需要勾选 ReceiveSSR 属性,表示次物体需要接受屏幕空间反射
  • 无法反射透明物体
勾选 ReceiveSSR

ScreenSpaceReflection 参数讲解

ScreenSpaceReflection 的参数面板
  • Enable 勾选后开启 屏幕空间反射功能
  • MinimumSmoothness 可以产生屏幕空间反射的最小光滑度,光滑度大于此值的像素可以产生反射,一般情况值越小能反射的像素越多。一般建议给 0
小球的光滑度设置为0.5,SSR的MinimumSmoothness 设置为0.6

小球的光滑度设置为0.5,SSR的MinimumSmoothness 设置为0.6
  • SmoothnessFadeStart 控制 MinimumSmoothness 的过渡值,从 MinimumSmoothness 到 此值之间的光滑度产生的反射会产生过渡,所以此值不会小于MinimumSmoothness. 一般建议给 1
小球的光滑度设置为0.5, MinimumSmoothness 和 SmoothnessFadeStart 设置为0.3

小球的光滑度设置为0.5, MinimumSmoothness 设置为0.3 和 SmoothnessFadeStart 设置为0.8,可见反射减淡了
  • ReflectSky 是否应使用 SSR 处理天空反射。如果禁用此属性,则反射天空的像素将使用反射层级视图的下一个级别。

  • ObjectThickness 使用滑动条控制屏幕上游戏对象的厚度,可根据效果需求自行调节

物体厚度为0.01
物体厚度为0.1
  • Quality 反射质量,就是控制计算射线反射次数,分高中低和自定一,建议直接使用高。
低画质

高画质
  • MaxRaySteps 最大射线反射次数,开启 Quality 的 Custom 后可以配置,建议32-64之间即可。

ScreenSpaceRefraction 屏幕空间折射

  • 这个功能是为了控制屏幕边缘的折射的淡出效果,因为折射会扭曲后方的物体,但是屏幕空间边缘无法扭曲屏幕外的物体,所以需要有个过渡效果来减少过渡。
  • 准备一个透明的折射球体,关闭屏幕空间反射便于我们观察纯折射,折射类型设置为球体
球体材质设置,透明渲染,颜色透明,贴一张法线贴图,折射类型设置为球体

增加一点发现效果,模拟玻璃材质不均匀的效果

屏幕空间参数详解

  • ScreenWeightDistance 屏幕边缘过渡 范围 0 - 1
值为0.001 屏幕边缘的扭曲效果

值为0.25 屏幕边缘的扭曲效果出现了过渡



原文地址:访问原文地址
快照地址: 访问文章快照