[发明专利]一种基于粒子系统的全局雨效仿真方法有效
申请号: | 201710845934.9 | 申请日: | 2017-09-19 |
公开(公告)号: | CN107886574B | 公开(公告)日: | 2021-04-16 |
发明(设计)人: | 程翔;俞蔚 | 申请(专利权)人: | 浙江科澜信息技术有限公司 |
主分类号: | G06T17/20 | 分类号: | G06T17/20;G06T13/60 |
代理公司: | 浙江杭知桥律师事务所 33256 | 代理人: | 王梨华;陈丽霞 |
地址: | 310051 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 粒子 系统 全局 效仿 方法 | ||
本发明实施例提供了一种基于粒子系统的全局雨效仿真方法,其中,上述方法包括:步骤1、初始化雨效粒子系统;步骤2、初始化深度相机;步骤3、计算主相机的变化参数、更新深度相机;步骤4、对雨效粒子进行更新操作。本发明的中基于视锥体可见范围内分布雨效粒子,减少了粒子数过多带来的资源消耗,且越靠近视点的粒子密度更高,符合人的视觉效应,更加有效的使用了粒子资源;采用了空间网格划分方法,解决了视点移动太快,导致粒子在视域范围内分布不均匀的问题;基于深度图技术检测粒子与地面的碰撞,保证了更好的真实感。
技术领域
本发明涉及计算机虚拟现实仿真领域,更具体地说,涉及一种基于粒子系统的全局雨效仿真方法。
背景技术
在3D游戏中,传统雨水仿真多采用全屏光效,就是通过美术制作工具(如3dmax或者maya)制作出雨的粒子特效,然后将其预渲染成平面动画,在游戏内使用反复播放,以达到在游戏场景内营造雨效的目的。这种技术就好像在镜头前放一块透明玻璃,而透明玻璃上不断重复几张变化的图片。玩家只能看到一种预渲染好的美术效果,没有其他的变化,如果希望保持长时间的变化,就需要预渲染大量的单帧画面,而支持这些画面的每张纹理需要覆盖整个屏幕,因此对内存的消耗非常大。
另有一种改进方案,不使用预渲染的动画,而是直接在游戏场景中使用实时的粒子系统,解决了预渲染动画缺少变化的问题,但是单纯使用粒子系统模拟真实雨水,要求在场景内存在成千上万的粒子,而每个粒子在其生存期内的运动情况都需要消耗CPU运算,数量过多和CPU的串行设计,影响了系统的运行速度。另外一个关键的问题是如何高效的计算雨水与地面的碰撞,因为粒子数量多,传统的碰撞检测方法对计算资源的消耗难以接受。
发明内容
为了解决上述问题,本发明提出了一种基于粒子系统的全局雨效仿真方法,其包括:
步骤1、初始化雨效粒子系统,包括初始化粒子系统的粒子数和粒子属性;
步骤2、初始化深度相机参数;
步骤3,当视点移动了,计算主相机的变化参数、更新深度相机参数;
步骤4,对雨效粒子进行更新操作。
其中,所述步骤1包括:
(1)建立包围所述主相机的视锥体的长方体,其中长方体的长为视锥体近截面到远截面的距离,宽为视锥体远截面左侧到右侧的距离,高为视锥体远截面下底到上底的距离;
(2)沿着所述长方体区域的长、宽、高三个方向进行网格划分;
(3)在每个网格采用相同粒子数随机洒下雨效粒子;
(4)对所述长方体区域进行扭曲。
其中,所述步骤2包括:
(1)计算主相机视锥体的外包围球的半径;
(2)从视锥体中心点的位置,沿着垂直水平面向上的方向平移一个所述外包围球的半径长度,在该位置放置一个深度相机,设置深度相机的投影方式为正交投影,对整个视锥体区域进行深度渲染;
(3)通过渲染到纹理RTT技术将视锥体内的深度值渲染到一张深度纹理中,供雨效粒子与地面的碰撞检测使用。
其中,所述对所述长方体区域进行扭曲的过程具体为:
(1)所述长方体区域的长、宽方向扭曲成扇形,其中圆心为主相机位置,弧度为主相机张角;以宽、长方向和主相机作为原点建立二维坐标系xoy,保证x坐标相同的点扭曲后沿视线方向到所述主相机的距离依然相等,保证y坐标相同的点扭曲后与主相机位置在一条直线上;
(2)按照所述扭曲方法,点(x,y)经过扭曲后坐标为所述w为所述长方体区域的宽,所述θ为所述主相机的张角;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江科澜信息技术有限公司,未经浙江科澜信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710845934.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种非三相桥臂对称结构的混合三相整流器
- 下一篇:救生手环(2)