【Unity】适用于 Unity URP 的 SSR 解决方案

【Unity】适用于 Unity URP 的 SSR 解决方案-盘古CG网
【Unity】适用于 Unity URP 的 SSR 解决方案
此内容为免费资源,请登录后查看
0
免费资源

适用于 Unity URP 的 SSR 解决方案。支持线性跟踪和 Hi Z 跟踪。该软件包包括 SSR 渲染功能和分层 Min-Z 深度缓冲区渲染功能。创建者 Joshua Lim

23 年 9 月 10 日 4.2.0 – 4.1.0 更改日志

新功能

  • 改进的光泽反射
  • 添加了 hi-z 跟踪模式的下采样设置

支持此项目

捐款链接在这里

图像

在此处输入图像描述
在此处输入图像描述
在此处输入图像描述

安装说明:

做法

  1. 副本:“https://github.com/JoshuaLim007/Unity-ScreenSpaceReflections-URP.git
  2. 进入 Unity 中的包管理器
  3. 选择 “add package from git url”
  4. 将链接粘贴到文本条目中
  5. 按“添加”

要求

  • Unity URP 12 或更高版本
  • Unity 2021 LTS 或更高版本

在 URP 资源中

跟踪模式

  • 线性跟踪
  • Hi-Z 跟踪

Hi Z 跟踪需要在管道资产中添加“深度金字塔”渲染功能。深度金字塔 (Depth Pyramid) 包含在此包中。

应用程序接口:

在此处输入图像描述

在运行时更改设置

无效 LimSSR.SetSettings(ScreenSpaceReflectionsSettings o)

  • o.StepStrideLength= 每个光线行进步幅的长度。增加此值将降低图像质量,但允许在反射中可以看到更多对象。
  • o.MaxSteps= 着色器在结束光线行进之前执行的步骤数。增加此值将允许在反射中显示更多对象,但会降低性能。
  • o.Downsample= 降低工作分辨率的次数。增加此值会降低图像质量,但会提高性能。
  • o.MinSmoothness= 材质的最小平滑度必须达到才能产生反射。

为了获得最佳质量,请尝试最小化和最大化StepStrideLengthMaxSteps

bool LimSSR.已启用

  • True:启用效果
  • False:禁用效果

启用或禁用 SSR 着色器

静态 RaytraceModes TracingMode

设置描摹模式:线性描摹或 Hi Z 描摹

已知限制和错误

  • 近剪裁平面和远剪裁平面之间的距离越宽,显示的条带伪影就越多。
  • 远反射不准确,并且有条带伪影。
  • 透明对象不能有反射。
  • 透明对象未正确反射到对象上。
  • 在 hi-trace 模式下下采样 ssr 会导致其中断。
  • 当前对非 2 次方分辨率的修复会导致对象边缘周围发生变形,其后面有反射。
  • Hi-z 跟踪不能具有面向摄像机的反射。
  • 不支持 VR 和移动设备

资源和参考资料

屏幕空间反射 |适合初学者的 3D 游戏着色器 (lettier.github.io)

屏幕空间反射:实现和优化 – 第 1 部分:线性追踪方法 – Sugu Lee (wordpress.com)

屏幕空间反射:实现和优化 – 第 2 部分:HI-Z 追踪方法 – Sugu Lee (wordpress.com)

bitsquid:开发博客:屏幕空间 HIZ 跟踪说明

Killing Floor 2 中的屏幕空间反射 (sakibsaikia.github.io)

分层深度缓冲区 – Mike Turitzin

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容