kanzi2D粒子系统插件

这个插件几乎可以实现任何2D粒子特效,支持GPU粒子和双线程加速。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
代码仓库在gitee上。

目录内容目录
1.功能介绍
1.1 功能背景
1.2 功能概述
1.3 节点及属性参考

2.使用步骤
2.1导入Particle2D到Kanzi Studio
2.2 Gravity Particle 2D的使用
2.3 Circular Particle 2D的使用
2.4 使用粒子动画
3.示例


1.功能介绍
功能背景
2D粒子特效主要在车载仪表界面和中控界面起到装饰效果,尽管通过现有的3D粒子插件可以制作出2D粒子特效,但是使用2D粒子插件来制作2D粒子特效显然更为方便。
1.2 功能概述
Particle2D提供了两种类型的2D节点,根据粒子的计算方式分为重力2D粒子节点,圆周2D粒子节点,通过调节节点的发射器属性、运动属性、粒子属性和动画属性,可以制作几乎任何2D粒子效果, 如火、烟、爆炸、水流、旋转星系等粒子效果。可以选择3种粒子更新的计算类型:单线程模式、双线程模式、GPU模式和两种粒子渲染类型:点、矩形。使用者根据实际运行的硬件性能选择合适的更新器。将粒子渲染为点可以节省内存但不支持粒子的旋转。
1.3节点及属性参考
节点
Particle2D插件包含两个自定义2D节点Gravity Particle 2D和Circular Particle 2D。
属性参考
属性名 属性描述 属性类型 属性分类
Enable 启用或禁用 bool Particle2D
BlendMode 正常、叠加 Enum Particle2D
RenderType 点、矩形 Enum Particle2D
ProcessorType 单线程、双线程、GPU Enum Particle2D
EmitRange 发射位置范围 Vector2 Emitter
Position 发射器位置 Vector2 Emitter
Angle 发射角度 float Emitter
AngleVar 发射角度随机偏移 float Emitter
Duration 次发射持续时间 float Emitter
Looping 是否循环发射 bool Emitter
Speed 每秒发射粒子数量 float Emitter
Capacity 粒子容量 float Emitter
Particle Texture 粒子贴图 Resource Particle
StartColor 粒子初始颜色 ColorRGBA Particle
StartColorVar 粒子初始颜色随机变化量 ColorRGBA Particle
EndColor 粒子结束颜色 ColorRGBA Particle
EndColorVar 粒子结束颜色随机变化量 ColorRGBA Particle
StartSize 粒子初始大小 float Particle
StartSizeVar 粒子初始大小随机变化量 float Particle
EndSize 粒子结束大小 float Particle
EndSizeVar 粒子结束大小随机变化量 float Particle
StartSpin 粒子初始旋转 float Particle
StartSpinVar 粒子初始旋转随机变化量 float Particle
EndSpin 粒子结束旋转 float Particle
EndSpinVar 粒子结束旋转随机变化量 float Particle
Lifetime 粒子寿命 float Particle
LifetimeVar 粒子寿命随机变化量 float Particle
// Gravity
GravityXY 重力加速度 Vector2 Motion
InitialSpeed 初始速度 Vector2 Motion
AccelRad 圆周加速度 float Motion
AccelRadVar 圆周加速度随机变化量 float Motion
AccelTan 切向加速度 float Motion
AccelTanVar 切向加速度随机变化量 float Motion
// Circular
StartRadius 圆周开始半径 float Motion
StartRadiusVar 开始半径随机变化量 float Motion
EndRadius 圆周结束半径 float Motion
EndRadiusVar 结束半径随机变化量 float Motion
RotatePerSecond 圆周运动角速度 float Motion
RotatePerSecondVar圆周运动角速度变化量 float Motion
AnimationTimeline 动画时间线 Resource Animation
AnimSize 尺寸动画开关 bool Animation
AnimSpin 旋转动画开关 bool Animation
AnimAlpha 透明度动画开关 bool Animation
Size 尺寸 float Animation
Spin 旋转 float Animation
Alpha 透明度 float Animation

Note: 1.点渲染类型不支持旋转粒子
2.只有单线程模式支持粒子动画
3.GPU模式最低要求OpenGL ES版本为 3.0
4.Duration为0时连续不断的发射粒子

下面在实际操作中演示Particle2D的具体用法。
2.使用步骤
导入Particle2D导入到Kanzi Studio
在这里插入图片描述在这里插入图片描述

导入Particle2D的方式和一般KanziEnginePlugin的方式相同,具体可查看kanzi文档。

Gravity Particle 2D的使用
创建一个Gravity Particle 2D节点
在这里插入图片描述

Gravity Particle 2D的默认效果
在这里插入图片描述
调节属性参数制作一个喷泉效果
设置Emitter属性

在这里插入图片描述

调节Particle属性

在这里插入图片描述
在这里插入图片描述

调节Motion属性
在这里插入图片描述

将粒子容量由3000设为5000,每秒发射数量由300设为1000.发现帧率由53降为31
在这里插入图片描述
调节ProcessorType由默认值SingleThread为GPU,帧率由31升到52
在这里插入图片描述
Circular Particle 2D的使用
创建Circular Particle 2D节点
在这里插入图片描述
Circular Particle 2D默认效果
在这里插入图片描述
调节属性参数制作一个银河效果
调节Emitter属性
在这里插入图片描述
调节Particle属性

在这里插入图片描述
在这里插入图片描述
调节Motion属性
在这里插入图片描述

使用粒子动画
创建动画时间线资源,这里使用尺寸动画属性,动画时间大致与粒子寿命接近。
在这里插入图片描述
设置粒子节点的Animation Timeline属性为刚才创建的时间线动画,并打开尺寸动画通道.
在这里插入图片描述

3.示例
火焰

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

烟花
在这里插入图片描述
在这里插入图片描述

星空
在这里插入图片描述

雨雪
在这里插入图片描述
在这里插入图片描述

流星

在这里插入图片描述

在这里插入图片描述

爆炸

在这里插入图片描述

轨迹

在这里插入图片描述

烟雾

在这里插入图片描述
在这里插入图片描述

魔法
在这里插入图片描述

在这里插入图片描述

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Unity2D中实现鱼头和拖尾粒子对齐的效果,你可以按照以下步骤编写代码: 1. 创建一个鱼的预制体(Prefab),包含鱼的图像和相应的脚本组件。 2. 在鱼的脚本中,添加以下代码: ```csharp using UnityEngine; public class Fish : MonoBehaviour { public Transform target; // 目标点 public float speed = 2f; // 移动速度 public GameObject particlePrefab; // 拖尾粒子预制体 public float particleSpawnInterval = 0.1f; // 拖尾粒子生成间隔 private float particleSpawnTimer = 0f; // 拖尾粒子生成计时器 private void Update() { if (target != null) { Vector3 dir = target.position - transform.position; transform.Translate(dir.normalized * speed * Time.deltaTime); // 生成拖尾粒子 particleSpawnTimer += Time.deltaTime; if (particleSpawnTimer >= particleSpawnInterval) { Instantiate(particlePrefab, transform.position, Quaternion.identity); particleSpawnTimer = 0f; } } } } ``` 3. 创建一个拖尾粒子的预制体(Prefab),可以使用Unity自带的粒子系统或者其他件创建。 4. 在场景中实例化一只鱼预制体,并将它添加到场景中。 5. 将拖尾粒子的预制体(particlePrefab)拖拽到鱼的脚本中的对应字段中。 6. 运行游戏,观察鱼头和拖尾粒子的对齐效果。 这段代码实现了鱼根据目标点的位置进行跟随移动,并且在移动过程中生成拖尾粒子效果。你可以根据自己的需求调整速度、拖尾粒子的生成间隔以及使用的粒子系统等。希望对你有所帮助!如果有更多问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值