[发明专利]一种基于粒子系统的全局雨效仿真方法有效
申请号: | 201710845934.9 | 申请日: | 2017-09-19 |
公开(公告)号: | CN107886574B | 公开(公告)日: | 2021-04-16 |
发明(设计)人: | 程翔;俞蔚 | 申请(专利权)人: | 浙江科澜信息技术有限公司 |
主分类号: | G06T17/20 | 分类号: | G06T17/20;G06T13/60 |
代理公司: | 浙江杭知桥律师事务所 33256 | 代理人: | 王梨华;陈丽霞 |
地址: | 310051 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 粒子 系统 全局 效仿 方法 | ||
1.一种基于粒子系统的全局雨效仿真方法,其特征在于,包括:
步骤1、初始化雨效粒子系统,包括初始化粒子系统的粒子数和粒子属性;
步骤2、初始化深度相机参数;
步骤3、当视点移动,计算主相机的变化参数、更新深度相机参数;
步骤4、对雨效粒子进行更新操作;
其中所述步骤1包括:
(1)建立包围所述主相机的视锥体的长方体,其中长方体的长为视锥体近截面到远截面的距离,宽为视锥体远截面左侧到右侧的距离,高为视锥体远截面下底到上底的距离;
(2)沿着所述长方体区域的长、宽、高三个方向进行网格划分;
(3)在每个网格采用相同粒子数随机洒下雨效粒子;
(4)对所述长方体区域进行扭曲。
2.根据权利要求1所述的方法,其中所述步骤2包括:
(1)计算主相机视锥体的外包围球的半径;
(2)从视锥体中心点的位置,沿着垂直水平面向上的方向平移一个所述外包围球的半径长度,在该位置放置一个深度相机,设置深度相机的投影方式为正交投影,对整个视锥体区域进行深度渲染;
(3)通过渲染到纹理RTT技术将视锥体内的深度值渲染到一张深度纹理中,供雨效粒子与地面的碰撞检测使用。
3.根据权利要求1所述的方法,其中所述对所述长方体区域进行扭曲的过程具体为:
(1)所述长方体区域的长、宽方向扭曲成扇形,其中圆心为主相机位置,弧度为主相机张角;以宽、长方向和主相机作为原点建立二维坐标系xoy,保证x坐标相同的点扭曲后沿视线方向到所述主相机的距离依然相等,保证y坐标相同的点扭曲后与主相机位置在一条直线上;
(2)按照所述扭曲方法,点(x,y)经过扭曲后坐标为所述w为所述长方体区域的宽,所述θ为所述主相机的张角;
(3)按照所述长方体区域的长、宽方向的扭曲方法,对所述长方体区域的宽、高方向进行扭曲;
(4)经过扭曲后,沿着所述主相机视线方向的长方体四条边分别与视锥体的四条棱重合。
4.根据权利要求1所述的方法,其中步骤3包括:计算所述主相机的平移向量、旋转四元数和当前帧与上一帧的时间差,构建视锥体六个面的面方程;重新计算深度相机的视图和投影矩阵。
5.根据权利要求2所述的方法,其中步骤4包括:
(1)根据雨的速度和方向,更新雨效粒子位置;
(2)对于超出视锥体范围的粒子进行再生;
(3)判断雨效粒子是否到达地面,如果到达地面,进行粒子再生。
6.根据权利要求5所述的方法,其中更新雨效粒子位置的计算方法为:通过公式计算粒子的新位置;其中,pt为更新后的粒子位置,p0为当前粒子位置,v为雨速,为雨的单位方向向量,t为当前帧与上一帧的时间差。
7.根据权利要求5所述的方法,对于超出视锥体范围的粒子进行再生包括:
(1)按照所述的扭曲方法反推出上一帧粒子在所述长方体中的坐标,建立所述长方体的网格索引关系,进而计算出粒子的网格索引;
(2)按照所述主相机的平移和旋转参数计算粒子再生的网格索引;
(3)在网格内随机再生一个粒子;
(4)通过扭曲方法将粒子坐标位置映射到视锥体空间内。
8.根据权利要求5所述的方法,判断雨效粒子是否到达地面,如果到达地面,进行粒子再生,具体为:
计算所述雨效粒子与所述深度相机的距离,如果大于深度纹理中对应的深度值,则表明所述雨效粒子已到达地面;
如果所述雨效粒子到达地面,通过扭曲方法反推出雨效粒子在长方体区域中的位置,在长方体区域内从所述雨效粒子的当前位置沿着雨的反方向发射一条射线,计算射线与长方体区域边界的交点,在该交点所在网格内随机再生一个粒子。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江科澜信息技术有限公司,未经浙江科澜信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710845934.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种非三相桥臂对称结构的混合三相整流器
- 下一篇:救生手环(2)