[发明专利]一种粒子效果的实现方法及装置有效
申请号: | 201310282384.6 | 申请日: | 2013-07-05 |
公开(公告)号: | CN103455323B | 公开(公告)日: | 2018-12-25 |
发明(设计)人: | 陈伟伟 | 申请(专利权)人: | 新奥特(北京)视频技术有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100195 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 粒子 效果 实现 方法 装置 | ||
本发明提供了一种粒子效果的实现方法及装置,以解决当前帧的帧数越大,实现当前帧粒子效果所需时间越长的问题。一种粒子效果的实现方法包括:获取所需实现粒子效果的帧数,记为当前帧的帧数;新建粒子系统的更新函数和影响器的更新函数;调用粒子系统的清空函数,将粒子系统的粒子全部去除;设置粒子系统的发射速率和最大存活时间;调用所述粒子系统的更新函数创建当前帧粒子并修改所述当前帧粒子的发射速率、最大存活时间和位置信息;调用所述影响器的更新函数,对所述当前帧粒子的各参数进行更新;调用渲染函数,依据所述当前帧粒子的各参数进行渲染,实现所述当前帧粒子的粒子效果。本发明节省了实现当前帧粒子效果所需的时间。
技术领域
本发明涉及视音频编辑技术领域,特别是涉及一种粒子效果的实现方法及装置。
背景技术
粒子效果是使用第三方的软件开发工具包(Software Development Kit,SDK)实现底层的控制及渲染的,第三方的SDK提供的方法是个顺序播放的过程,而粒子编辑器在使用过程中,会经常使用到seek。seek就是得到当前帧的粒子效果。为了达到seek效果与播放效果一致,seek操作其实是将seek这一帧上显示出来的粒子,让其都经历从出生到当前状态的变化过程后的数据,而后读取一帧数据。
如果读取一帧时间为t0,seek的帧为n,则seek所需的时间为:n*t0。例如,当seek的帧n=1时,seek花费的时间为t0,时间最短;当seek的帧n=10时,seek花费的时间为10*t0。因此目前的获取粒子效果的方法中,获取当前帧的粒子效果所需要的时间与当前帧的帧数有关,当前帧的帧数越大,获取当前帧的粒子效果所需要的时间越长,即seek的n值越大,seek花费的时间越长。
发明内容
本发明提供一种粒子效果的实现方法及装置,以解决当前帧的帧数越大,实现当前帧粒子效果所需时间越长的问题。
为了解决上述问题,本发明公开了一种粒子效果的实现方法,包括:
获取所需实现粒子效果的帧数,记为当前帧的帧数;
新建粒子系统的更新函数和影响器的更新函数;
调用粒子系统的清空函数,将粒子系统的粒子全部去除;
设置粒子系统的发射速率和最大存活时间;
调用所述粒子系统的更新函数创建当前帧粒子并修改所述当前帧粒子的发射速率、最大存活时间和位置信息;
调用所述影响器的更新函数,对所述当前帧粒子的各参数进行更新;
调用渲染函数,依据所述当前帧粒子的各参数进行渲染,实现所述当前帧粒子的粒子效果。
可选地,所述调用所述粒子系统的更新函数创建当前帧粒子,包括:
将所述粒子的最大存活时间和粒子系统从创建到当前帧经历的时间中较小的值,乘以所述粒子系统的发射速度,所得积值为粒子系统正常发射时,播放到当前帧的粒子数目,将所述粒子数目作为在所述当前帧产生的粒子数目;
调用创建粒子函数,创建与所述当前帧产生的粒子数目一致的粒子作为当前帧粒子。
可选地,所述修改所述当前帧粒子的发射速率、最大存活时间和位置信息,包括:
依据所述粒子系统的发射速率修改所述当前帧粒子的发射速率;
依据所述粒子系统的最大存活时间修改所述当前帧粒子的最大存活时间;
计算当前帧粒子的生命剩余时间并记录所述当前帧粒子的关键帧,当所述当前帧粒子吸附于发射器时,修改所述当前帧粒子的位置信息为当前帧数对应的位置信息;当所述当前帧粒子不吸附于发射器时,依据当前帧粒子的生命剩余时间计算出粒子产生时的帧数,修改所述当前帧粒子的位置信息为所述产生时的帧数对应的位置信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新奥特(北京)视频技术有限公司,未经新奥特(北京)视频技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310282384.6/2.html,转载请声明来源钻瓜专利网。