04_UnityShader后期处理技术(一)
AI-摘要
MaoXiang GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
本章节学习目标:
- 了解后处理技术的实现原理
- 熟悉后处理操作内容
环境配置:
- UnityTA学习计划
- UnityShaderASE节点全解
- VScode
- Unity2022·····
- Shader入门精要


一、处理实现原理
1、实现步骤
- 创建一个从帧缓冲区获取图像到后处理中的脚本

脚本代码:
//EasyImageEffect 是一个用于应用图像效果的 MonoBehaviour 脚本。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 它在编辑模式下执行,并使用指定的材质对渲染纹理进行处理。
[ExecuteInEditMode()]
public class EasyImageEffect : MonoBehaviour
{
// 材质对象,包含用于图像效果的 Shader。
public Material material;
void Start()
{
// 检查材质是否为空,或者材质的着色器是否不被支持
if (material == null || !material.shader.isSupported || material.shader == null)
{
// 如果条件不满足,禁用此组件以避免错误
enabled = false;
return;
}
}
// 渲染图像时调用,将源 RenderTexture 复制到目标 RenderTexture,
/// 并应用指定的材质效果。
void OnRenderImage(RenderTexture source, RenderTexture destination)
{
// 使用 Graphics.Blit 方法将源 RenderTexture 应用材质后复制到目标 RenderTexture
Graphics.Blit(source, destination, material, 0);
}
}
- 创建材质赋予给脚本实现相机后处理效果
2、材质实现流程
- 实现图片平铺到屏幕(使该shader被屏幕空间采样)
裁剪空间到NDC空间下的计算(获取NDC标准化设备坐标)

-
效果实现:直接编辑shader即可。
-
使用代码获取材质球中的参数

3、shader实现效果
(1)img内置函数使用方法

(2)亮度、饱和度和对比度实现方法
(3)暗角/晕影实现方法
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 卯相