当前位置:首页 > AI与科技 > 正文内容

Unity粒子遇上着色器,引爆视觉特效(转)

admin11小时前AI与科技4

Unity粒子遇上着色器,引爆视觉特效(转)

由Real-Time VFX举办的首届“伟大的变形者”视觉特效大赛已落下帷幕,最终冠军花落Michał Piątek使用Unity中的粒子特效结合着色器实现的作品。今天这篇文章将由Unity技术经理鲍健运,为大家剖析该特效作品的实现过程。

下面先来看看这个特效作品的视频:

根据Michał的思路,他想实现的是类似于“炼金术“一般的,强烈化学反应伴随着奇特物理变形的效果。须臾间圆环膨胀扭转,似银瓶乍破水浆迸。一阵水银泻地之后,复凝结成一混沌,电光火石间化作静置的茶壶。是不是非常的赏心悦目?现在就为大家解析如何实现这些视觉特效。

基本原理

该特效实质上是基于粒子系统驱动的着色器控制画面的表现,场景中的粒子用于控制器物表面的凸起位置、强度和颜色。Michał还同步处理了参考发射器()生命周期的溶解纹理( ),因此可以在Unity粒子系统呈现的动画过程中看到淡出效果。

Unity粒子遇上着色器,引爆视觉特效(转) 第1张

为了进一步优化效果,场景还引入了具有质量和阻力系数的空气阻力模块,以及随机化的吸引器模块,它会针对每个粒子产生吸引力的效果,从而表现出凝结成混沌。

伪3D气泡

Michał撰写了一些自定义的网格着色器,自定义粒子气泡着色器以及自定义模块。伪3D气泡就是其中比较有趣的一个实现。

实现这样的效果需要自定义Unity表面着色器( ),该着色器包含以下参数:

法线贴图,如下所示:

Unity粒子遇上着色器,引爆视觉特效(转) 第2张

Unity粒子遇上着色器,引爆视觉特效(转) 第3张

这里的关键点是,使用法线缓冲( )创建假阴影的环境光遮蔽( ),它有助于展现“3D”外观。基于这样的处理,就能表现出如下图这样非常“真实”的伪3D气泡效果:

Unity粒子遇上着色器,引爆视觉特效(转) 第4张

Unity粒子遇上着色器,引爆视觉特效(转) 第5张

Melt

回顾整个特效的过程,不难发现一切都是从熔化的圆环开始的。Michał写了一个叫Melt 的着色器,作用于圆环和茶壶之上。只要拥有适当的平铺UV(tiled UV),并应用一些噪声纹理,它就可以作用于任意网格。基本上这个着色器的参数都是由粒子系统驱动的,以下就是在材质检视窗口( )的所有参数设置:

Unity粒子遇上着色器,引爆视觉特效(转) 第6张

下面的简短视频显示了这些着色器参数变化对于特效表现的影响。如调节中止阈值( ),可以改变圆环表面粗细及有无的变化显示;改变中止遮罩速度( mask speed),就直接改变了它们的变化速度;修改塌陷强度( ),会影响圆环表面的塌陷凹凸状变化的效果;增加重力强度( )unity着色器和屏幕特效开发秘笈完整版 pdf,会产生圆环在重力作用下向平面的塌陷效果。这些综合起来可以理解为,这个着色器“挤压”网格,并为它施加一个伪重力,即着色器越是给网格施压,物体就越是靠近地面。假定地面是平坦的unity着色器和屏幕特效开发秘笈完整版 pdf,就可以通过使用地形高度图( )作为地面等级来改善着色器。

视频中展现的着色器的另一部分,即调整噪音缩放(Noise ),用于改变特效的随机化程度。其实就是基于纹理的溶解和在顶点着色器中采样的噪音纹理。

下面来分析粒子系统驱动的数据,Michał使用粒子的尺寸(Size)和颜色(Color)来控制一些着色器参数。为了更好的进行参数调整Unity粒子遇上着色器,引爆视觉特效(转),脚本除了引用了“熔化”对象的渲染器( )和粒子渲染器( ),还添加了网格剔除值( Value),塌陷强度( ,即重力)和发光强度倍数值( ),以曲线的形式编辑。如下图所示:

Unity粒子遇上着色器,引爆视觉特效(转) 第7张

最后提交大赛评审的版本,事实已经禁用了粒子渲染,因为这些粒子只是为了将数据传递给着色器,不会执行任何其它操作。

下面的操作视频打开了粒子渲染Unity粒子遇上着色器,引爆视觉特效(转),帮助大家理解特定参数的调整所引起的变化:

那这些粒子到底是如何驱动着色器的呢?这点在Unity中实现并不复杂。

1、有这样一个API:

int ( );

Unity粒子遇上着色器,引爆视觉特效(转) 第8张

其作用是将粒子数据写入一个粒子数组作为缓冲,返回值就是该粒子的数量。

2、粒子的每个参数都可以被读取,比如尺寸、速度、位置、颜色、透明值等。在运行时还可以使用、、,获得当前状态下的颜色、二维尺寸和三维尺寸

3、取得这些数值后,便可以通过“圆环”的渲染器,去修改应用该渲染器的材质的着色器参数。而这里只需做几件事:用尺寸(Size)设定点亮面积的大小;用透明值(Alpha)设置网格变形值;在粒子发射器的生命周期内,基于网格剔除值、塌陷强度和发光强度倍数的曲线进行变化。

这样,就能产生粒子系统驱动着色器的效果了。

Post Stack

为了表现绚丽的画面效果,Michał还在项目中添加了Unity官方的Post Stack进行摄像机后期处理。

Unity粒子遇上着色器,引爆视觉特效(转) 第9张

上图就是使用了图像晕光(Bloom)效果,结合HDR产生流光溢彩的视觉体验。此外,项目还运用了屏幕空间环境光遮蔽( Space )和运动模糊( Blur)的后处理特效unity着色器和屏幕特效开发秘笈完整版 pdf,使得特效的展现更为流畅平滑。

最后

如果大家对于这个特效作品还是意犹未尽,Michał还生成了一个exe的可执行项目可供参考。

项目请点击链接到原帖下载

加入微信交流群:************ ,请猛戳这里→点击入群

扫描二维码推送至手机访问。

版权声明:本文由全景资讯网发布,如需转载请注明出处。

本文链接:https://qjnew.com/post/8023.html

分享给朋友:

“Unity粒子遇上着色器,引爆视觉特效(转)” 的相关文章

发展太空科技有什么好处

发展太空科技有什么好处

在当今飞速发展的科技时代,太空科技无疑成为了最具潜力和吸引力的新赛道之一。它融合了物理学、工程学、计算机科学等多个领域的顶尖技术,正以前所未有的速度推动着人类社会的进步。太空科技的前沿发展现状令人瞩目。在航天器领域,各类新型卫星不断涌现。例如,通信卫星的容量和传输速度大幅提升,使得全球范围内的高速互...

AI 医疗机器人研发取得进展,手术精度提高

AI 医疗机器人研发取得进展,手术精度提高

在当今科技飞速发展的时代,医疗领域也迎来了一场性的变革,AI 医疗机器人的研发取得了令人瞩目的进展,其中最为显著的成果之一便是手术精度的大幅提高。AI 医疗机器人作为医疗领域的新兴力量,正逐渐改变着传统的医疗模式。它集成了先进的人工智能技术和精密的机械装置,能够在手术过程中发挥出超乎想象的作用。通过...

环保领域的 AI 应用,助力污染监测与治理

环保领域的 AI 应用,助力污染监测与治理

在当今社会,环保问题日益受到关注,污染监测与治理成为了至关重要的任务。而人工智能(AI)技术的迅速发展,为环保领域带来了全新的机遇和挑战,AI 应用在污染监测与治理中发挥着越来越重要的作用。AI 在污染监测方面展现出了卓越的能力。传统的污染监测手段往往依赖于人工采样和实验室分析,这种方式不仅效率低下...

AI 在能源管理中的应用,实现节能减排

AI 在能源管理中的应用,实现节能减排

在当今全球环境问题日益严峻的背景下,节能减排成为了各个领域的重要任务。而人工智能(AI)作为一种先进的技术,正逐渐在能源管理领域发挥着关键作用,为实现节能减排目标提供了强大的支持和解决方案。AI 在能源管理中的应用首先体现在能源数据的采集与分析方面。通过安装在各种能源设备和系统上的传感器,AI 可以...

AI 在宠物智能设备中的应用,关注宠物健康与生活

AI 在宠物智能设备中的应用,关注宠物健康与生活

在当今数字化时代,人工智能(AI)正逐渐渗透到我们生活的各个领域,宠物领域也不例外。宠物智能设备借助 AI 技术,为宠物主人提供了前所未有的方式来关注宠物的健康与生活,给宠物和主人都带来了诸多便利与惊喜。AI 在宠物健康监测方面发挥着重要作用。许多宠物智能设备配备了先进的传感器,能够实时监测宠物的各...

AI 在智能垃圾桶中的应用,实现垃圾分类与清理提醒

AI 在智能垃圾桶中的应用,实现垃圾分类与清理提醒

在当今环保意识日益增强的时代,垃圾分类成为了我们生活中不可或缺的一部分。为了更好地推动垃圾分类工作,提高垃圾处理效率,AI 技术在智能垃圾桶中的应用正逐渐展现出巨大的潜力。智能垃圾桶借助 AI 的力量,能够实现精准的垃圾分类。传统垃圾桶往往只能简单地将垃圾分为可回收物、有害垃圾、厨余垃圾和其他垃圾等...