Godot学习-2D粒子
godog
2018-11-15
Godot学习-2D粒子
Particles2D 面板属性
- Emitting 发射粒子。默认值:true。
- Amount 在一个发射周期内发射的粒子数量
- Time
- Lifetime 每个粒子将存在的时间量。默认值:1
- One Shot 是否只发射一次。默认是:1
- Preprocess 粒子系统一开始就好像它已经运行了这么多秒。
- Speed Scale 粒子系统的运行速度缩放比例。默认值:1。
- Explosiveness 粒子的发射周期内的发射时间。如果等于0,则周期内均匀发射,如果等于1,则周期一开始就全部发射,可以是小数。默认值:0。
- Randomness 发射寿命随机比。默认值:0。
- Fixed Fps
- Fract Delta
- Drawing
- Visibility Rect
- Local Coords 粒子是否使用父节点的坐标空间。如果为false,则使用全局坐标。默认值:true。
- Draw Order 粒子绘制顺序。使用DRAW_ORDER_ *值。缺省值:DRAW_ORDER_INDEX
- Process Material
- Material 用于处理颗粒的材料。可以是ParticlesMaterial或ShaderMaterial。
- Texures
- Texture 粒子纹理。如果 null 粒子将是正方形
- Normal Map
- H Frames 纹理中的水平框架的数量。(精灵图水平方向的图片数量)
- V Frames 纹理中的垂直帧数。(精灵图垂直方向的图片数量)
ParticlesMaterial 面板
- Trail(线索)
- Divisor(除数) 发射器将发射除以trail_divisor粒子的量。剩余的粒子将被用作踪迹。
- Size Modifile 轨迹粒子的大小将沿着这个CurveTexture变化。
- Color Modifile 轨迹粒子的颜色会随着这个GradientTexture而变化
- Emission Shape
- Shape 粒子将从一个区域内产生并发射出去。使用EMISSION_SHAPE_ *常量作为值。默认值:EMISSION_SHAPE_POINT。
- Flags
- Align Y
- Rotate Y
- Disable Z 如果真,粒子不会在z轴上移动。默认值:对于Particles2D为true,对于粒子为false。
- Spread(扩散)
- Spread 每个粒子发射时的初始方向范围从 +spread 到 -spread。默认值:45。
- Flatness
- Gravity(重力)
- Gravity
- Initial(初始) Velocity(速度)
- Velocity 每个粒子的初始速度。
- Velocity Random
- Velocity Curve(曲线)
- Angular(角度) Velocity
- Velocity 应用于每个粒子的初始角速度。
- Velocity Random
- Velocity Curve(曲线)
- Orbit(轨道的) Velocity
- Velocity 应用于每个粒子的轨道速度
- Velocity Random
- Velocity Curve(曲线)
- Linear Accel(加速度)
- Accel 应用于每个粒子的线性加速度。
- Accel Random
- Accel Curve
- Radial(径向) Accel
- Accel 应用于每个粒子的线性加速度。
- Accel Random 径向加速度随机比。默认值:0。
- Accel Curve(曲线)
- Tangential(切) Accel
- Accel 切向加速度应用于每个粒子。切向加速度垂直于粒子的速度。
- Accel Random 切向加速度随机比。默认值:0。
- Accel Curve 每个粒子的切向加速度将沿着这个CurveTexture变化。
- Damping(阻尼)
- Damping 粒子失速的速率。
- Damping Random 阻尼随机比。默认值:0。
- Damping Curve 这个CurveTexture上的阻尼会有所不同。
- Angle(角度)
- Angle 应用于每个粒子的初始角度。
- Angle Random 旋转随机比。默认值:0。
- Angle Curve 每个粒子的旋转将沿着这个 CurveTexture 进行动画处理。
- Scale
- Scale 应用于每个粒子的初始缩放。
- Scale Random
- Scale Curve(曲线) 每个粒子的比例将沿着这个CurveTexture变化。
- Color
- Color 每个粒子的初始颜色。如果定义了Particle2D的纹理,它将乘以该颜色。
- Color Random 每个粒子的颜色将沿着这个GradientTexture变化。
- Hue(色调) Variation(变动)
- Variation 应用于每个粒子的初始色调变化。
- Variation Random 色调变化随机比。默认值:0。
- Variation Curve(曲线) 每个粒子的色调将沿着这个CurveTexture变化。
- Animation
- Speed 粒子动画速度。
- Speed Random
- Speed Curve 每个粒子的动画偏移将沿着此CurveTexture变化。
- Offset 粒子动画偏移。
- Offset Random 动画偏移随机比例。默认值:0。
- Offset Curve
- Loop 动画是否循环。默认值:false。
制作火炬
* 新建 scene,根添加 Sprite,将火炬把手添加为Sprite的纹理,Sprite 下添加 Particles2D,在 Particles2D>Process Material>Material 新建 ParticlesMaterial,此时界面如下,红色圈出的白色点就是粒子(此时粒子是很小的白色方块,受重力影响方向为竖直向下,Particles2D中的纹理为空的话,粒子会是正方形)
复制代码
* 去掉重力影响,如下图
* 增加粒子射出速度,粒子自左向右射出,可以看到是从同一个点生成粒子向右朝不同方向分散发射,如下图
* 使粒子从一块区域随机生成,修改扩散角度使粒子朝同一方向发射,而不是扇形,粒子默认是水平射出的,需将Particles2D旋转方向,操作后如下图
* 将粒子存活时间加长,显示到Sprite的后边,粒子放大,操作后如下图
* 修改缩放曲线,使粒子逐渐减小,如下图
* 修改颜色由白色渐变到橙色再渐变到红色,如下图
* 增加粒子数量,放大粒子所有速度属性,修改随机旋转速度,增加粒子加速度,如下图
####附:
> 视频地址:https://www.youtube.com/watch?v=awBfTnmgn7k
> Godot官方文档地址
* Particles2D : https://docs.godotengine.org/en/3.0/classes/class_particles2d.html?highlight=Particles2D
* ParticlesMaterial : https://docs.godotengine.org/en/3.0/classes/class_particlesmaterial.html?highlight=ParticlesMaterial
> 视频地址:https://www.youtube.com/watch?v=awBfTnmgn7k
> Godot官方文档地址
* Particles2D : https://docs.godotengine.org/en/3.0/classes/class_particles2d.html?highlight=Particles2D
* ParticlesMaterial : https://docs.godotengine.org/en/3.0/classes/class_particlesmaterial.html?highlight=ParticlesMaterial