一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

天气粒子渲染方法、装置及电子设备与流程

2021-09-10 20:46:00 来源:中国专利 TAG:粒子 电子设备 渲染 装置 天气


1.本技术涉及计算机技术领域,特别涉及一种天气粒子渲染方法、装置及电子设备。


背景技术:

2.粒子渲染在渲染中常常用于实现虚拟场景中的一些大量不规则的物体,例如云、烟雾、灰尘、雨雪、飞沙走石、焰火等。以雨滴天气粒子为例,每一个雨滴都会被视作一个粒子,并在其位于虚拟相机的可视范围内时,被渲染在对应的显示画面中,以实现虚拟天气场景的显示。
3.在游戏中对天气粒子进行渲染时,通常会根据游戏角色的移动进行天气粒子的实时加载及渲染。但由于天气粒子不仅数量巨大,不同种类天气粒子之间应用逻辑差别也较大,因此在游戏角色进入需要进行天气粒子渲染的游戏场景,或在切换两个存在不同天气粒子的场景时,终端设备的实时运算量过大,可能会出现天气粒子无法被及时渲染的情况,导致游戏画面的展示效果差。


技术实现要素:

4.本技术的目的在于至少解决现有技术中存在的技术问题之一,提供一种天气粒子渲染方法、装置以及电子设备,在进入具有天气粒子的游戏场景时可及时展示对应的天气粒子,提高游戏画面的展示效果。
5.第一方面,本技术实施例提供一种天气粒子渲染方法,包括:
6.获取游戏角色未来时间内的移动路径;
7.根据所述移动路径,获取应用程序中待加载的目标游戏场景;
8.预加载所述目标游戏场景中天气粒子的粒子数据,并在检测到当前显示界面存在所述目标游戏场景时,根据所述粒子数据生成天气粒子实例,以在所述当前显示界面中呈现对应的天气场景。
9.进一步的,预加载所述目标游戏场景中天气粒子的粒子数据,包括:
10.根据所述目标游戏场景的目标天气,获取与所述目标天气对应的初始数据;
11.对所述初始数据进行格式转换,生成可供图像处理器处理的粒子数据,并将所述粒子数据存储在所述图像处理器中,以对所述粒子数据进行预加载。
12.进一步的,获取与所述目标天气对应的初始数据,包括:
13.通过粒子生成脚本执行与所述目标天气对应的目标代码,以获取与所述目标天气对应的初始数据。
14.进一步的,所述获取与所述目标天气对应的初始数据,包括:
15.获取所述目标天气的天气配置数据;
16.根据所述天气配置数据,从资源文件中查找与所述目标天气对应的所述初始数据。
17.进一步的,在根据所述粒子数据生成天气粒子实例之前,还包括:
18.将所述粒子数据与预设的参数条件进行比对,并在比对一致后,根据所述粒子数据生成天气粒子实例。
19.进一步的,所述天气粒子实例在目标区域中生成,所述目标区域为所述当前显示界面中目标游戏场景的显示区域。
20.进一步的,所述天气粒子实例通过硬件批量渲染或单例模型渲染生成;其中,当所述当前显示界面中各虚拟角色的渲染运算量不高于预设值时,通过所述硬件批量渲染生成所述天气粒子实例;当所述当前显示界面中各虚拟角色的渲染运算量高于所述预设值时,通过所述单例模型渲染生成所述天气粒子实例。
21.相比于现有技术,在上述实施例中,通过获取的游戏角色的移动路径,来确定游戏地图中待加载的目标游戏场景后,预加载目标游戏场景中天气粒子的粒子数据,并在检测到当前显示界面存在目标游戏场景时,生成天气粒子实例,使得在游戏角色进入具有天气粒子的游戏界面时,无需实时进行粒子数据的生成即可直接展示对应的天气粒子,从而确保在进入具有天气粒子的游戏场景时可及时展示对应的天气粒子,提高游戏画面的展示效果。
22.第二方面,在本技术实施例中,还提供了一种天气粒子渲染装置,包括:
23.路径获取模块,用于获取游戏角色未来时间内的移动路径;
24.画面获取模块,用于根据所述移动路径,获取应用程序中待加载的目标游戏场景;
25.粒子渲染模块,用于预加载所述目标游戏场景中天气粒子的粒子数据,并在检测到当前显示界面存在所述目标游戏场景时,根据所述粒子数据生成天气粒子实例,以在所述当前显示界面中呈现对应的天气场景。
26.第三方面,本技术实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例所述的天气粒子渲染方法。
27.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述实施例所述的天气粒子渲染方法。
附图说明
28.下面结合附图和实施例对本技术进一步地说明;
29.图1为一个实施例中天气粒子渲染方法的应用环境图;
30.图2为一个实施例中天气粒子渲染方法的流程示意图;
31.图3为一个实施例中天气粒子渲染装置的结构示意图;
32.图4为一个实施例中计算机设备的结构框图。
具体实施方式
33.本部分将详细描述本技术的具体实施例,本技术之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本技术的每个技术特征和整体技术方案,但其不能理解为对本技术保护范围的限制。
34.为使本技术方案更容易被理解,下述对本技术中涉及的部分概念做出解释:
35.游戏场景,是指是应用程序在终端上运行时显示的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种。
36.天气粒子实例,用于在虚拟环境中形成天气场景的粒子,例如雨天、雪天等,存在对应的天气粒子如雨滴粒子、雪花粒子。而在一些天气场景中,如晴天、阴天等,不存在天气粒子。
37.本技术中实施例提供的方法可以应用于三维地图程序、三维军事仿真程序、三维的第一人称射击游戏(first

person shooting game,fps)、三维的多人在线战术竞技游戏(multiplayer online battle arena games,moba)、三维的mmoprg游戏、虚拟现实应用程序(virtual reality,vr)、增强现实应用程序(augmented reality,ar)等,下述实施例是以游戏应用程序来举例说明。
38.粒子渲染在渲染中常常用于实现虚拟场景中的一些大量不规则的物体,例如云、烟雾、灰尘、雨雪、飞沙走石、焰火等。以雨滴天气粒子为例,每一个雨滴都会被视作一个粒子,并在其位于虚拟相机的可视范围内时,被渲染在对应的显示画面中,以实现虚拟天气场景的显示。
39.相关技术中,在对游戏应用程序中的游戏场景进行天气粒子的渲染时,通常是根据游戏角色的移动进行天气粒子的实时加载,即在游戏角色移动至需要进行天气粒子渲染的游戏画面时,通过粒子生成脚本实时生成粒子数据,然后再通过粒子数据实时生成并渲染天气粒子实例。但由于天气粒子不仅数量巨大,不同种类天气粒子之间应用逻辑差别也较大,因此在游戏角色进入需要进行天气粒子的游戏场景,或在切换两个存在不同天气粒子的场景时,终端设备的实时运算量过大,可能会出现天气粒子无法被及时渲染的情况,导致游戏画面的展示效果差。
40.为了解决上述技术问题,如图1所示,是一个实施例中天气粒子渲染方法的应用环境图。游戏场景的天气渲染方法应用与终端设备110中,该终端设备110安装有支持三维游戏场景运行的的应用程序对应的客户端,该应用程序为游戏应用程序。其中,终端设备具体可以是台式终端或移动终端,移动终端可以是手机、平板电脑、笔记本电脑、可穿戴设备等中的一种。客户端对应有天气系统120,该天气系统120用于确定游戏场景中各种带有天气粒子的天气场景,如下雨场景、下雪场景、下冰雹场景、沙尘暴场景等。在游戏应用程序运行时,终端设备110获取游戏角色在游戏场景中的移动路径,根据移动路径确定游戏场景中待加载的目标游戏场景,并通过天气系统120确定目标游戏场景为存在天气粒子的天气场景后,根据目标游戏场景,预加载目标游戏场景的粒子数据。当终端设备110检测到当前显示界面存在目标游戏场景时,获取粒子数据,并根据粒子数据生成天气粒子实例,以在当前显示界面中呈现对应的天气场景。
41.通过获取的游戏角色的移动路径,来确定游戏地图中待加载的目标游戏场景后,预加载目标游戏场景中天气粒子的粒子数据,并在检测到当前显示界面存在目标游戏场景时,生成天气粒子实例,使得在游戏角色进入具有天气粒子的游戏界面时,无需实时进行粒子数据的生成即可直接展示对应的天气粒子,从而确保在进入具有天气粒子的游戏场景时可及时展示对应的天气粒子,提高游戏画面的展示效果。
42.下面,将通过几个具体的实施例对本技术实施例提供的天气粒子渲染方法进行详
细介绍和说明。
43.如图2所示,在一个实施例中,提供了一种天气粒子渲染方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是上述图1中的终端设备110。
44.参照图2,该天气粒子渲染方法具体包括如下步骤:
45.s11、获取游戏角色未来时间内的移动路径。
46.在一实施例中,未来时间内的移动路径,可以是终端设备通过接收用户输入到终端设备的操作指令生成。该操作指令可以是用户对外部设备的点击或触摸操作,或者是用户在终端设备的显示屏上的点击或触摸操作,或者是用户对终端设备上自带的操作按键的点击或触摸操作。例如用户通过鼠标或通过触摸的方式在显示屏上拖动一段距离,则终端设备接收该拖动操作指令,并根据该拖动操作指令形成的拖动轨迹,对应生成游戏角色未来时间内的移动路径,或者用户通过鼠标点击游戏场景中的特定地点,终端设备以游戏角色的当前位置为起点,以特定地点为终点,生成未来时间内游戏角色到该特定地点的移动路径。该未来时间内的移动路径还可以是终端设备自动生成,例如用户在游戏中选定一个任务,则终端设备将任务中包含的位置信息为终点,以游戏角色的当前位置为起点,自动生成游戏角色在未来时间内的移动路径。
47.s12、根据所述移动路径,获取应用程序中待加载的目标游戏场景。
48.在一实施例中,待加载的目标游戏场景指的是在应用程序运行时,游戏角色沿着移动路径移动会出现的游戏画面,其中游戏画面可以逐帧来进行获取。另外,目标游戏场景的尺寸可以是能够充满整个终端设备屏幕的尺寸或者等比例缩小。目标游戏场景处于待加载状态,即目标游戏场景随着游戏角色在移动路径上的移动,将在终端设备的显示屏中进行显示。
49.s13、预加载目标游戏场景中天气粒子的粒子数据,并在检测到当前显示界面存在目标游戏场景时,根据粒子数据生成天气粒子实例,以在当前显示界面中呈现对应的天气场景。
50.其中,粒子数据至少包括:天气粒子的初始位置信息、天气粒子的移动速度信息、天气粒子的初始大小信息、天气粒子的形状、天气粒子的材质中一种或者多种。
51.在一实施例中,当目标游戏场景为存在天气粒子的游戏画面时,触发天气情景变更信号,生成目标游戏场景中天气粒子的粒子数据,然后将粒子数据存储至粒子容器对象中,例如envparticles对象。完成对粒子数据的存储后,终端设备对显示界面进行检测。在检测到当前显示界面存在目标游戏场景时,将粒子容器对象中的粒子数据取出,提交到图像处理器中对应的统一数据uniform data中,以供图像处理器执行渲染过程,从而生成天气粒子实例。
52.在一实施例中,终端设备对显示界面的检测,可以在获取目标游戏场景后,可以对获取的目标游戏场景进行标注,然后终端设备通过检测显示界面中需要显示的游戏画面是否存在相应的标注,若存在。则表示检测到目标游戏场景。
53.通过获取的游戏角色的移动路径,来确定游戏地图中待加载的目标游戏场景后,预加载目标游戏场景中天气粒子的粒子数据,并在检测到当前显示界面存在目标游戏场景时,生成天气粒子实例,使得在游戏角色进入具有天气粒子的游戏界面时,无需实时进行粒子数据的生成即可直接展示对应的天气粒子,从而确保在进入具有天气粒子的游戏场景时
可及时展示对应的天气粒子,提高游戏画面的展示效果。
54.在一实施例中,粒子数据的预加载,可根据目标游戏场景的目标天气,获取与目标天气对应的初始数据后,对初始数据进行格式转换,生成可供图像处理器处理的粒子数据,并将粒子数据存储在图像处理器中,以对粒子数据进行预加载。其中,初始数据以特定数组的形式保存,如python数组。在获取初始数据后,启动主线程,向该主线程发送数据解析指令,使主线程在接到数据解析指令后,执行数据解析任务,将以特定数组的形式保存的初始数据解析成可供图像处理器处理的粒子数据,然后将粒子数据存储至图像处理器的粒子容器对象中。通过将初始数据转换为可供图像处理器处理的粒子数据,并将粒子数据存储在图像处理器中的方式,使得后续在进行渲染时,可通过图像处理器直接生成天气粒子实例,无需实时进行粒子数据的生成运算,节省运算时间。
55.在一实施例中,对初始数据的获取,可通过粒子生成脚本执行与目标天气对应的目标代码,以获取与目标天气对应的初始数据。示例性的,粒子生成脚本基于编程语言python进行初始数据的生成,所生成的初始数据以python数组的形式保存。
56.当所需的粒子数据的数据量较大时,通过粒子生成脚本实时生成粒子数据的过程所需时间较长,可能影响后续预加载的进程。为此,在一实施例中,对初始数据的获取,还可通过获取目标天气的天气配置数据;根据天气配置数据,从资源文件中查找与目标天气对应的初始数据。示例性的,天气配置数据从天气系统中获取,其用于表示目标天气的粒子属性需求,如雨滴粒子需求、雪花粒子需求、沙尘暴粒子需求等。从资源文件中查找与目标天气对应的初始数据,可通过将天气配置数据与资源文件中的所有数据进行匹配,根据匹配结果确定初始数据。如天气配置数据为雨滴粒子需求,则从资源文件中获取用于生成雨滴粒子的初始数据。
57.在一实施例中,在根据粒子数据生成天气粒子实例之前,会将粒子数据与预设的参数条件进行比对,以实现对粒子数据的验证。在验证通过后,根据粒子数据生成天气粒子实例,其中参数条件包括天气粒子的渲染执行逻辑。当验证不通过时,则根据预设的参数条件,更新粒子数据,以重新生成天气粒子实例。通过这种方式,使得当天气粒子的渲染执行逻辑出现热更新时,不会出现天气粒子实例与渲染执行逻辑出现冲突的情况,保证游戏的流畅运行。
58.在一实施例中,天气粒子实例在目标区域中生成,目标区域为当前显示界面中目标游戏场景的显示区域。由于目标游戏画面的尺寸可以大于当前显示界面,因此终端设备可以在检测到目标游戏画面的标识时,根据当前显示界面的尺寸确定位于其中的目标区域,在目标区域中根据粒子数据生成天气粒子。而在游戏显示存在边界,所以目标区域中并不是所有天气粒子均能够完整显示,并且可能对天气粒子进行部分显示,因此终端设备可通过仅在目标区域中根据粒子数据生成天气粒子实例,从而减少非必要区域的渲染,降低了gpu的运算量。
59.由于终端设备在执行渲染操作时,其运算量受虚拟角色的数量影响,特别是在网络游戏中,可能同时需要在游戏场景中渲染大量的虚拟角色,此时需要对天气粒子的渲染进行实时调整,以保证游戏画面的正常显示。因此在一实施例中,天气粒子实例可通过硬件批量渲染或单例模型渲染生成。若当前显示界面中各虚拟角色的渲染运算量不高于预设值时,通过硬件批量渲染生成天气粒子实例;若当前显示界面中各虚拟角色的渲染运算量高
于预设值时,通过单例模型渲染生成天气粒子实例。其中,预设值可根据终端设备实际可承载的运算量进行设定。
60.示例性的,预设值可设置为虚拟角色的数量,即当前显示界面中的虚拟角色未超过预设的虚拟角色数量时,则通过硬件批量渲染生成天气粒子实例;反之,则通过单例模型渲染生成天气粒子实例。
61.当基于单例模型渲染方式进行天气粒子实例渲染时,可以基于粒子数据生成单例模型。在该单例模型中包括各个天气粒子对应的面片。在渲染时,直接对单例模型进行渲染即可。
62.基于当前显示界面中各虚拟角色的渲染运算量,实时调整天气粒子的渲染方式,从而在保证游戏画面的正常显示的同时,避免由于某个时刻的运算量过高导致游戏在屏幕上所显示的画面出现迟滞的现象,也可尽量避免造成游戏闪退以及终端的显示卡损坏。
63.在一个实施例中,如图3所示,提供了一种天气粒子渲染装置,包括:
64.路径获取模块101,用于获取游戏角色未来时间内的移动路径。
65.画面获取模块102,用于根据移动路径,获取应用程序中待加载的目标游戏场景。
66.粒子渲染模块103,用于预加载目标游戏场景中天气粒子的粒子数据,并在检测到当前显示界面存在目标游戏场景时,根据粒子数据生成天气粒子实例,以在当前显示界面中呈现对应的天气场景。
67.在一实施例中,粒子渲染模块103,还用于:
68.根据目标游戏场景的目标天气,获取与目标天气对应的初始数据;
69.对初始数据进行格式转换,生成可供图像处理器处理的粒子数据,并将粒子数据存储在图像处理器中,以对粒子数据进行预加载。
70.在一实施例中,粒子渲染模块103,还用于:
71.通过粒子生成脚本执行与目标天气对应的目标代码,以获取与目标天气对应的初始数据。
72.在一实施例中,粒子渲染模块103,还用于:
73.获取目标天气的天气配置数据;
74.根据天气配置数据,从资源文件中查找与目标天气对应的初始数据。
75.在一实施例中,粒子渲染模块103,还用于:
76.将粒子数据与预设的参数条件进行比对,并在比对一致后,根据粒子数据生成天气粒子实例。
77.在一实施例中,天气粒子实例在目标区域中生成,目标区域为当前显示界面中目标游戏场景的显示区域。
78.在一实施例中,天气粒子实例通过硬件批量渲染或单例模型渲染生成;其中,当当前显示界面中各虚拟角色的渲染运算量不高于预设值时,通过硬件批量渲染生成天气粒子实例;当当前显示界面中各虚拟角色的渲染运算量高于预设值时,通过单例模型渲染生成天气粒子实例。
79.在一个实施例中,提供了一种计算机设备,如图4所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系
统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现天气粒子渲染方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行天气粒子渲染方法。本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
80.在一个实施例中,本技术提供的天气粒子渲染装置可以实现为一种计算机程序的形式,计算机程序可在如图4所示的计算机设备上运行。计算机设备的存储器中可存储组成该天气粒子渲染装置的各个程序模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本技术各个实施例的天气粒子渲染方法中的步骤。
81.在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述天气粒子渲染方法的步骤。此处天气粒子渲染方法的步骤可以是上述各个实施例的天气粒子渲染方法中的步骤。
82.以上所述是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本技术的保护范围。
83.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)或随机存储记忆体(random access memory,ram)等。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜