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

Unity——后期处理举例

Post Processing(后期处理)并不属于特效,但现代的特效表现离不开后期处理的支持。本文以眩光(Bloom)为例,展示一种明亮的激光的制作方法


1、安装后期处理扩展包

较新的Unity版本已经内置了新版的后期处理扩展包。通过添加组件可以判断是否已经安装了新版的后期处理扩展包。

在任意物体下新建组件,搜索“post”,如果看到Post-process Debug等三个后期处理相关的组件,就说明已经安装了扩展包。如果没有,也可以用Package Manager单独安装,而且升级该扩展包时也需要使用Package Manager。下面简单介绍下Package Manager的使用方法。

选择Window->Package Manager,打开Package Manager窗口,等待加载完毕后,可以看到大量的扩展包,也可以Update(更新)或Install(安装)该扩展包。

打开Package Manager窗口后可能只会看到少数几个扩展包,这时要稍加等待,待加载岸壁厚才会看到大量扩展包信息。

由于服务器和网络原因,有时会遇到较长时间的网络卡顿,列表迟迟加载不全。如果2分钟后还是没有完全加载,则需要关闭Unity之后再重试。

2.添加Post Process Volumn组件

"Post Process Volume" 是一个游戏开发中的概念。它是一种在游戏场景中应用特定的后期处理效果的方式。通过在场景中放置 Post Process Volume,开发者可以控制光照、颜色校正、景深、曝光等效果的呈现方式。这样可以为游戏增添更多的视觉效果和氛围,增强游戏的沉浸感。

Unity的后期处理支持在场景中指定多个后处理区域,每个区域称为一个Post Process Volumn。创建它的方法是先新建一个空物体,可以命名为pp,然后给空物体添加Post Process Volumn组件

添加组件后勾选第一个属性Is Global,它表示这个后处理设置会应用于整个场景。由于这个例子比较简单,只需要让全场景使用同一个后期处理配置就可以了。

之后单击Profile(配置档案)右边的New按钮,则会在工程中新建一个配置文件。选中Profile文件,然后再Inspector中单击Add effect,选择Unity->Bloom。然后将其Intensity参数修改为2

 3.添加Post Process Layer组件

"Post Process Layer" 是一个在游戏开发中常用的概念。它是一种用于实现特定的后期处理效果的方式。在游戏引擎中,可以创建多个 Post Process Layer,并将它们分配给不同的渲染层级或相机。每个 Post Process Layer 可以有自己的后期处理效果,比如颜色校正、景深、曝光等。通过使用 Post Process Layer,开发者可以根据需要为不同的场景或相机应用不同的后期处理效果,实现更加个性化和精细的视觉效果。

有了场景中的设置,还需要再摄像机上进行设置才能让后期效果生效。给场景中的主摄像机添加Post Process Layer组件,并将Trigger设置为Main Camera,再将Layer选项设置为Everything即可

3.创建激光物体

为了简单起见,直接新建一个圆柱体,缩放成细长条状,旋转到合适的角度,然后再船舰一个新的材质赋给圆柱体。

修改该材质,使用默认的Standard着色器,修改Albedo(漫反射颜色)为红色;再勾选Emission(发光),勾选后会多出一个发光颜色的选项,修改颜色为红色,并注意要选择颜色窗口下方的Intensity选项

 发光颜色是一种特殊的HDR颜色,比一般的颜色多了Intensity属性。

实际效果:

 

 

http://www.lryc.cn/news/141946.html

相关文章:

  • PMP P-05 Quality Management
  • vue中css修改滚动条样式
  • uniapp的H5实现图片长按保存
  • Java 8:Stream API 流式操作(学习)
  • 04_20 直接使用代码 创建内核模块获取物理内存信息
  • <C++> STL_list
  • 聚类分析 | MATLAB实现基于FCM模糊C均值聚类结果可视化
  • C++笔记之设计模式:setter函数、依赖注入
  • Spring MVC详解
  • 谷歌公开.zip域名,应采取哪些措施应对可能的安全风险?
  • css3滤镜属性filter让网页变黑白
  • C++教程 - How to C++系列专栏第5篇
  • Vue2向Vue3过度核心技术插槽
  • vite配置electron、ElementPlus或者AntDesignVue
  • 时序分解 | MATLAB实现基于SVD奇异值分解的信号分解分量可视化
  • 强化学习系列--时序差分学习方法(SARSA算法)
  • 深度学习9:简单理解生成对抗网络原理
  • adb shell setprop 、开发者选项
  • 性能测试面试问题,一周拿3个offer不嫌多
  • Android Bitmap压缩
  • 不同子网络中的通信过程
  • Ubuntu Touch OTA-2 推出,支持 Fairphone 3 和 F(x)tec Pro1 X
  • 【网络】数据链路层——MAC帧协议 | ARP协议
  • 【Spring Boot】Spring Boot自动加载机制:简化应用程序的启动
  • centos7搭建apache作为文件站后,其他人无法访问解决办法
  • 【开个空调】语音识别+红外发射
  • 【hibernate validator】(二)声明和验证Bean约束
  • Redis持久化机制之RDB,AOF与混合AOF
  • 为啥外卖小哥宁愿600一月租电动车,也不花2、3千买一辆送外卖!背后的原因......
  • 分布式定时任务框架Quartz总结和实践(2)—持久化到Mysql数据库