一种粒子动态变换的实现方法及装置制造方法及图纸

技术编号:31767847 阅读:15 留言:0更新日期:2022-01-05 16:53
本发明专利技术涉及一种粒子动态变换的实现方法及装置,属于计算机图形技术领域,装置包括场景设置模块,粒子信息数据保存模块,粒子变换处理模块,模型解析模块和用户界面交互操作模块;方法包括设置粒子场景;粒子模型的实现;粒子模型的动态变换;对模型进行交互操作。本发明专利技术通过预先设置场景,增加场景拾取手段和粒子的变换设定,实现自定义粒子模型的构建和切换,将模型动态变换与操作界面关联,用户只需要上传3D模型的json格式文件,通过简单的交互操作就可以实现粒子和粒子的动态变换效果,提升用户体验和页面精致度。升用户体验和页面精致度。升用户体验和页面精致度。

【技术实现步骤摘要】
一种粒子动态变换的实现方法及装置


[0001]本专利技术涉及一种粒子动态变换的实现方法及装置,属于计算机图形


技术介绍

[0002]粒子系统是在三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现真实感。
[0003]现有粒子系统模型比较单一,主要是火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者像发光轨迹这样的抽象视觉效果等,而如果要实现特定模型如鞋子、地球等模型,以及在这些不同形状中的变化改动则操作复杂且需要比较高的成本。

技术实现思路

[0004]为了解决上述技术问题,本专利技术提供一种粒子动态变换的实现方法,其具体技术方案如下:一种粒子动态变换的实现方法,包括以下步骤:步骤1:设置粒子场景:步骤1.1:场景参数初始化:按照摄取计划布置场景、画布、画布容器、方向光和相机,并对场景进行光栅化处理;步骤1.2:根据像素比例调整视角:根据场景所占大小和相机到z轴的距离,利用三角函数计算出视角Fov的大小,并将视角Fov设置为与像素比例相同的数值;步骤1.3:增加场景拾取方法:增加交互手段,所述交互手段包括点击、悬浮和拖拽;步骤2:粒子模型的实现:步骤2.1:粒子信息初始化:对粒子的各项特征变量赋予初始数值,利用Vectors浮点型向量保存粒子信息数据;步骤2.2:粒子平滑位移变换:将粒子坐标与目标位置坐标分解成xyz轴三个维度,并根据方向按比例移动变换。
[0005]步骤2.3:粒子大小变换:通过COS函数在特定时间内对粒子大小进行平缓改变;步骤2.4:粒子透明度变换:随着z轴坐标值的变小逐渐降低粒子透明度;步骤2.5:辉光特效处理:通过炫光着色器进行炫光场景覆盖,设置辉光强度,并调整辉光散发半径;步骤3:模型动态切换:步骤3.1:解析模型,生成点的关系及点与其构成的面的关系;步骤3.2:创建一个动态数组容器,加载数据库中的模型,并将变换所需模型保存,统计顶点数量最多的模型;步骤4:对模型进行交互操作:通过更换增加obj模型文件的顺序,完成粒子动态变换任务。
[0006]进一步的,所述增加场景拾取方法,利用光线追踪的办法,找到一条过照相机,方
向与照相机视角向量相同的直线,通过求出直线前进路线上,与直线夹角大于0
°
的物体,找到需要进行交互的物体。
[0007]进一步的,所述粒子平滑位移变换,粒子的初始位置为M,目标位置为N,粒子移动速度为v,则每一帧的坐标为xM+(xN

xM)*v,所述v的取值范围在[0,1]之间。
[0008]进一步的,所述粒子变换的方式使用GPU渲染。
[0009]进一步的,所述粒子模型包括自动播放和交互播放两种播放形式。
[0010]一种粒子动态变换的实现装置,包括:场景设置模块,用于场景参数初始化,根据像素比例调整相机视角,以及为场景增添拾取方法;粒子信息数据保存模块,用于将初始化后的粒子信息通过浮点型向量进行存储;粒子变换处理模块,用于对粒子进行位移、大小和透明度变换操作,以及辉光特效处理;模型解析模块,用于解析粒子模型信息,生成粒子模型中点与点的关系,以及点与其构成的面的关系;用户界面交互操作模块,用于用户对粒子进行动态变换交互操作。
[0011]进一步的,所述模型解析模块能够对上传的自定义模型进行解析,所述自定义模型为json格式的3D模型。
[0012]本专利技术的有益效果是:本专利技术通过预先设置场景,增加场景拾取手段和粒子的变换设定,实现自定义粒子模型的构建和切换,将模型动态变换与操作界面关联,用户只需要上传3D模型的json格式文件,通过简单的交互操作就可以实现粒子和粒子的动态变换效果,提升用户体验和页面精致度。
附图说明
[0013]图1是本专利技术的运行流程图,图2是本专利技术的粒子运动速度随时间的变化趋势图,图3是本专利技术的对模型的初始化效果图,图4是本专利技术的模型变换过程中的效果图,图5是本专利技术的模型变换完毕效果图。
具体实施方式
[0014]现在结合附图对本专利技术作进一步详细的说明,应理解这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0015]本专利技术的粒子动态变换的实现装置,包括:场景设置模块,用于场景参数初始化,根据像素比例调整相机视角,以及为场景增添拾取方法;粒子信息数据保存模块,用于将初始化后的粒子信息通过浮点型向量进行存储;粒子变换处理模块,用于对粒子进行位移、大小和透明度变换操作,以及辉光特效处理;
模型解析模块,用于解析粒子模型信息,生成粒子模型中点与点的关系,以及点与其构成的面的关系;用户界面交互操作模块,用于用户对粒子进行动态变换交互操作。
[0016]如图1所示,本专利技术的粒子动态变换的实现方法,包括以下步骤:步骤1:设置粒子场景:步骤1.1:场景参数初始化:按照摄取计划布置场景、画布、画布容器、方向光和相机,并对场景进行光栅化处理;步骤1.2:根据像素比例调整视角:根据场景所占大小,相机z轴的距离,利用三角函数计算出视角Fov的大小,并设置为与像素比例相同的数值;步骤1.3:增加场景拾取方法:利用光线追踪的办法,给出一条过照相机,方向与照相机视角向量相同的直线,通过求出直线前进路线上,与直线夹角大于0
°
的物体,找到需要进行交互的物体;增加交互手段,交互手段包括点击、悬浮和拖拽;步骤2:粒子模型的实现:步骤2.1:粒子信息初始化:对粒子的各项特征变量赋予初始数值,利用Vectors浮点型向量保存粒子信息数据,得到如图3所示粒子初始化效果图;步骤2.2:粒子平滑位移变换:将粒子坐标与目标位置坐标分解成xyz轴三个维度,并根据方向按比例移动变换,粒子的初始位置为M,目标位置为N,粒子移动速度为v,则每一帧的坐标为xM+(xN

xM)*v,v的取值范围在[0,1]之间,通过GPU方式进行渲染。
[0017]步骤2.3:粒子大小变换:如图2所示,通过COS函数在特定时间内对粒子大小进行平缓改变;步骤2.4:粒子透明度变换:随着z轴坐标值的变小逐渐降低粒子透明度;步骤2.5:辉光特效处理:通过炫光着色器进行炫光场景覆盖,设置辉光强度,并调整辉光散发半径;步骤3:模型动态切换:步骤3.1:解析模型,生成点的关系及点与其构成的面的关系;步骤3.2:创建一个动态数组容器,加载数据库中的模型,并将变换所需模型保存,统计顶点数量最多的模型;同时需要设置一个定时容器,设置时间间隔,每隔一段时间更改展示模型的下标,重新渲染和切换模型,当鼠标悬浮的时候,定时容器会暂停,查看这个模型的当前状态,如图4所示粒子变换过程中的效果展示;步骤4:对模型进行交互操作:通过更换增加obj模型文件的顺序,完成粒子动态变换任务,得到如图5所示粒子变换结果图像,同时交互操作还能够对上传的自定义模型进行粒子动态变换,用户通过上传自定义的json格式的3D粒子模型本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种粒子动态变换的实现方法,其特征在于:包括以下步骤:步骤1:设置粒子场景:步骤1.1:场景参数初始化:按照摄取计划布置场景、画布、画布容器、方向光和相机,并对场景进行光栅化处理;步骤1.2:根据像素比例调整视角:根据场景所占大小和相机到z轴的距离,利用三角函数计算出视角Fov的大小,并将视角Fov设置为与像素比例相同的数值;步骤1.3:增加场景拾取方法:增加交互手段,所述交互手段包括点击、悬浮和拖拽;步骤2:粒子模型的实现:步骤2.1:粒子信息初始化:对粒子的各项特征变量赋予初始数值,利用Vectors浮点型向量保存粒子信息数据;步骤2.2:粒子平滑位移变换:将粒子坐标与目标位置坐标分解成xyz轴三个维度,并根据方向按比例移动变换;步骤2.3:粒子大小变换:通过COS函数在特定时间内对粒子大小进行平缓改变;步骤2.4:粒子透明度变换:随着z轴坐标值的变小逐渐降低粒子透明度;步骤2.5:辉光特效处理:通过炫光着色器进行炫光场景覆盖,设置辉光强度,并调整辉光散发半径;步骤3:模型动态切换:粒子变换之前以随机生成的点的形式存在场景空间中;步骤3.1:解析模型,生成点的关系及点与其构成的面的关系;步骤3.2:创建一个动态数组容器,加载数据库中的模型,并将变换所需模型保存,统计顶点数量最多的模型;步骤4:对模型进行交互操作:通过更换增加obj模型文件的顺序,完成粒子动态变换任务。2.根据权利要求1所述的粒子动态变换的实现方法,其特...

【专利技术属性】
技术研发人员:陈枝刘娴张皓
申请(专利权)人:南京开博信达科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1