[发明专利]一种粒子反弹效果的实现方法及装置有效
申请号: | 201310282431.7 | 申请日: | 2013-07-05 |
公开(公告)号: | CN103400406B | 公开(公告)日: | 2019-04-26 |
发明(设计)人: | 陈伟伟;耿芹 | 申请(专利权)人: | 新奥特(北京)视频技术有限公司 |
主分类号: | G06T13/00 | 分类号: | G06T13/00 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100195 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 粒子 反弹 效果 实现 方法 装置 | ||
本发明提供了一种粒子反弹效果的实现方法及装置,以解决如何在粒子系统中实现粒子反弹效果的问题。其中,一种粒子反弹效果的实现方法,包括:在粒子系统中添加反射器;在每一帧需要进行渲染时设置所述反射器的参数;获取粒子系统的反弹值,作为粒子的反弹值;依据所述反射器的参数和粒子的反弹值计算粒子的反弹效果。本发明在粒子系统中实现了粒子的反弹效果。
技术领域
本发明涉及视音频编辑技术领域,特别是涉及一种粒子反弹效果的实现方法及装置。
背景技术
粒子碰到反射线后,粒子运动速度的大小和方向都会发生改变,并以改变后的速度和方向反弹出去。目前第三方的软件开发工具包(Software Development Kit,SDK)并不能实现粒子的反弹效果。
发明内容
本发明提供一种粒子反弹效果的实现方法及装置,以解决如何在粒子系统中实现粒子反弹效果的问题。
为了解决上述问题,本发明公开了一种粒子反弹效果的实现方法,包括:
在粒子系统中添加反射器;
在每一帧需要进行渲染时设置所述反射器的参数;
获取粒子系统的反弹值,作为粒子的反弹值;
依据所述反射器的参数和粒子的反弹值计算粒子的反弹效果。
可选地,所述在粒子系统中添加反射器,包括:
在所述粒子系统中添加多个点作为反射器的初始端点;
将所述反射器的初始端点相连构成折线,并将所述折线作为所述反射器的反射线。
可选地,所述反射器的参数包括:反射器的活跃性参数、反射线的起点和反射线的终点;
所述在每一帧需要进行渲染时设置所述反射器的参数,包括:
设置所述反射器的活跃性参数,所述活跃性参数表征所述反射器是否有效;
调整所述反射器的初始端点,将调整之后的所述端点作为反射线的起点和终点。
可选地,所述依据所述反射器的参数和粒子的反弹值计算粒子的反弹效果,包括:
判断当前帧在所述反射线一侧的粒子,在下一帧是否位于反射线的另一侧;
当所述粒子下一帧位于反射线的另一侧时,计算所述粒子在当前帧的位置与所述粒子在下一帧的位置构成的直线与所述反射线的交点;
计算经过所述交点与所述反射线垂直的垂直向量;
计算所述粒子在当前帧的位置与所述粒子在下一帧的位置构成的直线关于所述垂直向量对称的直线;
在所述对称的直线上,依据所述粒子的反弹值计算所述粒子在所述交点处反弹后的位置,并将所述粒子在所述交点处反弹后的位置作为所述粒子的反弹效果。
可选地,所述判断当前帧在所述反射线一侧的粒子,在下一帧是否位于反射线的另一侧,包括:
计算所述反射线起点和反射线的终点所在的直线方程,作为反射线的直线方程;
将所述粒子在当前帧的位置代入所述作为反射线的直线方程的表达式中,计算当前距离值;
将所述粒子在下一帧的位置代入所述反射线的直线方程的表达式中,计算下一距离值;
当所述当前距离值与所述下一距离值的乘积小于零时,判定所述粒子下一帧位于反射线的另一侧。
本发明还公开了一种粒子反弹效果的实现装置,包括:
添加模块,用于在粒子系统中添加反射器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新奥特(北京)视频技术有限公司,未经新奥特(北京)视频技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310282431.7/2.html,转载请声明来源钻瓜专利网。