[发明专利]一种2D水体模拟方法有效
申请号: | 201510386583.0 | 申请日: | 2015-07-02 |
公开(公告)号: | CN105006009B | 公开(公告)日: | 2020-03-24 |
发明(设计)人: | 蔡泽勇;方称称 | 申请(专利权)人: | 广东小天才科技有限公司 |
主分类号: | G06T13/80 | 分类号: | G06T13/80 |
代理公司: | 深圳市隆天联鼎知识产权代理有限公司 44232 | 代理人: | 万振雄;刘耿 |
地址: | 523859 广东省东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 水体 模拟 方法 | ||
本发明涉及计算机虚拟实现技术领域,提供了一种2D水体模拟方法。包括创建2D粒子,为所述2D粒子赋予属性值,所述属性值包括:形状、大小、密度和摩擦因子,所述2D粒子为水体的组成元素,所述方法包括:复制所述2D粒子,并以复制出的2D粒子填充虚拟环境中的目标容器;获取用户输入,将所述用户输入转化为2D粒子所处虚拟环境的施力方向;处理器根据所述施力方向、目标容器和2D粒子的属性计算每一帧图片中2D粒子的位置;对每一帧中的2D粒子作高斯模糊处理,使得各个粒子能产生相互交融的效果。本发明实施例能够结合用户输入的力,基于互动形式更生动的模拟水流体的运动过程。
【技术领域】
本发明涉及计算机虚拟实现技术领域,特别是涉及一种2D水体模拟方法。
【背景技术】
2D游戏中当需要表现流动的水体时,一般都使用帧动画来表现,帧动画需要预先由美工绘制,然后将图片一张张保存下来,最后在游戏中像播放影片一样逐帧播放出来。这种方式有如下缺点:
1.表现力单一,只能循环地展现同一个动画效果
2.无法通过交互改变水体的形态
【发明内容】
本发明要解决的技术问题是如何提供一种表现力更强,并能和用户产生互动的水体模拟方法。
本发明采用如下技术方案:创建2D粒子,为所述2D粒子赋予属性值,所述属性值包括:形状、大小、密度和摩擦因子,所述2D粒子为水体的组成元素,所述方法包括:复制所述2D粒子,并以复制出的2D粒子填充虚拟环境中的目标容器;获取用户输入,将所述用户输入转化为2D粒子所处虚拟环境的施力方向;处理器根据所述施力方向、目标容器和2D粒子的属性计算每一帧图片中2D粒子的位置;对每一帧中的2D粒子作高斯模糊处理,使得各个粒子能产生相互交融的效果。
优选的,所述方法还包括:判断像素的α值大小,当α值大于阈值时,进行统一的着色处理。
优选的,所述方法还包括:获取虚拟环境时间参数,处理器根据所述虚拟环境时间参数确定2D粒子的加速或因子者减速因子。
优选的,所述处理器根据所述施力方向、目标容器和2D粒子的属性计算每一帧图片中2D粒子的位置的过程包括计算各2D粒子所受的合力,具体包括:根据2D粒子的形状、大小和密度计算所述2D粒子所模拟的水的表面张力;处理器根据所述2D粒子的形状、大小、密度、默认重力加速度和摩擦因子计算摩擦力;处理器根据所述施力方向、表面张力和摩擦力计算2D粒子所受的合力。
优选的,对于和目标容器接触的2D粒子,在计算所述合力时,还需要参考所述目标容器的容器壁所产生的力。
优选的,将2D粒子分为表面类粒子和内部类粒子,具体包括:对于表面类粒子按照所述计算合力的方式完成,对于内部类粒子则按照填充原则变化。
优选的,所述填充原则具体为:在因为表面类粒子因为合力作为发生位置变化时,其空缺的地方由内部类粒子按照合力方向填补。
优选的,当处理器计算2D粒子A其所受的施力大小、默认重力大小和摩擦力大小之和大于其所受的表面张力,则该2D粒子A的显示效果将是脱离2D粒子群。
优选的,所述脱离2D粒子群的2D粒子A将只受默认重力加速度影响,并能配合目标容易的运动重新落到所述2D粒子群中。
优选的,所述方法可以是基于Box2D编程实现。
另一方面,本发明实施例还提供了一种2D水体模拟系统,其中,用户创建2D粒子,为所述2D粒子赋予属性值,所述属性值包括:形状、大小、密度和摩擦因子,所述2D粒子为水体的组成元素,所述系统还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东小天才科技有限公司,未经广东小天才科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510386583.0/2.html,转载请声明来源钻瓜专利网。