unity后期

unity|后处理篇
  • 前言
  • 一、Post-Processing
    • 1、 Post-Processing的使用
    • 2、Post-Processing后处理效果
      • 抗锯齿
      • ①、Ambient Occlusion 环境光遮蔽
      • ②、Auto Exposure 自动曝光
      • ③、Bloom 辉光/泛光
      • ④、Chromatic Aberration | 色差
      • ⑤、Color Grading 色调/颜色分级
      • ⑥、Depth Of Field 景深
      • ⑦、Grain
      • ⑧、Lens Distortion 镜头变形失真
      • ⑨、Motion Blur 运动模糊
      • ⑩、Screen Space Reflections 屏幕空间反射
      • 11、Vignette 渐晕
  • 二、内置管线中OnRenderImage()方法实现


前言

在unity中实现后处理效果大致有两种方式,一种是通过插件的方式,常用的方法就是使用unity内置的插件Post-Processing。第二种方式就是使用脚本获取到渲染后帧缓冲区的图像,再通过shader写后处理的效果,最后合并输出图像到屏幕上。

这里记录的后处理全部基于unity内置渲染管线展开,URP渲染管线和内置渲染管线的后处理方式会有些许差异。post-processing在内置渲染管线和URP渲染管线中也是会有一些差异的,具体可以去看官方文档。
第二种方式是使用unity内置的方法OnRenderImage()这个方法实现,但是这个方法是在unity内置渲染管线中的,在URP渲染管线中并不会生效,当然在URP中也有替代方法去实现,这里不考虑这个。


一、Post-Processing

更详细具体可以看unity中Post-Processing官方文档

1、 Post-Processing的使用

  • ①、安装插件。
    window->Packages Manager->Post Processing->install。
  • ②、创建文件和添加组件。
    创建Post-Processing Profile文件;新建空游戏物体,并且添加Post Process Volume组件;在相机上添加Post Process Layer组件。
  • ③、设置层级Layer。
    添加了Post Process Volume组件游戏物体、添加Post Process Layer组件的相机的层级都设置为同一个层级,如设置层级为post-Processing。
    并且在Layer组件中设置的Layer也要一致。
    在这里插入图片描述
  • ④、挂载文件。
    在Post Process Volume组件中挂载一开始创建的post-processing profile文件。
    如果需要效果应用全局需要把Is Global勾选上。
    在这里插入图片描述
  • ⑤、添加后处理效果。
    在Post Process Volume组件中,点击Add Effect -> Unity -> (后处理效果)。在这里插入图片描述

2、Post-Processing后处理效果

抗锯齿

锯齿是图形出现“楼梯”状的锯齿,抗锯齿效果使图形边缘更加平滑,一般图片在像素不够高或者图片被放大的情况下就会出现这种锯齿情况。

unity默认的抗锯齿设置在Edit -> Project Settings ->Quality中设置。
而Post-Processing的抗锯齿,是在相机中的Post Process Layer组件Anti - Aliasing。(抗锯齿的效果不是在Post Process Volume组件中通过Add Effect添加的,其他的效果是在Post Process Volume组件中通过Add Effect添加的)
在这里插入图片描述
No - Anti - aliasling:无抗锯齿效果。
unity Post-Processing 抗锯齿

①、Ambient Occlusion 环境光遮蔽

环境光遮蔽比较消耗性能,因此不建议在手游中使用。
一些凹陷的地方或者被周围遮挡的地方,往往会被遮挡住周围的光线,因此会显得更暗。

Post-Processing环境光遮蔽

  • Mode | 模式 (Scalable Ambient Obscurance可扩展的环境观测、Multi Scale Volumetric Obscurance多规模的体积测量)
  • Intensity | 强度
  • Radius | 半径/幅度
  • Quality | 质量
  • Color | 颜色
  • Ambient Only | 仅周围环境
②、Auto Exposure 自动曝光

自动曝光效果根据图像包含的亮度级别范围来动态调整图像的曝光。
在这里插入图片描述

  • Filtering (%) |
  • Minimum(EV) | 最低限制
  • Maximum(EV) | 最高限制
  • Exposure Compensation | 曝光补偿

Adaptation 适应性

  • Type | 类型
  • Speed Up | 加速
  • Speed Down | 减速
③、Bloom 辉光/泛光

在unity中的灯光,或者材质球中有发光材质,输出显示是没有辉光的,为了营造更真实的光感,可以在后处理的中加入辉光的效果。
Post-Processing辉光效果

  • Intensity | 强度
  • Threshold | 阈值
  • Soft Knee | 软膝关节
  • Clamp | 钳制
  • Diffusion | 扩散
  • Anamorphic Ratio | 拟态比
  • Color | 颜色
  • Fast Mode | 快速模式(开启快速模式会省一点性能,适合手游模式)
  • (Dirtiness) Texture| 纹理
  • (Dirtiness) Intensity | 脏迹强度
④、Chromatic Aberration | 色差

色差效果可以模仿真实摄像机在镜头无法将所有颜色融合到同一点时产生的效果。
也可以粗略做镜头的运动模糊效果,有一种运动时的速度感。即图像四周会有色值偏差。
在这里插入图片描述

  • Spectral Lut |
  • Instensity | 强度
  • Fast Mode | 快速模式
⑤、Color Grading 色调/颜色分级

颜色分级效果可以改变或校正 Unity 产生的最终图像的颜色和亮度。类似于添加滤镜。

在这里插入图片描述

  • Mode |模式
  • Lookup Texture | 查找纹理
  • Contribution

White Balance白平衡

  • Temperature | 色温
  • Tint | 色调

Tone

  • Color Filter | 颜色滤镜
  • Hue Shift | 色相转换
  • Saturation | 饱和度
  • Brightness | 明亮度
  • Contrast | 对比度

Channel Mixer通道混合

  • Red
  • Green
  • Blue
  • Trackballs |
    Grading Curve 分级曲线
⑥、Depth Of Field 景深

在这里插入图片描述

  • Focus Distance | 焦距
  • Apperture | 适应性
  • Focal Length | 镜头长度
  • Max Blur Size | 最大的模糊大小
⑦、Grain
类似于添加噪波噪点
  • 1

Grain参数

  • Colored | 噪波噪点是否为彩色
    开启的噪波噪点是带有rgb色彩的,不开启的噪波噪点是黑白色的。
  • Intensity | 强度
    从0到1强度大小,整体噪波噪点的强度
  • Size | 大小
    噪波噪点的大小
  • Luminance Contribution
⑧、Lens Distortion 镜头变形失真

默认情况下,只调整强度大小的效果类似于凹凸镜的效果。

在这里插入图片描述

  • Intensity | 强度:调整的是变形的强度大小
  • X Multiplier | X轴的程度:X轴上镜头变形的程度
  • Y Multiplier | Y轴的程度:Y轴上镜头变形的程度
  • Center X | X轴的中心:镜头默认是从中间的点来进行变形,可以通过调整这个数值调整X轴上的中心点进行偏移
  • Center Y | Y轴的中心:对Y轴上的中心点进行偏移
  • Scale | 大小:正常画面大小为1,大于1则画面被整体放大;小于1,整个画面整体被缩小,但是整体画面被缩小,显示出来的就会填不满画布,填不满的部分就会被图像的边缘填充。
⑨、Motion Blur 运动模糊

在这里插入图片描述

  • Shutter Angle | 快门角度
  • Samole Count | 抽样计数
⑩、Screen Space Reflections 屏幕空间反射

在这里插入图片描述

  • Preset | 预设
  • Maximum March Distance | 最大行进距离
  • Distance Fade | 距离衰减
  • Vignette | 渐变
11、Vignette 渐晕

渐晕效果使图像的边缘变暗,让图像的中心更亮。
在这里插入图片描述

  • Mode | 模式(Classic、 Masked)
  • Color | 颜色
  • Center | 中心
  • Intensity | 强度
  • Smoothness | 平滑度
  • Roundness
  • Rounded | 圆角

二、内置管线中OnRenderImage()方法实现

大致实现方法:
如果是在unity内置管线中,则相机挂载使用C#脚本用内置函数OnRenderImage来调用渲染管线中帧缓冲区的图像,再调用shader,对图像进行二次修改,实现后处理的效果。(新建一个材质球创建挂载shader,对shader内容进行编写后处理效果的编写。)

unity商店里面有一些免费资源下载下来也会有这些后处理和shader脚本,可以自行下载来研究,涉及到的太广泛,就不写了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

锐捷网络携数据中心、以太全光等创新解决方案亮相2024MWC

在西班牙巴塞罗那举行的2024年世界移动通信大会(MWC)上,锐捷网络(下文简称“锐捷”)展示了将技术与应用充分融合的云数据中心、5G、光网络等产品及解决方案,帮助更多行业组织建设更贴近业务、智能、简单、高效、绿色低碳的网络基础设施,应对当下及未来的挑战,共同连接更广阔可能…

骨传导耳机好用吗?六大选购法则与避坑技巧大公开

在过去的两年里,骨传导耳机逐渐成为大众的新宠,这一趋势并不出人意料。毕竟长时间使用音量过大的传统入耳式耳机,多多少少会对我们的听力健康构成威胁。然而不同耳机对听力的潜在影响程度是有差异的。骨传导耳机好用吗?与传统耳机…

租床小程序|租床系统|租赁软件开发功能

随着移动互联网的普及,越来越多的人开始选择在线上完成各种租赁业务,而医院租床也不例外。在这个趋势下,开发一款租赁小程序成为了市场的必然需求。 租床小程序的功能 1、搜索与筛选 为了满足不同用户的需求,小程序应该提供设备…

android适配器adapter,Android程序员架构之路该如何继续学习

便于开发的插件、工具和第三方开源库 1.GsonFormat 使用方法:快捷键AltS也可以使用AltInsert选择GsonFormat,作用:速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。 2.ButterKnife Zelezny …

【Linux C | 网络编程】getaddrinfo 函数详解及C语言例子

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

element-plus 的el-img组件访问oss图片自动拼接前端地址

这是我的组件代码 <el-image style"width: 100px; height: 100px" :src"scope.row.logo" />访问时候 竟然凭借上了前端的地址端口 原来是我的oss服务是使用了域名做cdn加速的 内容分发网络&#xff08;CDN&#xff09;或者服务器配置&#xff0c;可…

安全防御(第六次作业)

攻击可能只是一个点&#xff0c; 防御需要全方面进行 IAE引擎 DFI和DPI技术 --- 深度检测技术 DPI --- 深度包检测技术 --- 主要针对完整的数据包&#xff08;数据包分片&#xff0c;分段需要重组&#xff09; &#xff0c;之后对 数据包的内容进行识别。&#xff08;应用层&a…

【湖南省建筑类中级职称申报攻略】企业专场条件宽松,不费劲拿证书!

【湖南省建筑类中级职称申报攻略】企业专场条件宽松&#xff0c;不费劲拿证书&#xff01; 2024年湖南省电力电气工程师申报评审/企业专场不费劲 湖南省建筑类中级职称申报评审都是以考代评&#xff0c;符合条件参加考试&#xff0c;考试合格了&#xff0c;职称申报审核通过就…

c语言经典测试题8

在c语言经典测试题6的第一题&#xff0c;大家是否想过可不可以将递归参数改为s呢&#xff1f;或许有的人已经试过了&#xff0c;但是发现好像不会有结果&#xff0c;其实是因为s为后置&#xff0c;先试用后加1&#xff0c;然而我们这个是在s出了函数之后才会运行加1操作&#x…

CentOS 7开启Web服务

之前有写过用kali开启web服务方法&#xff0c;这次写个用cendos7开启服务的步骤&#xff01; 1、安装httpd yum install -y httpd 若显示安装失败&#xff0c;报错原因为找不到httpd的安装包&#xff0c;可参考这篇文件更新yum源&#xff1a;CentOS 7更换yum源|详细步骤-CSDN…

CDN CloudFlare 接入 OCI 对象存储

在当今数字化时代&#xff0c;网站性能和可用性是业务成功的关键。为了提供快速且可靠的访问体验&#xff0c;许多组织正在寻找有效的内容分发网络&#xff08;CDN&#xff09;解决方案。CloudFlare作为业界领先的CDN提供商&#xff0c;其强大的全球网络基础设施能够加速网站内…

《PyTorch深度学习实践》第十二讲循环神经网络基础

一、RNN简介 1、RNN网络最大的特点就是可以处理序列特征&#xff0c;就是我们的一组动态特征。比如&#xff0c;我们可以通过将前三天每天的特征&#xff08;是否下雨&#xff0c;是否有太阳等&#xff09;输入到网络&#xff0c;从而来预测第四天的天气。 我们可以看RN…

Python实现双向链表:从基础到应用

一、引言 双向链表是一种比单向链表更复杂的数据结构&#xff0c;每个节点除了包含数据和指向下一个节点的指针外&#xff0c;还包含一个指向前一个节点的指针。这种结构使得我们可以从链表的任何节点开始&#xff0c;向前或向后遍历链表。 目录 一、引言 二、节点定义 三、…

OPPO打响AI手机第一枪

明敏 发自 凹非寺 量子位 | 公众号 QbitAI 2024开年&#xff0c;AI趋势依旧高歌猛进。 一边&#xff0c;Sora爆火成为现象级AIGC应用&#xff0c;带动AI再度成为春节后全民热议的第一话题。另一边&#xff0c;手机厂商开始大举All in AI&#xff0c;“放弃传统智能手机”、“…

【Qt】Sqlite数据库加密

1. 加密方式 对数据库文件加密。既不会暴露表结构&#xff0c;也不会暴露数据细节。 2. 加密工具&#xff08;QtCipherSqlitePlugin&#xff09; 用于密码 SQLite 的 Qt 插件&#xff0c;它基于 SQLite 源和 wxWidget 中的 wxSQLite3插件github地址&#xff1a;https://gith…

gpt-3.5-turbo与星火认知大模型v3.5回答对比

创建kernel // Create a kernel with OpenAI chat completionKernel kernel Kernel.CreateBuilder().AddOpenAIChatCompletion(modelId:"使用的模型id" ,apiKey: "APIKey").Build();使用讯飞星火认知大模型的话&#xff0c;可以参考我这一篇文章&#xff…

c++函数指针 回调函数

目录 函数指针 ​编辑 实例 函数指针作为某个函数的参数 实例 std::function轻松实现回调函数 绑定一个函数 作为回调函数 作为函数入参 函数指针 函数指针是指向函数的指针变量。 通常我们说的指针变量是指向一个整型、字符型或数组等变量&#xff0c;而函数指针是指向…

【Java】UWB高精度工业定位系统项目源代码

目录 UWB技术原理 优势 1. 高精度&#xff1a; 2. 抗干扰能力强&#xff1a; 3. 定位范围广&#xff1a; 4. 实时性强&#xff1a; 应用前景 定位系统源码功能介绍 实时定位&#xff1a; 轨迹回放&#xff1a; 区域管理&#xff1a; 巡检管理: 数据可视化分析&…

BAT等大厂必问技术面试题,2024Android开发面试解答之设计模式

IT行业薪水高&#xff0c;这是众所周知的&#xff0c;所以很多人大学都选择IT相关专业&#xff0c;即使非该专业的人&#xff0c;毕业了也想去一个培训机构镀镀金&#xff0c;进入这一行业。 但是有关这个行业35岁就退休的说法&#xff0c;也一直盛传。 加上这几年不断有各大…

回溯 Leetcode 47 全排列II

全排列II 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 Leetcode 47 学习记录自代码随想录 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2], [1,2,1], [2,1,1]] 示例 2&#xff1a; 输入&#xff1…