Unity 之 使用后处理的方式实现暗角效果

news2024/11/18 3:34:15

Unity 之 后处理URP工程实现边角压暗效果

  • 一,URP工程配置
  • 二,代码调用
  • 三,实现原理

一,URP工程配置

  1. 在Hierarchy界面,创建空物体 GameObject,右键选择Volume菜单下的Global Volume

    创建后的结果:

  2. 设置Volume的Profile,点击右侧的New新创建一个配置文件,或者新建文件夹右键选择Create -> Volume Profile

    创建完成后赋值过去:

  3. 添加边角压暗效果:Vignette组件,Add Override -> Post- processing -> Vignette:

  4. 组件内容,从上到下依次是:颜色,中心点,强度,平滑度,圆

  5. 开启摄像机的Post Processing选项:

  6. 运行看下效果:


二,代码调用

创建代码命名为PostProcessingProfile,并挂载到Global Volume 物体上如下图:

代码内容如下:
测试用例:按下A设置强度为1显示效果,按下S设置强度为0关闭效果:

using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;

public class PostProcessingProfile : MonoBehaviour
{    
    // 后处理的配置容器
    private Volume _volume;
    // 根据Inspector面板上的组件创建对应类型变量
    private Vignette _vignette;
    
    void Start()
    {
        // 获取容器
        _volume = GetComponent<Volume>();
        // 获取此容器下添加的组件
        _volume.profile.TryGet(out _vignette);
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.A))
        {
            SetIntensity(1);
        }
        if (Input.GetKeyDown(KeyCode.S))
        {
            SetIntensity(0);
        }
    }

    // 设置颜色
    void SetIntensity(Color color)
    {  
        _vignette.color.Override(color);
    }
    
    // 设置中心点
    void SetIntensity(Vector2 vector2)
    {  
        _vignette.center.Override(vector2);
    }
    
    // 设置强度 x:0~1
    void SetIntensity(float x)
    {  
        _vignette.intensity.Override(x);
    }
    
    // 设置平滑度 x:0~1
    void SetSmoothness(float x)
    {  
        _vignette.smoothness.Override(x);
    }
    
    // 是否是正圆
    void SetRounded(bool isRound)
    {  
        _vignette.rounded.Override(isRound);
    }
}

三,实现原理

相关推荐:Unity 之 Post Processing后处理不同项目配置(URP项目配置)

Post Processing
后期处理是指在摄影机绘制场景之后但在屏幕上渲染场景之前出现的全屏图像处理效果的通用术语。后期处理可以大大提高产品的视觉效果,只需很少的设置时间。

Post Processing 官方文档: https://docs.unity3d.com/Packages/com.unity.postprocessing@3.2/manual/index.html

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

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

相关文章

ahut 月赛1

心得: 一点一点理解&#xff0c;对于一段要学习的代码&#xff0c;跟着写下来&#xff0c;理解一点写一点 对于一道题目&#xff0c;用记事本&#xff0c;看题目&#xff0c;看一句题目&#xff0c;用自己的话概括一句&#xff0c;写在记事本上&#xff0c;并将自己的 想法一…

在JavaScript中的数据结构(链表)

文章目录 链表是什么&#xff1f;链表的好处详细的看一下列表单向链表实操链表向链表尾部追加元素从链表中移除元素根据元素的值移除元素在任意位置插入元素查找链表是否有改元素检查链表是否为空检查链表的长度查看链表头元素把LinkedList对象转换成一个字符串打印链表元素 双…

盖雅「劳动力账户」:制造业全面工时成本管理利器

制造业是国民经济的重要支柱之一&#xff0c;也是国家实体经济发展的重点。随着国际竞争加剧&#xff0c;制造业企业需要不断优化和提升生产效率、降低成本&#xff0c;并保证产品的质量和可靠性。 在这过程中&#xff0c;制造业企业需要寻找新的技术与方法&#xff0c;挖掘生…

saltstack草稿

salt [options] <target> <module.function> [arguments] salt的自建函数&#xff1a; salt * test.rand_sleep 120 salt/salt/modules/test.py 这个是salt自带的包 salt * disk.usage salt -G ipv4:192.168.50.12 cmd.run ls -l /home salt * grain…

微服务开发系列 第九篇:OAuth2

总概 A、技术栈 开发语言&#xff1a;Java 1.8数据库&#xff1a;MySQL、Redis、MongoDB、Elasticsearch微服务框架&#xff1a;Spring Cloud Alibaba微服务网关&#xff1a;Spring Cloud Gateway服务注册和配置中心&#xff1a;Nacos分布式事务&#xff1a;Seata链路追踪框架…

CSS查缺补漏之《说一说CSS3有哪些新特性?》

面试时经常会被用到你了解CSS3新特性嘛&#xff0c;针对此问题&#xff0c;特整理如下~ 背景相关 background-size&#xff1a;用于设置背景图的尺寸 可选属性值有 length、percentage、cover、contain、auto length用长度值规定背景图片大小&#xff0c;若有两值&#xff0c;…

阿里云无影云电脑使用教程(3分钟新手指南)

​阿里云无影云电脑即无影云桌面&#xff0c;云桌面如何使用&#xff1f;云电脑创建后没有用户名和密码&#xff0c;先创建用户设置密码&#xff0c;才可以登录连接到云桌面。云桌面想要访问公网还需要开通互联网访问功能。阿里云百科来详细说下阿里云无影云电脑从选择、创建用…

项目管理,如何做到流程标准化?

项目管理如何做到刘春标准化&#xff1f;要想做好项目管理&#xff0c;可以借助于信息化工具&#xff0c;从以下方面入手&#xff1a; 1.明确目标 在项目管理中&#xff0c;确定团队的目标是非常重要的。团队需要制定一个清晰、可衡量的目标&#xff0c;以便能够全力以赴地实…

sqlserver------数据库的存储过程(练习)

对于数据库的存储过程之前的专题有讲过 这里具体讲述存储过程的编写方法&#xff1a; 例题&#xff1a;有heat表和eatables两张表&#xff0c;分别为&#xff1a; eatables heat&#xff1a;protein&#xff08;蛋白质&#xff09;&#xff0c;fat&#xff08;脂肪&#xff…

【计算机网络自顶向下】如何学好计网-第四章网络层

第四章 网络层 学习目的&#xff1a; 理解网络层服务的主要原理 网络岑服务模型转发&#xff08;forwarding&#xff09;和路由&#xff08;routing&#xff09;的概念对比路由器的工作原理路由算法及路由协议 完成简单的组网及IP地址和路由配置 4.1 引言 网络层提供的功能…

前端vue自定义简单实用下拉筛选 下拉菜单

前端vue自定义简单实用下拉筛选 下拉菜单, 下载完整代码请访问: https://ext.dcloud.net.cn/plugin?id13020 效果图如下: #### 使用方法 使用方法 <!-- titleArr: 选择项数组 dropArr: 下拉项数组 finishDropClick: 下拉筛选完成事件--> <ccDropDownMenu :titleA…

解密Prompt系列3. 冻结LM微调Prompt: Prefix-tuning Prompt-tuning P-tuning

这一章我们介绍在下游任务微调中固定LM参数&#xff0c;只微调Prompt的相关模型。这类模型的优势很直观就是微调的参数量小&#xff0c;能大幅降低LLM的微调参数量&#xff0c;是轻量级的微调替代品。和前两章微调LM和全部冻结的prompt模板相比&#xff0c;微调Prompt范式最大的…

21. 算法之动态规划

1. 概念 动态规划(Dynamic Programming)&#xff0c;是一种分阶段求解的方法。动态规划算法是通过拆分问题&#xff0c;定义问题状态和状态之间的关系&#xff0c;使得问题能够以递推&#xff08;或者说分治&#xff09; 的方式去解决。 首先是拆分问题&#xff0c;就是根据问…

生产报工软件怎么选?一定要看这几点,值得收藏!

生产报工软件怎么选&#xff1f; 适合项目型企业&#xff0c;支持移动端报工&#xff1b;可以进行工时上报、工时统计、人力成本核算&#xff1b;满足中大型企业需求。 题主的要求可以说非常具有代表性了&#xff0c;今天我们就来看一看如何寻找到这样的报工系统。 一、为什…

Alibaba Cloud Linux安装Nginx以及常用命令

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、安装C编译器&#xff0c;以及所需要的库二、下载和安装PCRE三.Ngxin相关命令 总结 前言 提示&#xff1a;系统是Alibaba Cloud Linux 3.2104 LTS 64位&…

批量更新状态功能在设备巡检、人员管理、工序流转等场景的应用

二维码已被应用在了各式各样的场景中&#xff0c;譬如教育培训、会议签到、产品展示等等。其中有很多场景需要一次性运用到大量的二维码&#xff0c;如人员管理、工序流转、设备巡检等&#xff0c;可以使用批量添加记录功能使工作效率近一步提升。 原先为一批二维码添加记录时…

dubbo3 Cluster wrapper初始化及extensionloader分析

从以下代码&#xff0c;可以看到dubbo默认的服务是failover SPI("failover") public interface Cluster {String DEFAULT "failover";Adaptive<T> Invoker<T> join(Directory<T> directory, boolean buildFilterChain) throws RpcExce…

达梦MPP集群搭建、DEM管理工具搭建MPP集群应用

说明... 3 两节点MPP集群手动搭建... 4 1、配置dm.ini 4 2、配置dmmal.ini 5 3、配置dmmpp.ctl 5 4、启动EP01和EP02数据库实例&#xff0c;系统搭建完成。... 6 MPP使用&#xff1a;... 6 使用DEM管理系统搭建MPP3节点集群... 10 一、达梦DEM部署... 11 1、创建DEM库…

计算机网络管理 常见的计算机网络管理工具snmputil,Mib browser,SNMPc管理软件的功能和异同

⬜⬜⬜ &#x1f430;&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea;(*^▽^*)欢迎光临 &#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea;&#x1f430;⬜⬜⬜ ✏️write in front✏️ &#x1f4dd;个人主页&#xff1a;陈丹宇jmu &am…

【C++ 基础篇:25】:【重要模板】C++ 算术(赋值)运算符重载及自增自减运算符重载【以 Date 日期类为例】

系列文章说明 本系列 C 相关文章 仅为笔者学习笔记记录&#xff0c;用自己的理解记录学习&#xff01;C 学习系列将分为三个阶段&#xff1a;基础篇、STL 篇、高阶数据结构与算法篇&#xff0c;相关重点内容如下&#xff1a; 基础篇&#xff1a;类与对象&#xff08;涉及C的三大…