首页 > Unity3D频道 > 【Unity杂文】 > Unity研究院之提前获取粒子特效的播放时长
2015
05-29

Unity研究院之提前获取粒子特效的播放时长

有时候需要在播放粒子特效前就清楚的知道粒子特效将播放多久。查了一下Unity的API发现ParticleSystem的duaration属性真的好坑爹,因为不准。。。 不信你可以试试。

下面说计算特效时长的方法。

OK 这就算出来。 欢迎大家在下面留言,一起讨论开发技巧~嘿嘿。

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

Unity研究院之提前获取粒子特效的播放时长》有 19 条评论

  1. 纪超 说:

    一个 粒子系统,如何 获取其中的renderer 模块呢 我想获取renderer 之后改变粒子的颜色…. 我用 ParticleSystemRenderer 好像获取不到 直接用renderer 好像也获取不到… 网上也没有查到…

  2. 纪超 说:

    好用好用。。有时我在用Unity 编辑器中调试粒子效果的时候,在编辑状态下有时候粒子能出来 有时候却出不来,这个一般是啥原因呢

  3. 说:

    dunration = ps.startDelay Mathf.Max(ps.duration,ps.startLifetime);这种计算粒子的时间不准啊,因为当发射多个粒子时,最后一个粒子可能就是在duration秒时发出,那么此时的播放总时间为duration ps.startLifetime啊,怎么样才能做到准备确定播放时间长度啊???

  4. 说:

    dunration = ps.startDelay + Mathf.Max(ps.duration,ps.startLifetime);这种计算粒子的时间不准啊,因为当发射多个粒子时,最后一个粒子可能就是在duration秒时发出,那么此时的播放总时间为duration+ps.startLifetime啊,怎么样才能做到准备确定播放时间长度啊???

  5. colnlin 说:

    不错,能获取时候,在一些情况下还是挺有用的。能顺便解答一下怎么加速特效吗?来一个什么1倍速度 2倍速播放的?这个有办法吗

  6. 哈无搞 说:

    duaration需要减0.1,因为这货最小值就是0.1。。

  7. 除了不准之外,我还发现一个更为坑爹的事情,我们特效的同学做了一个特效,使用了很多个ParticleSystem,就是有一堆的例子发射器,按理只需要在场景中Instantiate之后这些特效就都会自动播放的,但是实际测试中,会发现只有部分例子特效会自动播放,其他的货就跟没有一样。最终还是得将所有Children节点的ParticleSystem手动Play一下才行。

  8. 张晶 说:

    问一下,UGUI本身提供支持类似NGUI的PropertyBinding的双向数据绑定,用以实现界面与后台数据的功能了吗?

  9. Oo幻想oO 说:

    好奇的问问计算来干嘛……顺便提提小心有些特效当看不到的时候会暂停的

留下一个回复

你的email不会被公开。