Unity Post Process Unity后处理学习日志

2024-09-08 09:52

本文主要是介绍Unity Post Process Unity后处理学习日志,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Unity Post Process Unity后处理学习日志

在现代游戏开发中,后处理(Post Processing)技术已经成为提升游戏画面质量的关键工具。Unity的后处理栈(Post Processing Stack)是一个强大的插件,它允许开发者为游戏场景添加各种视觉效果,如景深、色彩校正、辉光、模糊等。这些效果不仅能够增强游戏的视觉吸引力,还能帮助传达特定的情感和氛围。

文档

https://docs.unity3d.com/Packages/com.unity.postprocessing@3.0/manual/Quick-start.html
https://blog.csdn.net/yigiwoliao/article/details/122322223

官方手册–后处理概述

https://docs.unity.cn/cn/2017.4/Manual/PostProcessing-AmbientOcclusion.html

编写后期处理效果

https://docs.unity.cn/cn/2017.4/Manual/PostProcessingWritingEffects.html

后处理效果兼容性

https://docs.unity.cn/Manual/PostProcessing-AutoExposure.html

后处理的 PostProcessVolume 文档,包括API,各种后处理效果介绍

https://docs.unity.cn/Packages/com.unity.postprocessing@2.1/api/UnityEngine.Rendering.PostProcessing.PostProcessVolume.html?q=PostProcessVolume

安装

Unity 2018.1 及更高版本。

从Unity PackageManager 下载

在这里插入图片描述

从GitHub下载

https://github.com/Unity-Technologies/PostProcessing/tree/v2/PostProcessing

下载之后将·PostProcessing· 文件夹放到项目中即可。
在这里插入图片描述

项目场景设置

在摄像机上添加Post-Process Layer组件

在这里插入图片描述

添加一个层级,并将其设置为摄像机的层

在这里插入图片描述

添加Post-process Volume组件

在这里插入图片描述

IS Global 勾选就是全局可用。如果不想全局可用就删除这个组件。

创建Profile 文件

点击new 创建一个渲染配置文件
在这里插入图片描述

设置渲染文件

在这里插入图片描述

在这里插入图片描述

场景设置

让角色在无后处理的位置的时候,看向有后处理的位置,显示的是:无后处理的效果
在有后处理的位置看向无后处理的位置,显示的是有后处理的效果。

在这里插入图片描述在这里插入图片描述

效果展示

Auto Exposure 自动曝光

省流:让场景看起来更亮或者更暗

“自动曝光度”效果可动态调整图像的曝光度以匹配其中间调。
在URP 中不可用!

在这里插入图片描述

PropertyFunction
Filtering设置直方图的下限和上限百分比,以找到稳定的平均明亮度。超出此范围的值将被丢弃,并且不会对平均亮度产生影响。
Minimum设置在 EV 中自动曝光要考虑的最小平均亮度。
Maximum设置在 EV 中考虑自动曝光的最大平均明亮度。
Exposure Compensation设置中间灰色值以补偿场景的全局曝光。

Filtering 超过这个值或者低于这个值的颜色都不会被处理

Adaptation settings:

PropertyFunction
Type选择 Adaptation type (适应类型)。“渐进式”(Progressive) 将对“自动曝光”(Auto Exposure) 进行动画处理。Fixed 不会
Speed Up设置 适应速度 从黑暗到明亮环境。
Speed Down设置 适应 速度 从浅色环境到深色环

在这里插入图片描述
在这里插入图片描述

Depof Of Field 景深

省流:可以用作回忆的效果,视角因为进沙子逐渐模糊的效果

用于模拟摄像机镜头的聚焦属性。
Depth of Field 的速度与 相关联。仅使用高于您针对台式计算机进行开发时的值,并且根据游戏的后期处理预算,使用主机。在针对移动平台进行开发时使用最低值。Max Blur SizeMedium

PropertyFunction
焦距设置到焦点的距离。
孔径设置光圈的比率(称为 f-stop 或 f 值)。值越小,景深越浅。
焦距设置镜头和胶片之间的距离。值越大,景深越浅。
最大模糊大小 从下拉列表中选择散景滤镜的卷积内核大小。此设置确定散景的最大半径。它还会影响性能(内核越大,需要的 GPU 时间就越长)。

在这里插入图片描述

在这里插入图片描述

Lens Distortion 镜头畸变

省流:可以制作喝多了的效果。(假的鱼眼效果)
镜头畸变不支持 AR/VR。

镜头扭曲效果通过扭曲或取消扭曲最终渲染的图片来模拟真实世界摄像机镜头的形状。

参数描述
Intensity设置总扭曲量的值
X Multiplier在 X 轴上设置 Intensity multiplier。将其设置为 0 可禁用此轴上的扭曲
Y Multiplier在 Y 轴上设置 Intensity multiplier。将其设置为 0 可禁用此轴上的扭曲
Center X设置 Distortion center point (X axis) (扭曲中心点 (X 轴))
Center Y设置 Distortion center point (Y axis) (扭曲中心点 (Y 轴))
Scale设置全局屏幕缩放的值。

在这里插入图片描述

Motion Blur 运动模糊

效果没有试出来
运动模糊不支持 AR/VR。

游戏对象的移动速度超过摄像机的曝光时间时,Motion Blur 效果会使图像模糊。

参数功能
快门角度设置旋转快门的角度。值越大,曝光时间越长,模糊效果越强。
样本计数设置采样点的数量值。这会影响质量和性能。

Chromatic Aberration 色差

省流:可以制作在速度非常快的时候,屏幕边缘的模糊

色差效果模拟真实摄像机在其镜头无法将所有颜色连接到同一点时产生的效果。Unity 支持红色/蓝色和绿色/紫色边缘,您可以使用输入纹理定义边缘颜色。

PropertyFunction
Spectral Lut选择用于自定义边缘颜色的纹理。如果留空,Unity 将使用默认纹理
Intensity设置色差效果的强度
Fast Mode使用更快的色差效果变体来提高性能

在这里插入图片描述

Color Grading 颜色分级

没整明白咋用的,玩出来个黑白
内容很多
https://docs.unity.cn/Packages/com.unity.postprocessing@2.1/manual/Color-Grading.html

Color Grading 效果可更改或校正 Unity 生成的最终图像的颜色和亮度。
颜色分级效果具有三种模式:
低清晰度范围 (LDR):非常适合低端平台。分级将应用于最终渲染的帧,该帧被限制在 [0,1] 范围内,并存储在标准 LUT 中。
高清范围 (HDR):非常适合支持 HDR 渲染的平台。所有颜色操作都应用于 HDR 并存储到 3D 对数编码的 LUT 中,以确保足够的范围覆盖范围和精度 (Alexa LogC El1000)。
外部:用于在外部软件中创作的自定义 3D LUT。

在这里插入图片描述

Bloom 泛光

靠近天堂或者靠近太阳的时候可以使用这个

泛光效果会创建从图像中明亮区域的边界延伸的光条纹,从而产生极亮的光线压倒摄像机的错觉。

降低参数的数值,离 0 越远,速度越慢 如果要针对移动或低端平台进行开发,请启用:Fast Mode
Lowering the Diffusion parameter will make the effect faster. The further away Anamorphic Ratio is from 0, the slower it will be. Enable Fast Mode if you are developing for mobile or low-end platforms to get a significant boost in performance.

在这里插入图片描述

参数描述
Intensity设置 Bloom 滤镜的强度。
Threshold设置亮度级别以过滤掉低于此级别的像素。该值以 gamma 空间表示。
Soft Knee设置低于阈值/高于阈值之间过渡的渐变阈值(0 = 硬阈值,1 = 软阈值)。
Clamp设置限制像素的值以控制 Bloom 量。该值以 gamma 空间表示。
Diffusion以与屏幕分辨率无关的方式设置遮罩效果的范围。
Anamorphic Ratio置比率以垂直(范围 [-1,0])或水平(范围 [0,1])缩放泛光。这模拟了变形镜头的效果。
Color选择 Bloom 滤镜的色调颜色。
Fast Mode启用此复选框可通过降低 Bloom 效果质量来提高性能。

在这里插入图片描述

Vigette 晕影

可以制作翻过的效果,从左侧到右侧逐渐显示,眨眼的效果。

晕影效果使图像的边缘变暗,使图像的中心更亮。

参数描述
Color设置 Vignette 的颜色。
Center设置晕影中心点(屏幕中心为 [0.5,0.5])。
Intensity设置屏幕上的渐晕量。
Smoothness设置晕影边框的平滑度。
Roundness设置该值以舍入 Vignette。较低的值将产生更方形的晕影。
Rounded启用此复选框可使晕影完全圆润。禁用后,晕影效果取决于当前的长宽比

使用Masked

PropertyFunction
Color设置 Vignette 的颜色。使用 Alpha 通道实现透明度。
Mask选择要用作晕影的黑白蒙版。
Intensity设置蒙版不透明度值。

在这里插入图片描述
在这里插入图片描述

Grain 颗粒 (增加噪点)

颗粒效果可模拟真实摄像机产生的效果,其中摄像机胶片中的小颗粒会使图像产生粗糙、未经处理的效果。Unity 中提供的 Grain 效果基于相干的渐变噪声。

禁用“彩色”将使“颗粒”效果运行得更快。
Disabling Colored will make the Grain effect run faster.
参数描述
Colored启用该复选框以使用彩色颗粒。
Intensity设置 Grain strength 的值。值越高,颗粒越明显。
Size设置 Grain particle size 的值。
Luminance Contribution设置该值以控制噪声响应曲线。此值基于场景明亮度。较低的值意味着暗区中的噪点较少。

在这里插入图片描述

Screen Space Reflections 屏幕空间反射

屏幕空间反射不支持 AR/VR。
不支持URP

屏幕空间反射效果可创建模拟潮湿地板表面或水坑的微妙反射。屏幕空间反射是限制镜面反射漏光量的理想效果。

参数描述
Preset从下拉列表中选择质量预设。用于微调质量。Custom
Maximum Iteration Count (Custom preset only)设定光线行进过程中的最大步数。值越高,反射越多。
Thickness (Custom preset only)设置 Ray thickness(射线厚度)的值。值越低,资源消耗越大,但检测到的细节较小。
Resolution (Custom preset only)选择内部缓冲区的大小。选择 Downsample (缩减采样) 以最大限度地提高性能。Supersample 速度较
Maximum March Distance设置要在场景中遍历的最大距离,超过此距离后,它将停止绘制反射。
Distance Fade设置距离值,以淡化靠近近平面的反射。这对于隐藏常见伪像很有用。
Vignette选择该值可淡化靠近屏幕边缘的反射。

在这里插入图片描述

Ambient Occlusion 环境光遮蔽

省流:给两个物体之间的相交位置添加黑色的阴影
性能考虑建议使用:Multi-scale Volumetric Occlusion

Scalable Ambient Obscurance 模式可能非常耗费资源,尤其是在非常靠近摄像机查看时。
不应在移动平台或控制台上使用 Scalable Ambient Obsurance,因为 Multi-scale Volumetric Occlusion 模式速度更快,并为这些平台提供更好的图形。

环境光遮挡后处理效果作为全屏幕后处理效果,非常接近实时的环境光遮挡。挨着折痕线、小孔、相交线和平行表面的地方变暗。在现实生活中,这些区域往往会阻挡或遮挡周围的光线,因此它们会显得更暗。
请注意,在处理时间方面,环境遮挡效果非常昂贵,一般只能在桌面平台硬件或游戏主机硬件上使用。它的成本完全依赖于屏幕分辨率和效果参数,而不像真正的环境遮挡一样依赖于场景的复杂性。

Scalable Ambient Obscurance 可拓展的环境光遮蔽

在这里插入图片描述
参数介绍:

参数描述
Intensity调整“环境光遮挡”产生的暗度。
Radius设置采样点的半径,以控制变暗区域的范围。
Quality定义影响质量和性能的采样点数量。
Color设置环境光遮挡的色调。
Ambient Only启用此复选框可使“环境光遮挡”效果仅影响环境光。此选项仅适用于延迟渲染路径和HDR渲染。

打开
在这里插入图片描述

关闭
在这里插入图片描述

Multi-scale Volumetric Occlusion

模式针对主机和桌面平台进行了优化。在这些平台上,它具有更好的图形效果,并且比 Scalable Ambient Obscurance 运行得更快,但需要计算着色器支持。

着色器支持:https://docs.unity.cn/Manual/class-ComputeShader.html

|Intensity | 调整“环境光遮挡”产生的暗度。|
| Thickness Modifier |修改遮挡物的厚度。这会增加暗区,但会在对象周围引入暗晕。 |
|Color | 设置环境光遮挡的色调。|
| Ambient Only | 启用此复选框可使“环境光遮挡”效果仅影响环境光。此选项仅适用于延迟渲染路径和HDR渲染。|

在这里插入图片描述

获取对象

using UnityEngine;
using UnityEngine.Rendering.PostProcessing;public class GrainController : MonoBehaviour
{// 引用后处理体积public PostProcessVolume volume;// Grain效果的引用private Grain grainLayer = null;void Start(){// 获取Grain效果的引用volume.profile.TryGetSettings(out grainLayer);}}

这篇关于Unity Post Process Unity后处理学习日志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1147785

相关文章

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

Nacos日志与Raft的数据清理指南

《Nacos日志与Raft的数据清理指南》随着运行时间的增长,Nacos的日志文件(logs/)和Raft持久化数据(data/protocol/raft/)可能会占用大量磁盘空间,影响系统稳定性,本... 目录引言1. Nacos 日志文件(logs/ 目录)清理1.1 日志文件的作用1.2 是否可以删除

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

使用nohup和--remove-source-files在后台运行rsync并记录日志方式

《使用nohup和--remove-source-files在后台运行rsync并记录日志方式》:本文主要介绍使用nohup和--remove-source-files在后台运行rsync并记录日... 目录一、什么是 --remove-source-files?二、示例命令三、命令详解1. nohup2.

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo