UnityParticle1:粒子系统简介
前置:UnityShader
一、创建粒子
创建方式:GameObject -> Effects -> ParticleSystems,这和创建 3D 物体方法一样,就是分类选择 Effects 就好
粒子系统这特殊又复杂的 Inspector 界面初看感觉很吓人,这是因为粒子的属性实在是太多了,因此不得不将它们分为一个一个模块,模块左边复选框上的勾勾就表示启用该模块,一般来讲,最常用的就是 Emission & Shape 和 Renderer
当然对于模块的了解可以放放,后面有机会用到时再看也不迟
粒子特效预览界面
从上到下依次为:
- Playback Speed:粒子模拟整体速度
- Playback Time:时间线,也就是自粒子系统启动以来所经过的时间,如果 PlaybackSpeed 被修改,那么时间流逝也会同步变快和变慢
- Particle Count:当前选中的粒子系统中有多少粒子
- Speed Range:当前选中的粒子系统的粒子速度范围,和模块属性对应,需要在模块中调节
- Simulate Layers:Scene 视图中是否预览未选定的粒子系统,默认情况下只有选定的粒子系统才能在 Scene 视图中播放。但若将 Simulate Layers 设置为 Nothing 以外的任何其他选项时,与 Layer Mask 匹配的效果就会自动播放,无需选择它们
- Resimulate:启用此属性后,粒子系统会立即将属性更改应用于已生成的粒子,禁用此属性后,粒子系统会按原样保留现有粒子,仅将属性更改应用于新粒子
- Show Bounds:显示选定粒子系统的包围体积
- Show Only Selected:启用此属性后,Unity 将只显示你当前选中的粒子系统
注意粒子和粒子系统的区别
二、粒子模块
粒子系统主模块(Particle System)
包含影响整个系统的全局属性,大多数这些属性用于控制新创建的粒子的初始状态
- Duration:粒子系统运行时间,时间结束后不会再发射粒子,但已经发射出的粒子当然不会消失
- Looping:如果启用此属性,系统将在其持续时间结束时再次启动并无限循环
- Prewarm:粒子预热,必须启用 ②Looping 才生效,如果启用此属性,则在粒子开始产生时,默认系统已经完成了一个生命周期(即完成了一个 ①Duration)
- Start Delay:启用此属性后,系统开始发射粒子前将延迟一段时间(单位:秒)
- Start Lifetime:单个粒子的生命周期持续时间,结束后该粒子被销毁
- Start Speed:单个粒子在发射方向的初始速度
- 3D Start Size / Start Size:粒子发射时的初始大小,需要注意的是,如果你设置了 3D Start Size Z 轴的大小,那么必须要保证粒子是 3D 的,这个在 Renderer 中有设置
- 3D Start Rotation / Start Rotation:粒子发射时的初始旋转度数
- Flip Rotation:范围 [0, 1],使一定百分比的粒子按照相反的方向旋转
- Start Color:每个粒子的初始颜色
- Gravity Modifier:缩放 Physics 窗口中设置的重力值,值为零会关闭重力影响,这个属性可以暂时不用管,默认就好
- Simulation Space:控制粒子的运动位置是在父对象的局部空间中(与父对象一起移动)、在世界空间中还是相对于自定义对象(与选择的自定义对象一起移动)
- Simulation Speed:整个粒子系统的发射速度
- Delta Time:是否受 Time 窗口中的 TimeScale 值的影响,Unscaled 为忽略该值(例如想要游戏暂停时,粒子特效依旧播放)
- Scaling Mode:控制粒子的缩放模式,Hierarchy 是受自身的缩放影响,也受父级的缩放影响;Local 只受自身的缩放影响,Shape 不受缩放影响
- Play on Awake:如果启用此属性,粒子系统会在创建对象时自动启动,否则需要代码控制,注意这个设置会同时对整个对象下所有的粒子系统生效
- Emitter Velocity:选择粒子系统如何计算 Inherit Velocity 和 Emission 模块使用的速度。系统可使用刚体组件(如果存在)或通过跟踪变换组件的移动情况来计算速度,这个属性可以暂时不用管,默认就好
- Max Particles:粒子系统中粒子数量上限,如果超过限制,则会移除一些粒子
- Auto Random Seed:每次粒子系统启用时,是否使用不同的随机种子,如果停用此属性,则每次播放的粒子效果会完全一致
- Random Seed:停用 ⑲Auto Random Seed 时,此值为指定的随机种子
- Stop Action:当属于粒子系统的所有粒子都已完成其生命周期时,可使系统执行某种操作,这个操作可以是禁用(Disable)、销毁(Destroy),或者将 OnParticleSystemStopped 回调(Callback)发送给附加到游戏对象的任何脚本(当一个系统的所有粒子都已死亡,并且系统存活时间已超过 ①Duration 设定的值时,判定该系统已停止;对于循环系统,只有在通过脚本停止系统时才会发生这种情况)
- Culling Mode:选择粒子在屏幕外时,对粒子系统的处理,这个属性可以暂时不用管,默认就好
- Ring Buffer Mode:将粒子从粒子系统中移除的方式,这个属性可以暂时不用管,默认就好
对于极大多数的属性,点击右边的箭头符号都可以看到一些额外的设置,这就意味着这个值可以使用动态值,而非定值,例如你想要粒子的初始发射速度在一定范围内随机决定
- Constant:属性的值在其整个生命周期内是固定的
- Curve:该值由曲线/图形指定
- Random Between Two Constants:两个常量值定义了值的上限和下限,实际值随着时间的推移在这些边界之间随机变化
- Random Between Two Curves:两条曲线定义了值在生命周期内给定点的上限和下限,当前值在这些边界之间随机变化
- Random:其它随机设置
一个颜色设定的例子:
其它模块
- 发射模块(Emission):基础模块,影响粒子系统发射的速率和时间
- 形状模块(Shape):基础模块,定义可发射粒子体积、表面以及起始速度的方向,不启用这个模块所有的粒子就会排成一条线
- 生命周期速度模块(Velocity Over Lifetime):控制粒子在其生命周期内的速度
- 生命周期速度限制模块(Limit Velocity Over Lifetime):控制粒子在其生命周期内速度的变化,包括阻力限制等(可以理解为控制粒子在其生命周期内的加速度),一般用于烟花特效等带有初速度的粒子
- 继承速度模块(Inherit Velocity):随时间推移,粒子速度会受到其父对象移动的影响,往往用于移动物体发射粒子
- 受力模块(Force Over Lifetime):通过此模块中指定的力可对粒子加速,例如风对粒子的影响
- 颜色模块(Color Over Lifetime):指定粒子的颜色和透明度在其生命周期中如何变化,用于实现粒子发射过程中颜色变化
- 颜色速度模块(Color By Speed):在此模块中可设置粒子的颜色根据粒子速度发生变化
- 尺寸模块(Size over Lifetime):指定粒子的大小尺寸在其生命周期中如何变化
- 尺寸速度模块(Size by Speed):在此模块中可设置粒子的尺寸根据粒子速度发生变化,例如实现更好的爆炸效果:更小的碎片拥有更高的加速度
- 旋转模块(Rotation Over Lifetime):控制粒子在移动时旋转
- 旋转速度模块(Rotation By Speed):在此模块中可设置粒子的旋转根据粒子速度发生变化,例如一个纸团被风吹起,风力越大,纸团移动速度越快,在空中旋转的速度也会越快
- 外力模块(External Forces):高级模块,可设置 Unity 风场对粒子的影响
- 噪声模块(Noise):高级模块,在粒子发射过程中添加随机性
- 碰撞模块(Collision):高级模块,控制粒子如何与场景中的游戏对象碰撞
- 触发器模块(Triggers):高级模块,控制粒子可与场景中的触发器进行交互:例如实现粒子雨,使其不会穿过屋顶到达室内
- 子发射器(Sub Emitters):可以在粒子生命周期的某些阶段在粒子位置处创建的附加粒子发射器,例如实现法术溅射效果
- 额外的序列帧动画(Texture Sheet Animation):粒子的图形不必是静止图像,可以为其添加序列帧动画,这部分 Unity3D 帮你做好了
- 光照模块(Lights):粒子会受到光照影响,需要注意性能
- 拖尾(Trails):给粒子增加拖尾效果
- 自定义模块(Custom Data):为粒子添加自定义数据,可以由你来决定这个模块用来做什么
- 渲染模块(Renderer):基础模块,设置粒子的渲染信息和材质信息
三、主模块应用和测试
参考文章:
- https://docs.unity3d.com/cn/2018.4/Manual/class-ParticleSystem.html
- https://docs.unity3d.com/cn/2018.4/Manual/PartSysUsage.html
- https://edu.csdn.net/learn/27344
UnityParticle1:粒子系统简介相关推荐
- 3dmax:3dmax三维动画之粒子系统简介、基本场景之详细攻略
3dmax:3dmax三维动画之粒子系统简介.基本场景之详细攻略 目录 3dmax三维动画之粒子系统简介.使用方法之详细攻略 粒子系统简介.使用方法
- OGRE粒子系统简介
1,粒子系统介绍 每个引擎都会有自己的粒子系统,粒子系统特效在游戏中运用广泛,比如射击类游戏中的爆炸特效,烟雾特效,开枪时喷出的火焰,撞击时击出的火花等等多半由粒子系统实现.粒子系统的基本单元是粒子, ...
- 捕鱼系列之2:magic3d粒子系统简介
上一篇捕鱼文章写了那些很棒很炫目的特效,那么这些特效是从哪里来的呢?这里我要抖落一些干货了: THE MAGIC3D REVIEW: MAGIC例子特效前瞻 粒子系统可以用来创造一些你在游戏和电影中看 ...
- Cocos2d-x内置粒子系统
内置粒子系统 内置的11粒子系统说明如下: ParticleExplosion:爆炸粒子效果,属于半径模式. ParticleFire:火焰粒子效果,属于重力径模式. ParticleFirework ...
- J2ME 粒子系统实现(转)
粒子系统在图形学上的应用十分广泛 粒子系统在图形学上的应用十分广泛.最常见的,是通过控制大量的.具有相似行为的点元素,来描绘自然现象.例如下雨.下雪.火焰.水.雾等等.在家用控制台或PC上的2D.3D ...
- Unity Particle System 粒子系统简单介绍
一.Particle System 粒子系统简介 Particle System 是 Unity 内的一个专门用于制作特效的系统,相对来说是一个比较复杂的系统,有几百个可以控制和设置的参数选项. Un ...
- 利用OSG实现模拟飞机尾迹-粒子系统
利用OSG实现模拟飞机尾迹-粒子系统 粒子系统简介: 粒子系统是用于不规则模糊物体建模及图像生成的一种方法. 粒子系统是一种过程模型,即利用各种计算过程生成模型各个体素的建模技术.它的基本思想是:采用 ...
- 【unity基础_Day15】 灯光系统、粒子系统、车轮碰撞器、TimeLine时间轴
一.灯光系统 Windos--Lighting--LightExplorer 可以直接查看场景中所有的灯光以及参数,方便环境灯光多的场景的操作 二.粒子系统 Unity粒子系统简介_悲欢离合的博客-C ...
- UnityParticle2:5x基础模块
前置:UnityParticle1:粒子系统简介 一.Renderer模块 Renderere模块可以直接参考 U3D 官网:https://docs.unity3d.com/cn/2018.4/Ma ...
最新文章
- Android中Toast的用法简介
- hadoop 全分布式部署
- 环境变量设置及第三方模块安装
- CTFshow php特性 web150
- 解决TIME_WAIT过多造成的问题
- python开发【基础二】
- 恋与制作人 服务器错误,恋与制作人安装失败怎么办_恋与制作人安装失败解决方法_游戏吧...
- java 字符串倍_java字符串拼接与性能分析详解
- ssis什么情况下用到变量_了解SSIS内存使用情况
- python下标是什么类型_python基本的数据类型
- 在这个学术被国界化的日子,我有点怀念爱因斯坦。
- Atitit Java内容仓库(Java Content Repository,JCR)的JSR-170 文件存储api标准 目录 1. Java内容仓库	1 2. Java内容仓库	2 2.1.
- 是否还为制作PPT而烦恼?珍藏的PPT实用网站打包送给你!
- Windows 常见后缀名
- 小三上位中的数学问题
- 实用经验 92 区分函数模版与模版函数,类模版和模板类
- linux系统禁用声卡,Ubuntu Linux系统下声卡独占的解决方法
- 嵌入式linux技能,学IT技能 学嵌入式Linux必知内容
- paper:Attention Is All You Need(模型篇)
- 毫米波雷达在无人机避障系统中的应用
热门文章
- python编程语言-初学者最容易学的六种编程语言
- 想自学python看哪位的视频比较好-python自学视频看这个就对了
- python能做什么-Python到底能做什么?它的优点在哪
- 编程软件python-零基础学Python编程需要安装什么软件?
- python基础教程百度云-python从入门到精通视频百度云盘下载
- 小米电视4A核心技术之语音识别浅析
- mac m1 nvm 安装node版本失败
- 服务器资源评估文档,服务器存储资源评估
- Vue3.0 + Ts 项目框架搭建二:路由 Router
- java在原文件替换_Java:创建临时文件并替换为原始文件