Unity Post Processing 小记 【使用泛光实现灯光亮度效果】

一、前言

本篇适用于Unity 2018 - 2019及以上版本,以默认渲染管线为例。文章内容源于个人研究尝试与网络资料收集,可能存在不准确之处。初衷是因新版本制作时老的Bloom插件失效,经研究后分享开启Bloom效果的方法。若在项目中使用Post Processing,建议与程序或TA商量优化问题。

官方已发布Post - Processing Stack后处理栈的详细使用视频,推荐观看:视频地址

参考链接:

二、Post Processing安装步骤

在Unity的Package Manager中进行安装:

  1. 点击左上角下拉选择"All packages",找到"Post Processing"。若未显示,查看左下角是否有"Loading Packages.."字样,若有则耐心等待,或开启魔法上网后重新打开Package Manager。
  2. 找到"Post Processing"后,选择右下角的"Install"按钮进行下载,安装完成后最右边会出现"√"符号。

三、开启全局后期处理

  1. 选择摄像机并添加组件:在场景中选中一个摄像机,在Inspector界面选择"Add Componet",搜索"post - process Layer"并选择该组件。Trigger默认选择挂载该组件的摄像机,Layer建议选择专用层级以获得最佳性能,避免选择"所有"或"默认",因为这会减慢体积混合过程。若创建新层级,需将摄像机的层级也改为新设置的层级,后期处理才会生效。
  2. 选择抗锯齿类型
    • FXAA:最便宜的抗锯齿方式,但质量差,多用于移动平台。
    • SMAA:比FXAA抗锯齿效果更高,但速度较慢。
    • TAA :更高级的抗锯齿技术,质量高但消耗大,建议用于PC端。
  3. 创建空对象并添加组件:在Hierarchy面板中创建一个空的GameObject,为其添加"post - process Volume"组件。
  4. 设置全局效果:在"post - process Volume"组件中勾选"Is Global",Weight为后期处理所有效果的权重,0表示没有后期效果。可通过调整Weight让后期效果在某些时候强弱变化。
  5. 创建配置文件并添加效果:在Profile中点击"NEW"创建一个配置文件,创建好后点击"Add effect",以Bloom效果为例,选择添加"bloom"。
  6. 调整Bloom参数:勾选"Intensity"并设置数值,此时查看Game视窗,场景亮度会随数值变化。"Fast Mode"为优化开关,开启可降低一部分泛光质量以提升性能,移动端强烈推荐打开。若觉得人物或场景物件辉光难受,可打开"Threshold"并将数值设为1,这样亮度值不超过1时不会产生辉光(前提是Bloom值设置不过大)。若要产生辉光,调整"Intensity"数值即可。

四、指定区域开启后期处理(以水下效果为例)

  1. 选择摄像机并添加组件:同全局后期处理步骤,在Inspector界面为摄像机添加"post - process Layer"组件,Trigger默认选择挂载该组件的摄像机,Layer选择自己想要的层级(如"post"层级)。若要添加新层级,选择一个空位置输入层级名称即可。
  2. 创建Post - process Volume:在Hierarchy面板下创建"Post - process Volume",此时场景中会出现一个绿框,可随意放大缩小。将"Post - process Volume"的层级修改为之前选择的层级(如"post")。
  3. 创建配置文件并添加效果:在Profile中点击"NEW"创建一个配置文件,创建好后点击"Add effect",以Bloom效果为例,选择添加"bloom",勾选"Intensity"并设置数值。
  4. 查看效果:将带有"post - process Layer"组件的摄像机推到绿色框内,Game视图中会出现辉光效果。若要实现渐变效果,可给"Blend Distance"设置一个数值,代表从Volume外多远开始逐渐过渡到当前效果(根据"post - process Layer"组件Trigger属性赋予的Transform来计算)。

五、常见后处理效果简介

  1. Ambient Occlusion(环境光遮挡):依赖深度和法线缓冲区,使彼此靠近的折痕、孔和表面变暗,模拟现实中这些区域阻挡或遮挡环境光的效果。
  2. Bloom(辉光):来自亮源(如闪光)的光泄漏到周围物体中的光学效应。可营造神奇或梦幻般的环境,与HDR渲染结合使用效果更佳,也可用于增强照片写实感。
  3. Depth of Field(景深):模拟相机镜头属性,相机只能在特定距离对焦,距离相机更近或更远的物体将会偏离焦点,模糊效果给出对象距离的视觉提示。
  4. Motion Blur(运动模糊):模拟大多数摄像机系统光线随时间累积的效果,快速的相机或物体运动将产生模糊图像。
  5. Screen Space Reflection(屏幕空间反射):基于表面粗糙度计算屏幕空间中的反射。

感谢大家的观看,您的点赞和关注是我最大的动力

不定时更新知识点和干货呦~

相关推荐
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
starlaky5 天前
Django入门笔记
笔记·django
勇气要爆发5 天前
吴恩达《LangChain LLM 应用开发精读笔记》1-Introduction_介绍
笔记·langchain·吴恩达
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
勇气要爆发5 天前
吴恩达《LangChain LLM 应用开发精读笔记》2-Models, Prompts and Parsers 模型、提示和解析器
android·笔记·langchain
爱搞虚幻的阿恺5 天前
Niagara粒子系统-超炫酷的闪电特效(加餐 纸牌螺旋上升效果)
游戏·游戏引擎
_Li.5 天前
Simulink - 6DOF (Euler Angles)
人工智能·算法·机器学习·游戏引擎·cocos2d
qianshanxue115 天前
计算机操作的一些笔记标题
笔记
土拨鼠烧电路5 天前
笔记11:数据中台:不是数据仓库,是业务能力复用的引擎
数据仓库·笔记
weixin_424294675 天前
Unity 调用Steamworks API 的 SteamUserStats.RequestCurrentStats()报错
unity·游戏引擎·steamwork