虚拟环境中的局部天气控制方法、电子设备及存储介质与流程



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.在一些实施例,将第一数据发送给所述虚拟环境中各个虚拟角所属的从服务器之后,所述方法包括:
30.累计所述目标局部天气的出现时长;
31.当所述出现时长超过预先设定的所述目标局部天气的持续时长,向各个所述从服务器发送第二数据,所述第二数据为所述目标局部天气的结束标记,所述结束标记包括结束时间或者结束指令。
32.在一些实施例,所述方法还包括:
33.预先设定所述局部天气组中各种不同类型的局部天气的出现条件和持续时长;
34.每间隔预设时间向各个所述从服务器发送至少一种目标局部天气的所述第一数据,以使得各个所述从服务器根据所述第一数据,控制是否在各个虚拟角的所处区域中按照所述运动方向和运动速度渲染对应的目标局部天气。
35.为实现上述目的,本技术实施例的第三方面提出了一种电子设备,所述电子设备
包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
36.为实现上述目的,本技术实施例的第四方面提出了一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
37.本技术提出的一种虚拟环境中的局部天气控制方法、电子设备及存储介质,该方法包括:根据主服务器发送的第一数据,计算得到目标局部天气的当前位置,所述第一数据包括所述目标局部天气的开始时刻、起始位置、运动方向和运动速度;当所述目标局部天气的当前位置进入目标区域,判断所述目标区域是否满足所述目标局部天气的出现条件,所述目标区域为虚拟环境中虚拟角的所处区域;当所述目标区域满足所述目标局部天气的出现条件,控制所述目标局部天气在所述目标区域中按照所述运动方向和运动速度进行渲染。由于局部天气是按照预先设定的运动方向和运动速度进行渲染,存在方向性的变化过程,能够增加天气由远到近运动带来的视觉感受;同时,主服务器只需要将第一数据发送给各个从服务器,就能够实现对局部天气渲染的控制,不需要主服务器不停地遍历各个虚拟角所处区域的地形内容,也不需要主服务器逐一判断各个虚拟角所处区域是否满足目标局部天气的出现条件,能够有效减少主服务器的计算量,从而减少主服务器的性能消耗。
附图说明
38.图1是本技术实施例提供的游戏场景的天气渲染方法的应用环境图;
39.图2是本技术实施例提供的虚拟环境中的局部天气控制方法的步骤流程图;
40.图3是本技术实施例提供的根据虚拟环境中各个虚拟角的所处区域,确定目标局部天气的起始位置的步骤流程图;
41.图4是本技术实施例提供的将第一数据发送给虚拟环境中各个虚拟角所属的从服务器之后执行的步骤流程图;
42.图5是本技术实施例的虚拟环境中的局部天气控制方法的另一步骤流程图;
43.图6是本技术实施例提供的根据主服务器发送的第一数据,计算得到目标局部天气的当前位置的步骤流程图;
44.图7是本技术实施例提供的根据主服务器发送的第一数据,计算得到目标局部天气的当前位置之后执行的步骤流程图;
45.图8是本技术实施例提供的主服务器与各个从服务器交互示意图;
46.图9是本技术实施例提供的虚拟环境中的局部天气控制流程图;
47.图10是本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
48.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
49.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示
出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
50.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
51.虚拟角:是指虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在三维虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,虚拟角是基于动画骨骼技术创建的三维立体模型。每个虚拟角在三维虚拟场景中具有自身的形状和体积,占据三维虚拟场景中的一部分空间。虚拟角泛指虚拟场景中的一个或多个虚拟角。以游戏应用程序为例,虚拟角是用户参与游戏时控制的可活动对象。
52.大型多人在线角扮演游戏(mmoprg,mass ive ly mu lt ip l ayer on l i ne ro l ep l ayi ng game):是指一种支持多人在线的网络游戏,不同客户端可在同一场景中进行游戏,不同客户端可协同完成一项任务,客户端之间可在线交流,客户端还可与游戏中的非玩家角(npc,non-p l ayer character)进行互动。通常情况下,用户通过在客户端登录用户帐号控制虚拟角,虚拟角与用户帐号(i d,i dent ity)一一对应。用户控制的虚拟角在虚拟环境中扮演不同的角,比如,将军角、法师角、书生角、舞女角等。大型多人在线游戏包括战略类、动作类、冒险类、模拟类、运动类、赛车类、角扮演类等类型。下述实施例以在客户端是游戏客户端为例说明。
53.本技术中提供的方法可以应用于三维地图程序、军事仿真程序、第一人称射击游戏(fi rst-person shoot i ng game,fps)、多人在线战术竞技游戏(mu lt ip l ayer on l i nebatt l e arena games,moba)、mmoprg游戏、虚拟现实应用程序(vi rtua l rea l ity,vr)、增强现实应用程序(augmented rea l ity,ar)等,下述实施例是以游戏应用程序来举例说明。
54.基于虚拟场景的游戏由一个或多个游戏世界的地图构成,游戏中的虚拟环境模拟真实世界的环境,用户可以操控游戏中的虚拟角在虚拟环境中进行行走、跑步、跳跃、射击、格斗、驾驶、受到其他虚拟角的攻击(其他虚拟角是其他用户控制的虚拟角)、受到虚拟环境中的伤害、攻击其他虚拟角等动作,交互性较强,并且多个用户可以在线组队进行竞技游戏。
55.三维游戏场景,是应用程序在终端上运行时显示的三维虚拟场景。该三维游戏场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。三维游戏场景中存在有变换的天气环境,比如,晴天、雨天、雪天、沙尘暴、雷阵、雨、暴雨、暴雪、日出、日落等,与现实世界一样,虚拟环境被划分为各个时间段,每个时间段对应不一样的天气效果,比如,上午6点至7点是日出的时间,虚拟场景对应日出的天气效果,下午4点至5点是落日的时间,虚拟场景对应黄昏的天气效果。
56.在与电子游戏相关的游戏应用程序中,在游戏应用程序运行时,会进入三维游戏场景时渲染出模拟现实世界中的天气,使得玩家在控制虚拟角进行游戏时,具有更为真实的体验。以沙盒世界((sandbox game)游戏场景为例,沙盒游戏是一种模拟游戏的类型。游戏的核心是“自由与开放”,游戏通常没有很明显的目标,玩家可以自由的移动、建造或进
行任何游戏设计上允许的目的。或者,玩家可以扮演一位角完成游戏的故事和提供的任务。在这些三维游戏场景中,往往会模拟现实世界中的天气,使得玩家具有更真实的体验。比如,在三维游戏场景为下雨场景时,会将雨滴贴图添加在虚拟相机的前方来进行三维游戏场景的渲染,从而在三维游戏场景中模拟真实世界中的下雨场景。相关技术中,沙盒世界的局部天气表现没有方向的线性变化,只存在于整体区域范围中,不存在类似从左到右的运动变化过程,缺少控制由远到近运动带来的视觉感受。且,在多人联机的情况下,从服务器人数越多,主服务器的局部天气针对不同虚拟角的所在区域需要持续地遍历地形内容,性能消耗过高,而且每张地图都是随机生成,位置不同,不能通过存取位置保存地形数据来减少计算量。
57.为了解决上述技术问题,如图1所示,是一个实施例中游戏场景的天气渲染方法的应用环境图。在该应用环境中,游戏场景的天气渲染方法应用与终端设备110中,该终端设备110安装有支持三维游戏场景运行的应用程序对应的客户端,该应用程序为游戏应用程序。其中,终端设备具体可以是台式终端或移动终端,移动终端可以是手机、平板电脑、笔记本电脑、可穿戴设备等中的一种。客户端对应有天气系统120,该天气系统120用于模拟三维游戏场景中各种天气环境,如光照场景、云朵场景、下雨场景、下雪场景、下冰雹场景、沙尘暴场景等。示例性的,天气系统根据场景的不同,还可以分为光照子系统、云彩子系统和粒子子系统,其中光照子系统用于模拟三维游戏场景中的光照场景,如太阳初升时的光照场景、黄昏时的光照场景、夜晚时月亮的光照场景等场景中的至少一种。云彩子系统用于模拟三维游戏场景中的云朵场景,如多云场景、阴天场景等场景中的至少一种。粒子子系统用于模拟三维游戏场景中的大雨场景、暴雨场景、雷阵雨场景、雨夹雪场景、下冰雹场景、下小雪场景、下大雪场景、沙尘暴场景等场景中的至少一种。天气系统根据天气配置数据计算出局部天气环境对应的目标天气贴图,该目标天气贴图为二维的贴图图像。在客户端运行时,终端设备110通过获取目标局部天气贴图渲染至根据三维游戏场景形成的二维图像中,以在三维游戏场景中形成目标局部天气环境。
58.参照图2,图2是本技术实施例提供的虚拟环境中的局部天气控制方法的步骤流程图,由主服务器执行,包括但不限于步骤s201至步骤s205。
59.步骤s201,预先设定局部天气组中各种不同类型的局部天气的运动方向和运动速度;
60.步骤s202,从局部天气组中任意选取至少一种局部天气作为目标局部天气;
61.步骤s203,当检测到目标局部天气被触发,记录目标局部天气的开始时刻;
62.步骤s204,根据虚拟环境中各个虚拟角的所处区域,确定目标局部天气的起始位置;
63.步骤s205,将第一数据发送给虚拟环境中各个虚拟角所属的从服务器,第一数据包括目标局部天气的开始时刻、起始位置、运动方向和运动速度。
64.本技术实施例中,执行主体为主服务器,主服务器主要用于处理游戏进程和进行游戏逻辑计算和为各个虚拟角所属从服务器提供游戏数据。主服务器可通过天气系统预先设定局部天气组中各种不同类型的局部天气的运动方向和运动速度,然后从局部天气组中任意选取至少一种局部天气作为目标局部天气。当检测到目标局部天气被触发,记录目标局部天气的开始时刻,接着获取虚拟环境中各个虚拟角的所处区域,再根据虚拟环境
中各个虚拟角的所处区域,确定目标局部天气的起始位置。最后将目标局部天气的开始时刻、起始位置、运动方向和运动速度发送给虚拟环境中各个虚拟角所属的从服务器,以让虚拟环境中处在任意位置的虚拟角都能够知晓目标局部天气的开始时刻、起始位置、运动方向和运动速度,从而可根据这些信息,实时计算得到目标局部天气的运动轨迹。
65.需要说明的是。本技术实施例中,可以随机选取东南西北任意一个方向设定为目标局部天气的运动方向,也可以选取如东南、西南或者以东偏30度角等任意方向设定为目标局部天气的运动方向。本技术实施例对目标局部天气的运动方向不作具体限定,可根据虚拟环境类型和虚拟环境中的地图类型和实际情况确定。同样地,本技术实施例中,可以设定目标局部天气按照一定的速度和方向作匀速直线运动,也可以设定目标局部天气按照一定的加速度和方向作匀加速直线运动,加速到一定速度后再作匀速直线运动。或者其他更为复杂的速度设定,本技术实施例对目标局部天气的运动速度也不作具体限定。
66.需要说明的是,本技术实施例主服务器可预先设定触发事件来检测目标局部天气是否被触发。比如触发事件可以为玩家完成一定的预设任务后触发某一局部天气,或玩家进入一些预设游戏模式后触发某一局部天气,预设游戏模式例如可以为探险游戏模式、灾难游戏模式等;或玩家通过触发预设的非玩家角(non-p l ayer character,npc)触发某一局部天气,不同的触发事件对应有相应的触发操作,各触发事件均有自己对应的不同局部天气,具体触发事件可能对应的触发操作的方式,以及各触发事件对应的局部天气可以根据用户需要进行预先配置或调整,应当理解上述实施例仅为示例性说明,并不以此为限。
67.示例性地,设置当检测到所有玩家都进入沙漠持续2分钟后,触发沙尘暴这一局部天气。或者设置游戏开始持续10分钟后触发1分钟的下雨天气等。本技术实施例对于局部天气的触发事件可根据具体情况和需要作相应设置和调整。
68.需要说明的是,当局部天气组中的局部天气符合同时出现的条件时,也可同时选取局部天气组中的多个局部天气作为多个目标局部天气,然后同时向各个从服务器发送多个目标局部天气的第一数据,以使得各个从服务器控制是否需要在各个虚拟角所在区域同时渲染多个目标局部天气。比如下雨和打雷可以同时出现,则可同时向各个从服务器发送下雨的第一数据和打雷的第一数据,以使得各个从服务器控制是否需要在各个虚拟角所在区域同时渲染下雨天气和打雷天气。
69.参照图3,图3是本技术实施例提供的根据虚拟环境中各个虚拟角的所处区域,确定目标局部天气的起始位置的步骤流程图,包括但不不限于步骤s301至步骤s304。
70.步骤s301,获取第一集合,第一集合为虚拟环境中各个虚拟角的所处区域的集合;
71.步骤s302,从第一集合中选取第一区域,第一区域为第一集合中远离目标局部天气的运动方向最远的区域;
72.步骤s303,从第一区域中确定第二位置,第二位置为第一区域中远离目标局部天气的运动方向最远的位置;
73.步骤s304,将第二位置作为目标局部天气的起始位置,或者从第二位置远离目标局部天气的运动方向的区域中任意选取一个位置作为目标局部天气的起始位置。
74.本技术实施例中,主服务器先实时获取虚拟环境中所有虚拟角的所处区域,再根据各个虚拟角的所处区域确定目标局部天气的起始位置。而不是随机地从地图上选择
任意一个位置作为目标局部天气的起始位置。具体地,先获取第一集合,第一集合为虚拟环境中各个虚拟角的所处区域的集合;再从第一集合中选取第一区域,第一区域为第一集合中远离目标局部天气的运动方向最远的区域;然后从第一区域中确定第二位置,第二位置为第一区域中远离目标局部天气的运动方向最远的位置;最后将第二位置作为目标局部天气的起始位置,或者从第二位置远离目标局部天气的运动方向的区域中任意选取一个位置作为目标局部天气的起始位置。通过这种方式,可以保证虚拟环境中的各个虚拟角都有机会渲染该目标局部天气,而不会存在由于选取的起始位置位于某一虚拟角的后方,导致目标局部天气从一开始就不可能在该虚拟角所在区域出现。
75.示例性地,虚拟环境中包含玩家a、b、c和d四个玩家,这四个玩家均不在地图中的沙漠,此时,若随机选取到地图中沙漠地形的某一位置作为起始位置开始出现沙尘暴天气,则对于这四个玩家来说出现这个天气将毫无意义。因此,为了避免这种情况,先获取这四个玩家分别所处的区域,按照预先设定的目标局部天气的运动方向给这四个玩家的所处区域进行排序。具体地,可按照远离目标局部天气的运动方向的距离从远到近进行排序。比如,排序结果为a-b-c-d,则确定玩家a所在区域为远离目标局部天气的运动方向最远的区域,玩家d所在区域为远离目标局部天气的运动方向最近的区域。此时,继续从玩家a所在区域中出远离目标局部天气的运动方向最远的位置,记为第二位置,然后将第二位置作为目标局部天气的起始位置,或者从第二位置远离目标局部天气的运动方向的区域中任意选取一个位置作为目标局部天气的起始位置。按照这种方式,如果目标局部天气的持续时间够长,且这四个玩家所在区域满足该局部天气的出现条件,则这四个玩家所在区域都能够出现该目标局部天气。
76.可以理解的是,主服务器将第一数据,也就是目标局部天气的开始时刻、起始位置、运动方向和运动速度发送至各个虚拟角所属的从服务器之后,各个从服务器可以计算得到目标局部天气的实时位置,即能够掌握目标局部天气的运动轨迹。从而,各个从服务器之间也均可互相知道哪些区域正在出现该目标局部天气,哪些区域应该在什么时刻开始会对应出现该目标局部天气。
77.参照图4,图4是本技术实施例提供的将第一数据发送给虚拟环境中各个虚拟角所属的从服务器之后执行的步骤流程图,包括但不限于步骤s401至步骤s402。
78.步骤s401,累计目标局部天气的出现时长;
79.步骤s402,当出现时长超过预先设定的目标局部天气的持续时长,向各个从服务器发送第二数据,第二数据为目标局部天气的结束标记,结束标记包括结束时间或者结束指令。
80.本技术实施例中,主服务器将目标局部天气的开始时刻、起始位置、运动方向和运动速度发送至各个虚拟角所属的从服务器之后,会开始累计目标局部天气的出现时长,当累计的出现时长超过预先设定的目标局部天气的持续时长时,向各个从服务器发送第二数据,第二数据为目标局部天气的结束标记,结束标记包括结束时间或者结束指令。从而可使得正在渲染该目标局部天气的从服务器停止渲染,让还没有开始渲染该目标局部天气(该目标局部天气运动轨迹还未进入虚拟角的所在区域)的从服务器知道该目标局部天气已经结束了,不需要再继续实时计算该目标局部天气的运动轨迹了。
81.需要说明的是,本技术实施例中,主服务器预先设定局部天气组中各种不同类型
的局部天气的出现条件和持续时长,然后,可将各种不同类型的局部天气的出现条件预先发送至各个从服务器,以让各个从服务器在确定目标局部天气进入虚拟角的所在区域时,判断虚拟角的所在区域是否满足目标局部天气的出现条件,如果满足,则控制该目标局部天气在虚拟角的所在区域按照预先设定的运动方向和运动速度进行渲染。如果不满足,则控制该目标局部天气在虚拟角的所在区域不进行渲染。同时,在将第一数据发送至各个从服务器之后,需要开始累计目标局部天气的出现时长,当出现时长超过持续时长时,给各个从服务器发送目标局部天气的结束标记。
82.可以理解的是,本技术实施例中,局部天气的出现条件可根据具体情况进行设定。比如可根据地形地貌及区域内的建筑生物等进行设置。比如,设置地形为沙漠,则可出现沙尘暴天气等。
83.本技术实施例中,每间隔预设时间向各个从服务器发送至少一种目标局部天气的第一数据,以使得各个从服务器根据第一数据,控制是否在各个虚拟角的所处区域中按照运动方向和运动速度渲染对应的目标局部天气。也就是说,当主服务器向各个从服务器发送目标局部天气的结束标记之后,可以间隔一定时间后开始进行下一轮目标局部天气的控制,下一轮的目标局部天气可以与本轮的目标局部天气相同,也可以不同。
84.参照图5,图5是本技术实施例的虚拟环境中的局部天气控制方法的另一步骤流程图,由虚拟环境中各个虚拟角所属的从服务器执行,包括但不限于步骤s501至步骤s503。
85.步骤s501,根据主服务器发送的第一数据,计算得到目标局部天气的当前位置,第一数据包括目标局部天气的开始时刻、起始位置、运动方向和运动速度;
86.步骤s502,当目标局部天气的当前位置进入目标区域,判断目标区域是否满足目标局部天气的出现条件,目标区域为虚拟环境中虚拟角的所处区域;
87.步骤s503,当目标区域满足目标局部天气的出现条件,控制目标局部天气在目标区域中按照运动方向和运动速度进行渲染。
88.本技术实施例中,执行主体为虚拟环境中各个虚拟角所属的从服务器。各个从服务器主要用于根据接收主服务器发送的游戏数据,对虚拟角当前所在场景进行渲染,当前所在场景包括游戏中的环境、建筑、生物和天气等。本技术实施例中,虚拟环境中各个虚拟角所属的从服务器在接收到目标局部天气的开始时刻、起始位置、运动方向和运动速度之后,可以实时计算得到目标局部天气的运动轨迹,当目标局部天气的当前位置进入虚拟角的所处区域之后,会判断虚拟角的所处区域是否满足目标局部天气的出现条件。如果虚拟角的所处区域满足目标局部天气的出现条件,则控制目标局部天气在目标区域中按照运动方向和运动速度进行渲染。如果虚拟角的所处区域不满足目标局部天气的出现条件,则控制目标局部天气在目标区域中不进行渲染。
89.参照图6,图6是本技术实施例提供的根据主服务器发送的第一数据,计算得到目标局部天气的当前位置的步骤流程图,包括但不限于步骤s601至步骤s603。
90.步骤s601,根据当前时刻和目标局部天气的开始时刻,计算得到目标局部天气的运动时长;
91.步骤s602,根据目标局部天气的运动方向、运动速度和运动时长,计算得到目标局部天气的运动距离;
92.步骤s603,根据目标局部天气的起始位置和运动距离,计算得到目标局部天气的
当前位置。
93.本技术实施例中,由于各个从服务器获取了由主服务器发送的目标局部天气的开始时刻、起始位置、运动方向和运动速度,因此,各个从服务器可以计算得到目标局部天气的实时运动轨迹,具体地,可根据当前时刻和获取的目标局部天气的开始时刻,计算得到目标局部天气的运动时长。然后根据目标局部天气的运动方向、运动速度和运动时长,计算得到目标局部天气的运动距离。最后根据目标局部天气的起始位置和运动距离,计算得到目标局部天气的当前位置。
94.示例性地,主服务器发送的目标局部天气的开始时刻为t0,运动方向为向东方向,运动速度为v0,起始位置坐标为(x0,y0)。各个从服务器可根据这些信息计算得到目标局部天气的实时运动轨迹。具体地,若当前时刻为t1,则可计算得到目标局部天气的运动时长为t=t1-t0。然后根据运动方向为向东方向,运动速度为v0,可计算得到目标局部天气的运动距离。比如设定目标局部天气按照运动速度v0和向东方向作匀速运动,则目标局部天气的运动距离s=v0
×
t。进一步根据目标局部天气的起始位置,可计算得到目标局部天气的当前位置为(x0+s,y0)。按照这种方式,可以计算得到目标局部天气在任意时刻下的运动位置,进而可知道目标局部天气的实时运动轨迹。
95.参照图7,图7是本技术实施例提供的根据主服务器发送的第一数据,计算得到目标局部天气的当前位置之后执行的步骤流程图,包括但不限于步骤s701至步骤s702。
96.步骤s701,确定第一位置,第一位置为在目标区域内远离目标局部天气的运动方向最远的位置;
97.步骤s702,当目标局部天气的当前位置超过第一位置,确定目标局部天气的当前位置进入目标区域。
98.本技术实施例中,由于各个从服务器可计算得到目标局部天气的实时运动轨迹,从而各个从服务器可判断目标局部天气的运动位置是否进入了虚拟角的所在区域。具体地,需要先在虚拟角的所在区域确定第一位置,第一位置为在虚拟角的所在区域内远离目标局部天气的运动方向最远的位置。然后判断目标局部天气的当前位置是否超过了第一位置,如果目标局部天气的当前位置超过了第一位置,则确定目标局部天气的当前位置进入了虚拟角的所在区域;如果目标局部天气的当前位置没有超过第一位置,则确定目标局部天气的当前位置还没有进入虚拟角的所在区域,此时,需要继续获取目标局部天气的实时运动位置,并继续判断下一时刻目标局部天气的运动位置是否进入虚拟角的所在区域。
99.本技术实施例中,当判断出目标局部天气的当前位置进入了虚拟角的所在区域时,若虚拟角的所在区域满足目标局部天气的出现条件,则控制目标局部天气在目标区域中按照运动方向和运动速度进行渲染。直到接收到主服务器发送的目标局部天气的结束标记时,控制目标局部天气在目标区域中停止渲染,其中,结束标记包括结束时间或者结束指令。
100.示例性地,当玩家a所属的从服务器判断出沙尘暴天气的当前位置进入玩家a的所在区域后,会先判断玩家a的所处区域是否满足沙尘暴天气的出现条件,比如判断玩家a的所处区域的地形是否为沙漠,若玩家a的所处区域满足沙尘暴天气的出现条件,比如玩家a的所处区域的地形为沙漠。则控制沙尘暴天气在玩家a的所处区域向东方向按照速度v0匀
速直线运动。此时,如果靠近玩家a的方向为向东方向,则玩家a可看到沙尘暴天气在慢慢向自己靠近。如果在沙尘暴天气还没到达玩家a所在位置时,接收到主服务器发送的沙尘暴天气的结束标记,则玩家a所属的从服务会控制沙尘暴天气在玩家a的所处区域中停止渲染。此时,玩家a可看到沙尘暴天气结束了且玩家a所在位置并没有出现沙尘暴天气。
101.参照图8,图8是本技术实施例提供的主服务器与各个从服务器交互示意图。由图8所示,从服务器可包括n个,具体数量由参与虚拟环境游戏中的虚拟角的数量决定。比如有4个不同玩家,则与主服务器交互的从服务器就是这4个玩家所属的从服务器。主服务器将计算得到的第一数据,也就是目标局部天气的开始时刻、起始位置、运动方向和运动速度发送给各个从服务器,以让各个从服务器根据第一数据对目标局部天气实时运动轨迹进行计算,当计算得到目标局部天气的当前位置进入虚拟角的所在区域之后,判断虚拟角的所在区域是否满足目标局部天气的出现条件,如果满足,则控制目标局部天气在虚拟角的所在区域中按照获取的运动方向和运动速度进行渲染;如果不满足,则控制目标局部天气在虚拟角的所在区域中不进行渲染。当主服务器向各个从服务器发送第二数据,即目标局部天气的结束标记时,各个从服务器中正在渲染该目标局部天气的从服务器会控制停止渲染,并停止对该目标局部天气实时运动位置的计算;还未渲染该目标局部天气的从服务器会停止对该目标局部天气实时运动位置的计算。
102.参照图9,图9是本技术实施例提供的虚拟环境中的局部天气控制流程图,由主服务器和虚拟环境中各个虚拟角所属的从服务器交互执行,包括但不限于步骤s901至步骤s911。
103.步骤s901,主服务器预先设定局部天气组中各种不同类型的局部天气的运动方向和运动速度;
104.步骤s902,从局部天气组中任意选取至少一种局部天气作为目标局部天气;
105.步骤s903,当检测到目标局部天气被触发,记录目标局部天气的开始时刻;
106.步骤s904,根据虚拟环境中各个虚拟角的所处区域,确定目标局部天气的起始位置;
107.步骤s905,将第一数据发送给虚拟环境中各个虚拟角所属的从服务器,第一数据包括目标局部天气的开始时刻、起始位置、运动方向和运动速度;
108.步骤s906,从服务器根据主服务器发送的第一数据,计算得到目标局部天气的当前位置;
109.步骤s907,当目标局部天气的当前位置进入目标区域,判断目标区域是否满足目标局部天气的出现条件,目标区域为虚拟环境中虚拟角的所处区域;
110.步骤s908,当目标区域满足目标局部天气的出现条件,控制目标局部天气在目标区域中按照运动方向和运动速度进行渲染;
111.步骤s909,主服务器累计目标局部天气的出现时长;
112.步骤s910,当出现时长超过预先设定的目标局部天气的持续时长,向各个从服务器发送第二数据,第二数据为目标局部天气的结束标记,结束标记包括结束时间或者结束指令;
113.步骤s911,从服务器接收到主服务器发送的第二数据,控制目标局部天气在目标区域中停止渲染。
114.本技术实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述虚拟环境中的局部天气控制方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
115.请参阅图10,图10示意了另一实施例的电子设备的硬件结构,电子设备包括:
116.处理器1001,可以采用通用的cpu(centra l process i ngun i t,中央处理器)、微处理器、应用专用集成电路(app l i cat i onspec i f i c i ntegratedci rcu it,as i c)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术实施例所提供的技术方案;
117.存储器1002,可以采用只读存储器(readon l ymemory,rom)、静态存储设备、动态存储设备或者随机存取存储器(randomaccessmemory,ram)等形式实现。存储器1002可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1002中,并由处理器1001来调用执行本技术实施例的虚拟环境中的局部天气控制方法;
118.输入/输出接口1003,用于实现信息输入及输出;
119.通信接口1004,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wi f i、蓝牙等)实现通信;
120.总线1005,在设备的各个组件(例如处理器1001、存储器1002、输入/输出接口1003和通信接口1004)之间传输信息;
121.其中处理器1001、存储器1002、输入/输出接口1003和通信接口1004通过总线1005实现彼此之间在设备内部的通信连接。
122.本技术实施例还提供了一种存储介质,存储介质为计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述虚拟环境中的局部天气控制方法。
123.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
124.本技术实施例描述的实施例是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
125.本领域技术人员可以理解的是,图中示出的技术方案并不构成对本技术实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
126.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
127.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
128.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
129.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
130.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
131.上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
132.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
133.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例的方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-on ly memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。
134.以上参照附图说明了本技术实施例的优选实施例,并非因此局限本技术实施例的权利范围。本领域技术人员不脱离本技术实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本技术实施例的权利范围之内。

技术特征:


1.一种虚拟环境中的局部天气控制方法,其特征在于,所述方法包括:根据主服务器发送的第一数据,计算得到目标局部天气的当前位置,所述第一数据包括所述目标局部天气的开始时刻、起始位置、运动方向和运动速度;当所述目标局部天气的当前位置进入目标区域,判断所述目标区域是否满足所述目标局部天气的出现条件,所述目标区域为虚拟环境中虚拟角的所处区域;当所述目标区域满足所述目标局部天气的出现条件,控制所述目标局部天气在所述目标区域中按照所述运动方向和运动速度进行渲染。2.根据权利要求1所述的方法,其特征在于,根据主服务器发送的第一数据,计算得到目标局部天气的当前位置,包括:根据当前时刻和所述目标局部天气的开始时刻,计算得到所述目标局部天气的运动时长;根据所述目标局部天气的运动方向、运动速度和所述运动时长,计算得到所述目标局部天气的运动距离;根据所述目标局部天气的起始位置和所述运动距离,计算得到所述目标局部天气的当前位置。3.根据权利要求1所述的方法,其特征在于,根据主服务器发送的第一数据,计算得到目标局部天气的当前位置之后,所述方法包括:确定第一位置,所述第一位置为在所述目标区域内远离所述目标局部天气的运动方向最远的位置;当所述目标局部天气的当前位置超过所述第一位置,确定所述目标局部天气的当前位置进入所述目标区域。4.根据权利要求1所述的方法,其特征在于,控制所述目标局部天气在所述目标区域中按照所述运动方向和运动速度进行渲染之后,所述方法包括:当接收到主服务器发送的第二数据,控制所述目标局部天气在所述目标区域中停止渲染,所述第二数据为所述目标局部天气的结束标记,所述结束标记包括结束时间或者结束指令。5.一种虚拟环境中的局部天气控制方法,其特征在于,所述方法包括:预先设定局部天气组中各种不同类型的局部天气的运动方向和运动速度;从所述局部天气组中任意选取至少一种局部天气作为目标局部天气;当检测到所述目标局部天气被触发,记录所述目标局部天气的开始时刻;根据虚拟环境中各个虚拟角的所处区域,确定所述目标局部天气的起始位置;将第一数据发送给所述虚拟环境中各个虚拟角所属的从服务器,所述第一数据包括所述目标局部天气的开始时刻、起始位置、运动方向和运动速度。6.根据权利要求5所述的方法,其特征在于,所述根据虚拟环境中各个虚拟角的所处区域,确定所述目标局部天气的起始位置,包括:获取第一集合,所述第一集合为所述虚拟环境中各个虚拟角的所处区域的集合;从所述第一集合中选取第一区域,所述第一区域为所述第一集合中远离所述目标局部天气的运动方向最远的区域;从所述第一区域中确定第二位置,所述第二位置为所述第一区域中远离所述目标局部
天气的运动方向最远的位置;将所述第二位置作为所述目标局部天气的起始位置,或者从所述第二位置远离所述目标局部天气的运动方向的区域中任意选取一个位置作为所述目标局部天气的起始位置。7.根据权利要求5所述的方法,其特征在于,将第一数据发送给所述虚拟环境中各个虚拟角所属的从服务器之后,所述方法包括:累计所述目标局部天气的出现时长;当所述出现时长超过预先设定的所述目标局部天气的持续时长,向各个所述从服务器发送第二数据,所述第二数据为所述目标局部天气的结束标记,所述结束标记包括结束时间或者结束指令。8.根据权利要求5所述的方法,其特征在于,所述方法还包括:预先设定所述局部天气组中各种不同类型的局部天气的出现条件和持续时长;每间隔预设时间向各个所述从服务器发送至少一种所述目标局部天气的所述第一数据,以使得各个所述从服务器根据所述第一数据,控制是否在各个虚拟角的所处区域中按照所述运动方向和运动速度渲染对应的目标局部天气。9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述的方法。10.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法。

技术总结


本申请提出一种虚拟环境中的局部天气控制方法、电子设备及存储介质,该方法包括:根据主服务器发送的第一数据,计算得到目标局部天气的当前位置,所述第一数据包括所述目标局部天气的开始时刻、起始位置、运动方向和运动速度;当所述目标局部天气的当前位置进入目标区域,且所述目标区域满足所述目标局部天气的出现条件,控制所述目标局部天气在所述目标区域中按照所述运动方向和运动速度进行渲染。渲染局部天气存在方向性的变化过程,能够增加天气由远到近运动带来的视觉感受;同时,主服务器只需要将第一数据发送给各个从服务器,就能够实现对局部天气渲染的控制,能够有效减少主服务器的计算量和性能消耗。务器的计算量和性能消耗。务器的计算量和性能消耗。


技术研发人员:

张育淞

受保护的技术使用者:

迷你创想科技(深圳)有限公司

技术研发日:

2022.11.28

技术公布日:

2023/3/7

本文发布于:2024-09-22 04:00:53,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/70321.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:局部   天气   目标   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议