Unity Notes之控制粒子系统的最大粒子数量
来源:互联网 发布:倩女幽魂游戏下载 mac 编辑:程序博客网 时间:2024/04/28 10:26
Unity中的粒子系统使用起来还是比较方便的。不过在实际过程中遇到这样的一个问题:需要动态的来控制一个粒子系统组件所能产生的最大粒子数。看doc上说是有maxParticles来控制,但实际上却没有这个开放的参数,只能通过其它的方式来实现。
这里可以通过手动产生粒子的方式来实现,也即ParticleSystem中的Emit方法,具体代码如下:
public class ParticleSystemComp : MonoBehaviour{ParticleSystem mParticleSystem = null;int mMaxParticles = 0;public int maxParticles{get{return mMaxParticles;}set{mMaxParticles = value;}}void Awake(){mParticleSystem = this.gameObject.GetComponent<ParticleSystem>();mParticleSystem.emissionRate = 0.0f;mMaxParticles = mParticleSystem.particleCount;mParticleSystem.Clear();}void Update(){if (mParticleSystem != null){if (mParticleSystem.particleCount < mMaxParticles){mParticleSystem.Emit(mMaxParticles - mParticleSystem.particleCount);}}}}
实现过程是对于每个ParticleSystem添加一个额外的组件,通过该组件来原始PS的更新。其中的更新原则是判断当前活动的粒子数量,如果粒子数小于指定的最大值的话就再重新生成几个新的粒子出来进行填充。
此外,出于性能考虑,其中Update内部的操作也可以移至FixedUpdate中进行以减少更新次数,但是视觉上并不会带来太大的差异。
0 0
- Unity Notes之控制粒子系统的最大粒子数量
- unity之粒子系统
- unity学习之粒子系统
- Unity粒子系统研究
- Unity粒子系统特性
- Unity粒子系统
- Unity 粒子系统
- Unity粒子系统
- unity 粒子系统
- Unity粒子系统简介
- 【Unity资源】(粒子系统)
- Unity粒子系统详解
- unity 粒子系统学习
- unity粒子系统碰撞
- Unity学习之粒子系统及摄像机
- 动态改变粒子系统的速度[Unity]
- [Unity基础]Shuriken粒子系统的碰撞
- 动态改变粒子系统的速度[Unity]
- prim算法
- OpenStack Heat服务介绍
- 谷歌驱动器SDK的Twitter的追随者购买编写第一个 - 超级简单Javascriptjquery教程
- 谷歌熊猫更新,改善了整体用户体验
- 黑马程序员--恭喜徐振升获得Unity3d游戏开发Offer,月薪8500元
- Unity Notes之控制粒子系统的最大粒子数量
- 运算符优先级
- 2014下半年目标
- 批处理命令 For循环命令详解!
- 【BZOJ】【LYDSY】【大视野】2744(【HEOI2012】)朋友圈
- c++中静态超类方法的理解
- 谷歌刮刀下载数据从谷歌搜索页
- 谷歌AdWords关键字软件
- 讲英语的工作在德国