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.rhkb.cn/news/266326.html

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

相关文章

数据卷dockerfile

目录 一、数据卷 1. 简介 2. 数据卷和数据卷容器 1. 数据卷: 2. 数据卷容器: 二、自定义镜像 1. 作用 2. 自定义centos 3. 自定义tomcat8 一、数据卷 1. 简介 数据卷是一个可供一个或多个容器使用的特殊目录,它将主机操作系统目录直…

【Python笔记-设计模式】状态模式

一、说明 状态模式是一种行为设计模式,用于解决对象在不同状态下具有不同行为 (一) 解决问题 在对象行为根据对象状态而改变时,规避使用大量的条件语句来判断对象的状态,提高系统可维护性 (二) 使用场景 当对象的行为取决于其状态&#…

List集合的Stream流式操作实现数据类型转换

问题现象: 最近在项目中,有一些逻辑想用List集合的Stream流式操作来快速实现,但由于之前没做好学习笔记和总结,导致一时间想不起来,只能用本方法来解决,如下: 可以看出来代码量是比较冗长的&…

智能驾驶规划控制理论学习-基于采样的规划方法

目录 一、基于采样的规划方法概述 二、概率路图(PRM) 1、核心思想 2、实现流程 3、算法描述 4、节点连接处理 5、总结 三、快速搜索随机树(RRT) 1、核心思想 2、实现流程 3、总结 4、改进RRT算法 ①快速搜索随机图&a…

postman切换成黑色主题

postman安装以后默认是白色背景,如果想要切换成黑色的,大家可以按照下图箭头指示来操作。 1打开设置 2在Themes页面选择黑色主题

4G 蜂窝移动通信系统

4G 蜂窝移动通信系统 第四代 (4G) 蜂窝移动通信系统 2008 年,名称定为高级国际移动通信 IMT-Advanced (International Mobile Telecommunications-Advanced) 。 IMT-Advanced 的一个最重要的特点:取消了电路交换,无论传送数据还是话音&#…

从 iOS 设备恢复数据的 20 个iOS 数据恢复工具

作为 iPhone、iPad 或 iPod 用户,您可能普遍担心自己可能会丢失存储在珍贵 iOS 设备中的所有宝贵数据。数据丢失的原因多种多样,这里列出了一些常见原因: 1. iOS 软件更新 2. 恢复出厂设置 3. 越狱 4. 误操作删除数据 5. iOS 设备崩溃 …

易货模式微信小程序的可行性分析

随着移动互联网技术的快速发展,微信小程序作为一种轻量级的应用形态,已经成为众多创业者和服务提供者关注的焦点。微信小程序以其便捷的使用体验、较低的开发成本和广泛的用户基础,成为了各类业务模式的创新平台。在这样的背景下,…

c# ABB 机械手上位机连接

c# 程式开发和调试步骤如下: ABB 机械手要开启PC Interface功能。ABB 机械手设定ip地址。设定测试笔记本和机械手同一网段,用网线直连机械手,也可以通过交换机连接机械手。确保笔记本能够ping通和telnet 机械手80端口都是OK的。以上都OK的话…

图神经网络实战——图论

图神经网络实战——图论 0. 前言1. 图属性1.1 有向图和无向图1.2 加权图与非加权图1.3 连通图非连通图1.4 其它图类型 2. 图概念2.1 基本对象2.2 图的度量指标2.2 邻接矩阵表示法 3. 图算法3.1 广度优先搜索3.2 深度优先搜索 小结系列链接 0. 前言 图论 (Graph theory) 是数学…

ifort 自定义命名可执行程序

背景 在Linux上用ifort编译Fortran程序时,想自定义可执行程序的名字 有帖子(ifort编译命令)说可以使用这个: ifort -c 自定义命名 ***.f90 亲测不行 步骤 ifort ***.f90 : 默认产生的是a.out可执行程序 亲测有效&…

内网穿透 nas/树莓派+ipv4服务器 (ipv6)

nas 1.有个服务器 2.有个nas https://github.com/snail007/goproxy/blob/master/README_ZH.md https://github.com/snail007/proxy_admin_free/blob/master/README_ZH.md 2个官网一个是程序,一个是网站 手册 https://snail007.host900.com/goproxy/manual/zh/#/?i…

KubeEdge 边缘计算

文章目录 1.KubeEdge2.KubeEdge 特点3.KubeEdge 组成4.KubeEdge 架构 KubeEdge # KubeEdgehttps://iothub.org.cn/docs/kubeedge/ https://iothub.org.cn/docs/kubeedge/kubeedge-summary/1.KubeEdge KubeEdge 是一个开源的系统,可将本机容器化应用编排和管理扩展…

「MySQL」增删查改

在操作数据库中的表时,需要先使用该数据库: use database;新增 创建表 先用 use 指定一个数据库,然后使用 create 新增一个表 比如建立一个学生表 mysql> use goods; mysql> create table student(-> name varchar(4),-> age int,-> …

初学JavaWeb开发总结

0 什么是Web开发 Web: 全球广域网,又称万维网(www World Wide Web),能够通过浏览器访问的网站。 Web开发,就是开发网站的,如:淘宝、京东等等。 1 网站的工作流程 流程: 浏览器先向前端服务器请求前端资…

【计算机网络——应用层】http协议

文章目录 1. http协议1.1 http协议简介1.2 url组成1.3 urlencode与urldecode 2. http协议的格式2.1 http协议的格式2.2 一些细节问题 3. http的方法、状态码和常见响应报头3.1 http请求方法3.2 http状态码3.3 http常见的响应报头属性 4. 一个非常简单的http协议服务端5. http长…

蓝桥杯练习系统(算法训练)ALGO-995 24点

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 24点游戏是一个非常有意思的游戏,很流行,玩法很简单:给你4张牌,每张牌上有数…

LeetCode -- 79.单词搜索

1. 问题描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水…

arm板运行程序时寻找动态库的路径设置

问题:error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file? 第一种方法---- 解决: ①复制需要用到的arm库到板子上。 ②pwd指令获取该库的绝对路径,把路径复制到/etc/ld.so.conf文件 ③输…

Python:练习:编写一个程序,写入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款

案例: python编写一个程序,写入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款: Enter a dollar amout:93 $20 bills: 4 $10 bills: 1 $5 bills:0 $1 bills:3 思考: 写入一个美金数量&…