Godot-StartUP

创建于:2018-07-28

创建人: Justus

44 信息 154 成员
讨论基于Godot以及Unity引擎的游戏开发经验,理论和最佳实践。共享一些通用思路以启发另一种生产工具中的实践。独立开发群QQ: 122017359

Godot学习-2D粒子

godog 2018-11-15


Godot学习-2D粒子


Youtube视频学习笔记


Particles2D 面板属性

Image title




  • 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 面板

Image title




  • 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。


制作火炬

Image title




* 新建 scene,根添加 Sprite,将火炬把手添加为Sprite的纹理,Sprite 下添加 Particles2D,在 Particles2D>Process Material>Material 新建 ParticlesMaterial,此时界面如下,红色圈出的白色点就是粒子(此时粒子是很小的白色方块,受重力影响方向为竖直向下,Particles2D中的纹理为空的话,粒子会是正方形)
复制代码

Image title


* 去掉重力影响,如下图

Image title



* 增加粒子射出速度,粒子自左向右射出,可以看到是从同一个点生成粒子向右朝不同方向分散发射,如下图 Image title


* 使粒子从一块区域随机生成,修改扩散角度使粒子朝同一方向发射,而不是扇形,粒子默认是水平射出的,需将Particles2D旋转方向,操作后如下图

Image title

* 将粒子存活时间加长,显示到Sprite的后边,粒子放大,操作后如下图

Image title

* 修改缩放曲线,使粒子逐渐减小,如下图

Image title

* 修改颜色由白色渐变到橙色再渐变到红色,如下图

Image title

* 增加粒子数量,放大粒子所有速度属性,修改随机旋转速度,增加粒子加速度,如下图

Image title

####附:
> 视频地址: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



 

加入 indienova

  • 建立个人/工作室档案
  • 建立开发中的游戏档案
  • 关注个人/工作室动态
  • 寻找合作伙伴共同开发
  • 寻求线上发行
  • 更多服务……
登录/注册