当前位置: 首页 > news >正文

【URP】Unity[后处理]晕影Vignette

【从UnityURP开始探索游戏渲染】专栏-直达

晕影(Vignette)是Unity URP后处理中的一种视觉效果,主要用于模拟摄影中图像边缘变暗或去饱和的现象。它通过将观众注意力引导至画面中心来增强视觉焦点,常见于电影、游戏等场景中。

发展历史

晕影效果最初源自摄影技术,后逐渐被引入数字图像处理领域。在Unity中,早期版本通过标准资源包实现,随着URP/HDRP管线的推出,该效果被整合到Volume框架中,成为模块化后处理系统的一部分。

实现原理

晕影通过计算像素与屏幕中心的距离,应用衰减函数产生边缘暗化效果。URP提供两种实现模式:

  • 程序化模式‌:通过数学函数生成圆形/椭圆形晕影
  • 蒙版模式‌:使用纹理贴图定义自定义形状

晕影(Vignette)在Unity URP中的底层实现基于屏幕空间距离计算和颜色混合算法.

数学计算模型

  • 距离衰减函数‌:通过计算像素坐标与屏幕中心(0.5,0.5)的欧氏距离,使用length(abs(uv - center))生成径向梯度
  • 平滑度控制‌:对原始距离值应用pow(saturate(dist), smoothness)运算,通过指数函数调整边缘过渡曲线
  • 反向映射‌:最终通过1 - dist * dist将黑白关系反转,使中心区域保持明亮而边缘变暗

着色器实现

以下为简化后的HLSL代码片段:

hlsl
float2 uv = i.uv - _Center;
float dist = length(uv * _Intensity);
float vignette = pow(saturate(1 - dist * dist), _Smoothness);
return inputColor * vignette;

该算法在URP的PostProcessPass.cs中通过全屏绘制命令执行,每个像素都会经过此计算流程

模式差异

  • 程序化模式‌:实时计算圆形/椭圆形遮罩,性能开销约0.3ms(1080p分辨率)

  • 蒙版模式‌:采样外部纹理作为遮罩,支持任意形状但增加内存带宽消耗

  • Vignette.shader

    Shader "Hidden/URP/Vignette"
    {Properties {_MainTex ("Base (RGB)", 2D) = "white" {}_VignetteColor ("Vignette Color", Color) = (0,0,0,1)_VignetteCenter ("Center", Vector) = (0.5, 0.5, 0, 0)_VignetteIntensity ("Intensity", Float) = 1.0_VignetteSmoothness ("Smoothness", Range(0,1)) = 0.5}SubShader {Pass {HLSLPROGRAM#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"TEXTURE2D(_MainTex);float4 _VignetteColor;float2 _VignetteCenter;float _VignetteIntensity;float _VignetteSmoothness;float4 Frag(Varyings input) : SV_Target {float4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, input.uv);float2 uv = input.uv - _VignetteCenter;float dist = length(uv * _VignetteIntensity);float vignette = pow(saturate(1 - dist * dist), _VignetteSmoothness);return lerp(_VignetteColor, color, vignette);}ENDHLSL}}
    }
    

该实现包含颜色混合、中心点偏移和动态平滑度控制,通过lerp函数实现颜色插值

完整实现流程

创建全局Volume

在Hierarchy右键 Create > Volume > Global Volume

添加Vignette效果

选中Volume对象 > Inspector > Add Override > Post-processing > Vignette

配置相机

选中主相机 > Rendering > 启用Post Processing

参数说明与用例

参数 类型 说明 典型用例
Mode 枚举 选择程序化/蒙版模式 程序化适合常规聚焦,蒙版用于艺术化效果
Color 颜色 晕影颜色(默认黑色) 使用深蓝色模拟夜景
Center Vector2 效果中心点(0.5,0.5为屏幕中心) 偏移中心模拟倾斜镜头效果
Intensity 0-1 暗化强度 0.3-0.5轻度引导视线,0.8+强烈戏剧效果
Smoothness 0-1 边缘过渡平滑度 0.2-0.5自然过渡,0.8+硬边缘
Roundness 0-1 形状圆度 1.0完美圆形,0.5适应屏幕比例
Mask 纹理 自定义蒙版纹理 使用星形蒙版创造特殊边框

艺术化应用案例

  • 恐怖游戏‌:高强度(0.7)黑色晕影配合低平滑度(0.1),营造隧道视野效果
  • 复古风格‌:棕色晕影+胶片颗粒,模拟老电影质感
  • UI聚焦‌:短暂增强晕影引导玩家注意关键UI元素

【从UnityURP开始探索游戏渲染】专栏-直达
(欢迎点赞留言探讨,更多人加入进来能更加完善这个探索的过程,🙏)

http://www.jsqmd.com/news/39978/

相关文章:

  • 2025年知名的酶制剂浓缩设备最新TOP厂家排名
  • 2025年比较好的板材超声波探伤厂家最新推荐排行榜
  • cad批量转换pdf格式真的简单!这4个小技巧快收藏
  • 2025年靠谱的螺旋风管厂家最新权威推荐排行榜
  • 2025 年 11 月干燥机厂家推荐排行榜,离心喷雾干燥机,压力喷雾干燥机,气流干燥机,振动流化床干燥机,旋转闪蒸干燥机,回转滚筒干燥机公司推荐
  • ARM MPU内存保护单元 - ENGINEER
  • 2025年热门的镀锌风管厂家最新用户好评榜
  • mybatis ResultHandler 对结果集批处理
  • 从 .NET Core1.0 到 .NET 10:.NET + C# 演进全景
  • 2025年靠谱的手板模型厂家推荐及选择指南
  • 再见 Postman!一款开源免费的全能 API 客户端工具!
  • 无法获得锁 /var/lib/dpkg/lock-frontend
  • 2025年成都殡仪一条龙公司权威推荐榜单:殡仪/殡仪一条龙/陵园墓地源头公司精选
  • 【Linux知识】Linux Service 重启策略 Restart 详解 - 指南
  • open-vm-tools安装
  • 2025年AI营销服务怎么选
  • 2025安全立网销售厂家排行
  • 2025年质量好的焊接氢瓶厂家选购指南与推荐
  • 2025年膜结构景观订做厂家口碑推荐
  • 2025年瑜伽垫源头厂家推荐榜
  • 2025 年 11 月干燥机厂家推荐排行榜,离心喷雾干燥机,压力喷雾干燥机,气流干燥机,振动流化床干燥机,旋转闪蒸干燥机,回转滚筒干燥机,滚筒刮板干燥机,空心桨叶干燥机,真空耙式干燥机公司推荐
  • 2025年糖果上浆机厂商口碑推荐榜单
  • 2025年汽车棚订做厂家口碑排行榜单
  • linux命令ll显示结果的含义
  • 2025年口碑好的通风设备管道TOP品牌厂家排行榜
  • 2025年企业微信服务商综合排名TOP10:数字化转型首选指南
  • 2025年圆盘裹粉机定制厂家推荐排行榜
  • 字节串和字符串对比
  • 双北斗卫星时间同步系统:安徽京准助力基础网络建设准绳
  • 2025年11月国内可平滑替换VMware Workspace ONE产品榜:权威对比