美文网首页
UnityTips 粒子系统的 Velocity

UnityTips 粒子系统的 Velocity

作者: 暴走TA | 来源:发表于2024-04-25 11:17 被阅读0次

简介: 最近再次翻阅官方文档时,看到了 粒子的 Velocity over lifetime 模块一些有意思的属性,在我老旧的4点几的文档脑库里是没有的。挺有意思研究一下。官方记载,此模块的 speed modifier 是在 2017.3 中加入的,而 OribitalXYZ 、OffsetXYZ 和 Radial 属性是在 2018.1 中加入的。我一个也不大经常做特效的人,对这些属性也只能算是从名字上有一些了解。调试一下看看啥效果。
unity版本: 6000.0.0b15
管线:URP
相关官方文档: 官网文档链接

Velocity over Lifetime 模块

unity 传统内置 particle system 的一个用于调整粒子速度的模块,Velocity 翻译成中文有:高速、快速、速率的意思。整个模块的意思就是在粒子生命周期内(从单个粒子被发射出来到消亡)可以调整粒子的速度。

属性

PartSysVelOverLifeInsp.png
对于我来说基本等于重新认识整个模块,因为之前的属性很少,可能就没有这个模块(也可能我记忆错乱,毕竟我之前脑中系统的文档知识库是unity4点几的文档,太久远了)。
我们先做一个基本粒子,
他的生命为2
速度为1
发射器位置归0
发射器Z轴向上
因为在不做特殊形状和朝向设置的情况下,粒子沿发射器Z轴射出
一个高2米的方形
一个高4米的方形
Z轴向上的基本实验环境

Linear

这个属性很简单,就是在指定的一个轴向上对速度进行叠加,这个我们可以通过设置一个轴向的速度变化来测试。我们给 Linear 的Z轴设置为1,可以看到粒子可以飘到的最远距离变成了4米,由此验证,这些值是通过加法的形式影响粒子的速度的。当然,当我们设置Z为-1时,粒子便不动了

Lienar,Z 设置为1
Lienar,Z 设置为-1
Space用来指定我们 Linear 轴向指的是发射器的轴向,还是世界空间的轴向,道理很简单,就不再上图了。下面的几个属性才是有意识的。

Orbital 轨道

中文翻译为 轨道的,高速环形、轨道形。
我理解为就是给一个粒子的偏移力,这个力的朝向不是简单的为发射器空间或则世界空间,更像是一直拉着粒子向粒子的左边,右边,上边,下边这样。
例如我们给粒子施加一个相对于粒子向右的力,如果粒子的初始发射方向在世界空间是向上的,那么他的轨迹会随着时间向右,由于拉力的影响当粒子轨迹在世界空间向右的时候这个拉力在世界空间也已经变成了向下拉。但这个力相对于粒子来说依然是向右。
那么自然这样会有一个中心点,这个中心点不是我们指定的,是根据我们给的这个轨道力,自动形成的。理解这个才便于理解后面的 offset 属性。
我们的轨道力越大,这个中心点里我们的粒子发射器就越近,因为粒子偏移的厉害,
我们的轨道力越小,这个中心点离我们的粒子发射器就越远。
然后是这里的轴是旋转轴,就是绕这个这个轴旋转的力,如果设置的是Y轴,那么粒子是在XZ 平面内偏移的。
在此之前我们给粒子染个色,在生命开始时为绿色,中间为白色,生命快结束时为红色。

orbital.gif 力的大小对半径的影响,这里的粒子生命设置的比较大 orbital3.gif

Radial 放射力

我们先看 Radial ,这样便于观察 Offset 的变化
官方解释,是指从一个将粒子从发射器向外推粒子的力,有点类似于扩张力,从发射器到粒子当前位置连一条线,这条线就是就是力的方向。值越大推理越大,粒子会里中心越来越远 (虽然正常发射也会越来越远,但是轨道力不是可以让它转圈吗,这个Radial的力是肯定会把粒子推远的)

radial.gif

Offset 偏移

这个值比较有意思,的意思是偏移我们轨道力的中心点的位置,中心的位置改变,势必会影响轨道的大小,以为粒子发射器到轨道力中心点的距离其实使我们轨道的半径,这个距离的变化势必会影响我们轨道圆环的大小。
为什么说有意思呢。通过前面对 Radial 的理解,我们通过修改轨道力也可以改变圆环的大小,但是呢,轨道力小了,我们的圆环无法闭合,轨道力大了,我们的圆环就会成为套圈,所以当我们需要用轨道力做一个正好收尾相接的圆环,当我们做完后,需要修改半径时,改完轨道力,圆环的收尾大概率是会错的,我们需要重新调整粒子的速度或者生命周期。这时候这个偏移值就派上用场了。
当我们做了一个正好收尾相接的圆环,我们需要调整圆环的大小时,我们直接调整这个 Offset 的值,则系统内部会自动计算粒子的速度,如果圆环变大,则粒子速度会变大,这样圆环依然可以闭合,如果圆环变小,则粒子速度会变慢,圆环依然可以闭合。


offset.gif

简单小样例

sample.gif

相关文章

  • Unity的粒子系统(三)

    终于有时间拾起角落里的Task,继续来探索有趣的粒子系统. 4. Velocity over Lifetime(生...

  • Unreal万能材质球模板参考0120bate1

    粒子系统:1.新建粒子系统2.新建粒子材质3.将粒子系统拖放进关卡 或者

  • 粒子系统参数详解

    详解unity粒子系统的参数 粒子系统 Duration:粒子发射的持续时间(设置5秒,粒子发射器会持续发射5秒)...

  • 粒子动画的使用和原理

    什么是粒子系统 粒子系统通过发射许多微小粒子来表示不规则模糊物体。粒子系统常用于游戏引擎,用来实现火、云、烟花、雨...

  • 音视频开发之旅(15) OpenGL ES粒子系统 - 喷泉

    目录 粒子和粒子系统 实践:喷泉效果 遇到的问题 资料 收获 通过该篇的实践实现如下效果 一、什么是粒子和粒子系统...

  • iOS-[QuartzCore框架](CAEmitterLaye

    在粒子系统中,CAEmitterLayer负责发射粒子(当然粒子也可以发射粒子),而这些所谓的粒子,就是CAEmi...

  • 粒子系统

    粒子系统:资产 发射器 Actor:在场景中使用粒子系统 Cascade(级联):编辑粒子系统 发射器:多个发射器...

  • 粒子系统与创建克隆

    一、粒子系统 初识粒子特效: 粒子系统可以制作烟雾、气流、火焰和各种大气效果。粒子特效不能单独出现,必须依赖游戏对...

  • 粒子

    ParticleSystem GameStart:常数设置 Duration(粒子持续时间):粒子系统发射粒子的持...

  • 遍历修改粒子系统渲染材质的问题

    问题描述: 当粒子系统中只有renderer材质,没有拖尾材质时,尝试遍历并修改粒子系统下的材质时,粒子系统下的材...

网友评论

      本文标题:UnityTips 粒子系统的 Velocity

      本文链接:https://www.haomeiwen.com/subject/ydhnxjtx.html