【unity插件】Post Process 后期效果 画面特效 颜色替换
插件的说明文档、安装方式:
Installation | Post Processing | 3.2.2
资源备份:
PostProcessing2(UnityPackage后期处理视觉效果处理)-Unity3D文档类资源-CSDN下载
一、创建空物体,添加组件:Post-process Volume。
新建一个profile
Add effect添加需要的效果。
将这个对象的Layer设置为特定的层,这里我命名为Post-process。
- Is Global:是否在全局应用效果。勾选就是全局,否则是局部效果。
- 局部效果需要再添加一个3D collider,比如Box Collider。当Camera进入Collider,便可以看到添加的画面效果。
二、在Camera上添加组件:Post-process Layer
- 设置trigger。点后面的This按钮即可。
- 设置Layer,设置为Post-process
- Trigger:设置某个对象的 Transform 用作特效的触发器。
- 这个 Transform 控制混合功能,Unity 默认将 Camera 分配给Trigger。也可以使用其他游戏对象来控制混合功能。
- 例如,在一个top-down game中,或许用玩家角色 GameObject 来驱动混合更加合适,而不是相机 Transform。
- 当此字段设置为 None 时,将禁用该层的局部Volume(全局Volume正常工作)。
- Layer:这里Layer不是指要对哪些层进行渲染,而是选择volume所在的Layer,只有这些Layer上的Volume的效果会被渲染。
一些Effect:
调色相关——Color Grading 的一些功能:
原始画面:
更高饱和度: Hue Vs Sat
改变色相:Hue Vs Hue
去色/保留:Hue Vs Sat
颜色替换
用于颜色替换的初始图片:
- 在Ps里,将画面调色至满意的效果
- 将应用的效果叠加在这张初始LUT
- 保存修改后的LUT,放进Unity中。
- 将Lookup Texture指定为该LUT,即可对画面进行颜色替换。
代码部分:
using UnityEngine.Rendering.PostProcessing;
创建新Volume:
[
public PostProcessVolume QuickVolume(int layer, float priority, params PostProcessEffectSettings[] settings)
]
示例:动态创建一个Bloom。并在Update中控制其亮度变化。
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;public class Test : MonoBehaviour
{PostProcessVolume m_Volume;Bloom m_bloom;float startValue = 12.68f;void Start(){// Create an instance of a Bloomm_bloom = ScriptableObject.CreateInstance<Bloom>();m_bloom.enabled.Override(true);m_bloom.intensity.Override(startValue);// Use the QuickVolume method to create a volume with a priority of 100, and assign the bloom to this volumem_Volume = PostProcessManager.instance.QuickVolume(gameObject.layer, 100f, m_bloom);}void Update(){// Change intensity using a sinus curvem_bloom.intensity.value = startValue + Mathf.Sin(Time.realtimeSinceStartup)*6f;}void OnDestroy(){RuntimeUtilities.DestroyVolume(m_Volume, true);}
}
这段代码创建一个新的Bloom效果并将其分配给新生成的Volume。然后,在每一帧改变泛光的强度。为避免内存泄漏,请在不再需要时销毁Volume和附加的Profile。
配置文件编辑
您也可以手动编辑一个或多个Volume使用的现有配置文件(profile)。为此,您可以使用PostProcessVolume
. 每个字段的效果略有不同:
- 直接修改shared profile:
- 类字段名称:sharedProfile
- 将会更改应用到使用相同配置文件的所有Volume
- 修改了asset——退出播放模式时不会重置
- 请求一个shared profile的克隆,仅用于此Volume:
- 类字段名称:profile
- 将更改应用到指定的Volume
- 退出播放模式时重置
- 当您不再需要配置文件时,您必须手动销毁它
PostProcessProfile
类
包含以下实用方法:
实用方法 | 描述 |
---|---|
T AddSettings() | 为profile创建、添加且返回一个T类型的新effect。如果已经存在则抛出异常 |
PostProcessEffectSettings AddSettings(PostProcessEffectSettings effect) | 将您创建的effect添加到profile,并返回该effect。 |
void RemoveSettings() | 从profile中删除effect。如果不存在则抛出异常。 |
bool TryGetSettings(out T outSetting) |
从profile中获取effect。如果找到 profile,则返回 true,反之返回 false
|
/PostProcessing/Runtime/PostProcessProfile.cs
您可以在源文件中找到更多方法。
重要提示:您必须销毁任何手动创建的 profile 或 effect 。
补充说明
如果需要在运行中实例化PostProcessLayer
,必须将PostProcessResources
文件绑定到它。
AddComponent之后,调用PostProcessLayer
的Init()
,将PostProcessResources
文件作为参数使用。
例:
var postProcessLayer = gameObject.AddComponent<PostProcessLayer>();
postProcessLayer.Init(resources);
【unity插件】Post Process 后期效果 画面特效 颜色替换相关推荐
- 【Unity Shaders】游戏性和画面特效——创建一个老电影式的画面特效
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
- 【Unity Shaders】游戏性和画面特效——创建一个夜视效果的画面特效
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
- Unity插件精选:炫酷粒子特效(V客学院知识分享)
粒子系统常被用来制作游戏场景中的火焰,爆炸效果,激光束,玻璃碎片,及法术等特效.再配合以合适的音效,让玩家拥有最为真实的游戏感受. 什么是粒子系统? 粒子系统其实就是一个拥有ParticleSyste ...
- unity 插件之灯光 效果 调节
*Post-process插件的使用 此效果不能用于webgl1.0 如果想打包成webgl必须在playersetting中移除webgl1.0 如果想要好的话 Color Space 一定要选择L ...
- unity 彩带粒子_Unity粒子系统插件,打造酷炫魔幻特效
原标题:Unity粒子系统插件,打造酷炫魔幻特效 儿时的你是否也会幻想自己拥有超能力,能召唤各种水光火电或是操纵世间万物?现在的我们已经不需要幻想了,因为游戏就能满足所有的这些或天真或童趣的想法.而作 ...
- Unity从零开始实现一个全息效果Shader
Unity从零开始实现一个全息效果Shader 前言 开始捣鼓 一.准备阶段 二.先从透明效果开始 三.顶点故障效果 四.扫描线效果 五.菲尼尔反射效果 六.颗粒效果 七.颜色故障效果 CustomE ...
- Asset Store上常用的40个Unity插件汇总——进阶开发者必备Unity插件
上篇文章着重介绍了Unity Asset Store(Unity资源商店)上一些超棒的资源与素材. unity老司机的资源推荐与常用插件汇总合集 - 简书 Unity插件资源购买小技巧 - 简书 本篇 ...
- Unity插件——Mega-Fires Mesh变形插件使用心得
插件使用--Mega-Fires Mesh变形插件使用心得 一,开发环境 二,插件使用前准备工作 三,使用流程 四,Mega-Fires的常见组件介绍 1.Bend:弯管 2.Bubble:泡沫 3. ...
- Unity 实现自定义图片破碎效果-2D_Destruction
Unity 实现自定义图片破碎效果-2D_Destruction 导引 效果预览 源码下载地址 实现流程 1.添加SrpiteRenderer组件 2.添加Explodable组件 3.Polygon ...
- 【Unity插件】最多的插件合集
一.前言 ? 最近整理了一下文章,发现我分享了很多的插件,但是如果要查找某一款插件,还需要去搜索才能找到,很不方面,就想要将写过的所有的插件分享也好,教程也好,做一个汇总,然后这篇文章还会不断的更新, ...
最新文章
- 《JavaScript高级程序设计》心得笔记-----第四篇章
- 无责任畅想:云原生中间件的下一站
- (转)Java中的private、protected、public和default的区别
- 【网络流24题】餐巾计划问题(最小费用最大流)
- linux 字符下 上网,Linux下实现字符串截取方法总结(示例代码)
- Oracle查询一个范围,oracle字段范围查询
- Guava Cache本地缓存
- 项目管理办公室(PMO) 的不同定位
- 生信技能树课程记录笔记(七)20220602-20220604
- 《OpenGL编程指南(原书第9版)》——第3章 3.0OpenGL绘制方式
- c语言计算sum,C++ partial_sum(STL partial_sum)部分和计算方法详解
- guided filter matlab,导向滤波(Guided Filter)的解析与实现
- XXL-Job Docker部署
- 粉笔公考——方法精讲——资料分析
- latex里图片大小如何调整_怎样用latex修改插入图形的大小,使图形大小一致。...
- Convex Optimization
- UCI计算机工程必修专业课,UCI大学尖端专业学科盘点
- 网易云 -微信小程序-vue
- 牛客小白月赛6 C.桃花
- Cadence AMS Designer混合信号仿真教程
热门文章
- 项目实战:DIY光驱激光雕刻机-激光切割机 (含制作步骤 实物 图纸 程序 上位机软件 )下载
- 汉诺塔c 语言程序代码,汉诺塔 (C语言代码)
- svn 服务器中文件删除,svn中如何彻底删除一个文件
- PDF文档阅读必备的PDF阅读器
- 微型计算机原理小闹钟,微机原理课程设计_电子钟的设计.doc
- OpenWrt Image Builder 制作带插件的HG255D固件记录
- 日月神话_启动成本的神话
- docker安装oracle11g史上最全步骤(带图文)
- 计算机的工作原理机电原理,机电控制系统原理及工程应用
- HEVC代码学习0:HM使用+码流分析教程