CN111921192A - 虚拟对象的控制方法和装置 - Google Patents

虚拟对象的控制方法和装置 Download PDF

Info

Publication number
CN111921192A
CN111921192A CN202010899307.5A CN202010899307A CN111921192A CN 111921192 A CN111921192 A CN 111921192A CN 202010899307 A CN202010899307 A CN 202010899307A CN 111921192 A CN111921192 A CN 111921192A
Authority
CN
China
Prior art keywords
sub
air pressure
virtual object
determining
game scene
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010899307.5A
Other languages
English (en)
Other versions
CN111921192B (zh
Inventor
陈润成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010899307.5A priority Critical patent/CN111921192B/zh
Publication of CN111921192A publication Critical patent/CN111921192A/zh
Application granted granted Critical
Publication of CN111921192B publication Critical patent/CN111921192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种虚拟对象的控制方法和装置。其中,该方法包括:获取游戏场景的各个子区域的环境数据,其中,子区域为通过对游戏场景进行划分所确定的区域;根据各个子区域的环境数据确定各个子区域的气压参数;根据各子区域的气压参数确定游戏场景中虚拟对象的移动路径;基于移动路径,在游戏场景中控制虚拟对象进行移动。本发明解决了相关技术中虚拟对象的控制方法的数据量和计算量较大的技术问题。

Description

虚拟对象的控制方法和装置
技术领域
本发明涉及互联网领域,具体而言,涉及一种虚拟对象的控制方法和装置。
背景技术
为了实现在游戏内实时模拟真实尘卷风的玩法,可以在游戏场景内不断计算各个位置的温度、气压的变化,然后通过大气压的等压线图实时计算出尘卷风的路径和强度,以及预测其未来的走向等,并且在游戏内通过图像表达出来。
但是,因为该游戏玩法需要在较大的游戏场景中进行真实模拟,所以传统的控制方案的数据量和计算量都非常大,受到手机、PC(Personal Computer,个人电脑)等设备的计算性能的限制,上述设备中无法实现该游戏玩法。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种虚拟对象的控制方法和装置,以至少解决相关技术中虚拟对象的控制方法的数据量和计算量较大的技术问题。
根据本发明实施例的一个方面,提供了一种虚拟对象的控制方法,包括:获取游戏场景的各个子区域的环境数据,其中,子区域为通过对游戏场景进行划分所确定的区域;根据各个子区域的环境数据确定各个子区域的气压参数;根据各子区域的气压参数确定游戏场景中虚拟对象的移动路径;基于移动路径,在游戏场景中控制虚拟对象进行移动。
可选地,在获取游戏场景的各个子区域的环境数据之前,该方法还包括:获取预设网格粒度;基于预设网格粒度对游戏场景进行网格化处理,得到各个子区域。
可选地,获取游戏场景的各个子区域的环境数据包括:获取游戏场景中不同时刻的基础温度;获取各个子区域对应的温度影响值;根据不同时刻的基础温度与各个子区域对应的温度影响值,确定各个子区域在不同时刻的温度数据。
可选地,根据各个子区域的环境数据确定各个子区域的气压参数包括:获取不同时刻中各个时刻对应的气压函数;将各个子区域在不同时刻的温度数据输入至相应时刻对应的气压函数中,得到各个子区域在不同时刻的气压参数。
可选地,根据各子区域的气压参数确定游戏场景中虚拟对象的移动路径包括:获取目标时间段,其中,目标时间段为以当前时刻为起始时刻的时间段;基于各个子区域在不同时刻的气压参数,确定虚拟对象在目标时间段内每个时刻的移动位置;基于目标时间段内每个时刻的移动位置,生成移动路径。
可选地,基于各个子区域在不同时刻的气压参数,确定虚拟对象在目标时间段内每个时刻的移动位置包括:获取虚拟对象在目标时刻的第一位置,其中,目标时刻为目标时间段的终止时刻之前的任意一个时刻;基于第一位置在目标时刻的气压参数,以及多个第二位置在目标时刻的气压参数,确定虚拟对象在目标时刻的移动方向,其中,多个第二位置为第一位置周围的位置;基于第一位置和移动方向,确定虚拟对象在目标时刻的下一时刻的移动位置。
可选地,基于第一位置在目标时刻的气压参数,以及多个第二位置在目标时刻的气压参数,确定虚拟对象在目标时刻的移动方向包括:获取第一位置在目标时刻的气压参数与每个第二位置在目标时刻的气压参数的差值,得到多个气压差;获取多个气压差中的最大气压差;获取第一位置与最大气压差对应的第二位置的差值,得到目标时刻的移动方向。
可选地,基于第一位置和移动方向,确定虚拟对象在目标时刻的下一时刻的移动位置包括:获取预设值与移动方向的乘积,预设值用于表征相邻两个时刻的差值;获取乘积与第一位置之和,得到下一时刻的移动位置。
可选地,第一位置为预设位置,或,在目标时刻的前一时刻确定的移动位置。
可选地,根据各子区域的气压参数确定游戏场景中虚拟对象的移动路径包括如下之一:确定连续的多个运算帧,在多个运算帧内根据各子区域的气压参数确定虚拟对象的移动路径;创建新的进程,并通过新的进程根据各子区域的气压参数确定虚拟对象的移动路径。
可选地,在多个运算帧内根据各子区域的气压参数确定虚拟对象的移动路径包括:对目标时间段进行划分,确定各个运算帧对应的子时间段;根据各子区域在各个运算帧对应的子时间段内的气压参数,确定虚拟对象在各个运算帧对应的子时间段内的移动子路径;将各个运算帧对应的子时间段内的移动子路径进行合并,得到移动路径。
可选地,基于移动路径和虚拟对象的强度,在游戏场景中控制虚拟对象进行移动。
可选地,在根据各子区域的气压参数确定游戏场景中虚拟对象的移动路径之后,该方法还包括:基于各子区域的气压参数生成气压图,其中,气压图中包含等压线;基于气压图、移动路径和虚拟对象的历史移动路径,生成气象图;基于游戏场景的场景数据和气象图,生成游戏交互界面;在游戏场景的上层显示游戏交互界面。
根据本发明实施例的另一方面,还提供了一种虚拟对象的控制装置,包括:获取模块,用于获取游戏场景的各个子区域的环境数据,其中,子区域为通过对游戏场景进行划分所确定的区域;第一确定模块,用于根据各个子区域的环境数据确定各个子区域的气压参数;第二确定模块,用于根据各子区域的气压参数确定游戏场景中虚拟对象的移动路径;控制模块,用于基于移动路径,在游戏场景中控制虚拟对象进行移动。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的虚拟对象的控制方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的虚拟对象的控制方法。
在本发明实施例中,通过对游戏场景进行划分,可以得到游戏场景中的多个子区域,进一步通过各个子区域的环境数据,可以预测出尘卷风的移动路径,实现游戏内模拟真实尘卷风的玩法。由于各个子区域是通过对游戏场景进行划分得到的,因此子区域的数量远远小于游戏场景中所有点的数量,从而达到减少数据量和计算量,提升计算效率,提高计算性能的技术效果,进而解决了相关技术中虚拟对象的控制方法的数据量和计算量较大的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种虚拟对象的控制方法的流程图;
图2是根据本发明实施例的一种可选的场景网格化处理的示意图;
图3是根据本发明实施例的一种可选的第二位置的示意图;
图4a是根据本发明实施例的一种可选的三维大气压图的示意图;
图4b是根据本发明实施例的一种可选的具有等压线的大气压图的示意图;
图5是根据本发明实施例的一种可选的游戏交互界面的示意图;以及
图6是根据本发明实施例的一种虚拟对象的控制装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种虚拟对象的控制方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种虚拟对象的控制方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取游戏场景的各个子区域的环境数据,其中,子区域为通过对游戏场景进行划分所确定的区域。
上述步骤中的游戏场景可以是二维或三维大型场景。上述步骤中的环境数据可以是会影响不同子区域的气压数据的数据,例如,可以是温度数据,但不仅限于此,在本发明实施例中,以温度数据为例进行说明。
为了在大型场景中实现模拟真实尘卷风的玩法,在本发明实施例中,可以将游戏场景进行网格化处理,将整个游戏场景划分为多个子区域,如图2所示,每个菱形可以作为一个子区域,其坐标可以是该子区域中心点的坐标(x,y),但不仅限于此。例如,对于一个2000*2000的场景,该场景总共包括4百万个像素点,在对其进行网格化处理的情况下,可以划分为4万个子区域,从而大大降低数据量和计算量。
需要说明的是,游戏场景的网格化处理可以基于游戏场景的大小和模拟尘卷风的精度要求进行确定,本发明对此不作具体限定。
在一种可选的实施例中,可以预先针对游戏场景中的每个位置设置其温度数据,从而在模拟真实尘卷风的过程中,可以直接读取存储的数据。但是,为了能够更加真实进行模拟,游戏场景中的温度数据可以根据时间实时变化,从而在模拟真实尘卷风的过程中,可以根据当前时刻实时计算每个子区域的温度数据。
步骤S104,根据各个子区域的环境数据确定各个子区域的气压参数。
上述步骤中的气压参数可以是游戏场景中各个子区域的气压数据。
游戏场景往往会模拟真实世界,在真实世界中,温度的变化会影响气压的变化,因此,在本发明实施例中,对于各个子区域,可以获取温度数据,进而基于温度数据,可以确定相应的气压数据,从而可以得到各个子区域的气压数据。
需要说明的是,温度数据和气压数据之间往往包含有多种映射关系,可以预先针对每种映射关系,生成一个气压函数,从而在每次计算气压数据的过程中,可以根据需要从生成的所有气压函数中选择一个气压函数实现,本发明实施例对气压函数的具体形式不作限定。
步骤S106,根据各子区域的气压参数确定游戏场景中虚拟对象的移动路径。
上述步骤中的虚拟对象可以表征游戏中的尘卷风,具体可以是尘卷风的模型,在二维场景中可以是二维模型,在三维场景中可以是三维模型。上述步骤中的移动路径可以是尘卷风在一段时间内不同时刻的位置集合,其中,该段时间可以基于运算需求进行划分,划分的方式不同,划分后的时刻数量不同,例如,假设目标时间段为3小时,以秒为单位进行划分,目标时间段可以包括10800个时刻;而以分钟为单位进行划分,目标时间段可以包括180个时刻。
在一种可选的实施例中,可以从当前时刻开始,依次预测每个时刻尘卷风所处的位置,也即,在预测出一个时刻尘卷风所处的位置之后,可以基于下一个时刻各个子区域的气压数据,预测出下一个时刻尘卷风所处的位置,在预测出所有时刻尘卷风所处的位置之后,按照时刻的先后次序,将预测出的位置进行组合,可以得到最终的移动路径。
步骤S108,基于移动路径,在游戏场景中控制虚拟对象进行移动。
在一种可选的实施例中,在预测出虚拟对象的移动路径之后,可以控制虚拟对象按照移动路径在游戏场景中移动,也即,每当一个时刻达到时,控制虚拟对象移动到相应的位置,从而用户可以在游戏场景中看到尘卷风实时运动。
通过本发明上述实施例,通过对游戏场景进行划分,可以得到游戏场景中的各个子区域,进一步通过各个子区域的环境数据,可以预测出尘卷风的移动路径,实现游戏内模拟真实尘卷风的玩法。由于各个子区域是通过对游戏场景进行划分得到的,因此子区域的数量远远小于游戏场景中所有像素点的数量,从而达到减少数据量和计算量,提升计算效率,提高计算性能的技术效果,进而解决了相关技术中虚拟对象的控制方法的数据量和计算量较大的技术问题。
可选地,在本发明上述实施例中,在获取游戏场景的各个子区域的环境数据之前,该方法还包括:获取预设网格粒度;基于预设网格粒度对游戏场景进行网格化处理,得到各个子区域。
上述步骤中的预设网格粒度可以根据实际尘卷风模拟需求、计算性能以及游戏场景的大小进行确定,例如,对于一个2000*2000的游戏场景,预设网格粒度可以是10,但不仅限于此。
在一种可选的实施例中,在大型游戏场景中实现模拟真实尘卷风的玩法,首先对游戏场景进行场景网格化,按照预设网格粒度划分为n*m个子区域,例如,对于一个2000*2000的游戏场景,假设预设网格粒度为10,则以边长为10作为单位,将游戏场景划分为200*200个,也即4万个子区域。
可选地,在本发明上述实施例中,获取游戏场景的各个子区域的环境数据包括:获取游戏场景中不同时刻的基础温度;获取各个子区域对应的温度影响值;根据不同时刻的基础温度与各个子区域对应的温度影响值,确定各个子区域在不同时刻的温度数据。
上述步骤中的基础温度可以是预先为游戏场景所设定的温度,该温度只会因为时间的不同而发生变化,并不会因为子区域的不同而存在差异。例如,游戏场景可以模拟真实世界白天和夜晚,可以预先针对白天和夜晚设定整个场景的基础温度,并且白天的基础温度较高,夜晚的基础温度较低。又例如,游戏场景还可以模拟真实世界中的四季变化,可以预先针对不同季节设定整个场景的基础温度,并且不同季节的基础温度不同。
上述步骤中的温度影响值可以是针对游戏场景中不同子区域所扩展的内容,对于不同的子区域,受到不同因素的影响,温度数据会发生变化,例如,对于锅炉建筑,当其加热时,该建筑附近的子区域的温度都会有一定程度的升高。
在一种可选的实施例中,对于各个子区域,可以首先获取不同时刻的基础温度,进一步结合该子区域的温度影响值,可以确定不同时刻的温度数据,例如,对于某个子区域,在某个时刻t,基础温度为-5℃,该子区域位于建筑物内,受到建筑物影响温度影响值为10℃,则最终的温度数据为5℃。
可选地,在本发明上述实施例中,根据各个子区域的环境数据确定各个子区域的气压参数包括:获取不同时刻中各个时刻对应的气压函数;将各个子区域在不同时刻的温度数据输入至相应时刻对应的气压函数中,得到各个子区域在不同时刻的气压参数。
上述步骤中的气压函数可以是z=AP(t,x,y,T),其中,t为时刻,(x,y)为子区域中心点的坐标值,T为t时刻的温度数据。气压函数的具体形式可以根据不同需要进行确定,例如,气压函数可以是dz=-10dT,又例如,气压函数可以是(x+z)2+(y-z)2=30002,但不仅限于此。
需要说明的是,可以预先针对不同时刻,设定所使用的气压公式,由于气压数据在短时间内与温度数据的对应关系不会发生变化,因此,可以针对一天中不同的时间段划分不同的气压公式,例如,1-6小时可以使用气压公式1,7-12小时可以使用气压公式2,13-18小时可以使用气压公式3,19-24小时可以使用气压公式4等。
在一种可选的实施例中,对于各个子区域,在不同时刻,可以获取相应时刻的气压函数,并将子区域的坐标值和温度函数代入到气压函数中,从而得到相应的气压数据。例如,对于t时刻,气压函数为(x+z)2+(y-z)2=30002,则可以得到气压函数为z={-2(x-y)+[4(x-y)2-4*2*(x2+y2-30002]0.5}/4。
可选地,在本发明上述实施例中,根据各子区域的气压参数确定游戏场景中虚拟对象的移动路径包括:获取目标时间段,其中,目标时间段为以当前时刻为起始时刻的时间段;基于各个子区域在不同时刻的气压参数,确定虚拟对象在目标时间段内每个时刻的移动位置;基于目标时间段内每个时刻的移动位置,生成移动路径。
上述步骤中的目标时间段可以是从当前时刻开始到未来的一段时间,该目标时间段可以由用户选择或设置,例如,用户希望查看3个小时内的尘卷风的移动情况,则用户可以设置目标时间段为3小时。
在一种可选的实施例中,可以通过上述方案预先针对各个子区域,确定不同时刻的气压数据,并针对目标时间段内每个时刻,通过所有子区域的气压数据预测尘卷风在下一个时刻的移动位置,从而可以得到每个时刻的移动位置,进一步按照不同时刻的时间顺序将多个移动位置进行连接,可以得到尘卷风的移动路径。
可选地,在本发明上述实施例中,基于各个子区域在不同时刻的气压参数,确定虚拟对象在目标时间段内每个时刻的移动位置包括:获取虚拟对象在目标时刻的第一位置,其中,目标时刻为目标时间段的终止时刻之前的任意一个时刻;基于第一位置在目标时刻的气压参数,以及多个第二位置在目标时刻的气压参数,确定虚拟对象在目标时刻的移动方向,其中,多个第二位置为第一位置周围的位置;基于第一位置和移动方向,确定虚拟对象在目标时刻的下一时刻的移动位置。
可选地,上述步骤中的第一位置可以是预设位置,也可以是在目标时刻的前一时刻确定的预设位置。为了在游戏场景中模拟真实尘卷风,需要预先在一个特定位置生成尘卷风,然后可以通过预测尘卷风的移动路径,控制尘卷风在游戏场景中移动,因此,上述的预设位置可以是尘卷风生成的位置。尘卷风在移动过程中,每个移动位置都是前一时刻预测得到的移动位置,因此,上述的第一位置还可以是上一时刻预测得到的移动位置。
需要说明的是,对于现实中的尘卷风,由于气压规律导致尘卷风必然从气压高的位置往气压低的位置移动,因此,可以通过比对尘卷风周围不同位置的气压,确定尘卷风的移动方向。上述步骤中的第二位置可以是第一位置周围的其他位置,由于尘卷风的形状近似为圆形,因此,多个第二位置构成了一个圆形,例如,如图3所示,可以选择第一位置周围的12个位置作为第二位置。
在一种可选的实施例中,对于目标时间段内的目标时刻,当目标时刻是当前时刻时,可以获取尘卷风当前所处的位置作为第一位置,并确定该位置周围的12个位置作为第二位置,通过对比第一位置和第二位置的气压数据,即可确定尘卷风的移动方向,进而可以确定尘卷风在下一个时刻的移动位置。
可选地,在本发明上述实施例中,基于第一位置在目标时刻的气压参数,以及多个第二位置在目标时刻的气压参数,确定虚拟对象在目标时刻的移动方向包括:获取第一位置在目标时刻的气压参数与每个第二位置在目标时刻的气压参数的差值,得到多个气压差;获取多个气压差中的最大气压差;获取第一位置与最大气压差对应的第二位置的差值,得到目标时刻的移动方向。
需要说明的是,第一位置和第二位置的气压数据的差值越大,表明第二位置的气压数据越低,尘卷风越有可能往该第二位置的位置移动,因此,在一种可选的实施例中,可以获取第一位置和每个第二位置的气压数据的差值求出气压差,并将尘卷风当前所在位置的坐标与最大气压差对应的第二位置的坐标相减,即可得到尘卷风的移动方向,即风向。
可选地,在本发明上述实施例中,基于第一位置和移动方向,确定虚拟对象在目标时刻的下一时刻的移动位置包括:获取预设值与移动方向的乘积,预设值用于表征相邻两个时刻的差值;获取乘积与第一位置之和,得到下一时刻的移动位置。
上述步骤中的预设值可以是对目标时间段进行划分的时间间隔,例如,以秒为单位对目标时间段进行划分,预设值可以是1,但不仅限于此。
在一种可选的实施例中,对于目标时刻,利用第一位置加上移动方向与时刻的乘积即可得到下一时刻的移动位置。
可选地,在本发明上述实施例中,根据各子区域的气压参数确定游戏场景中虚拟对象的移动路径包括如下之一:确定连续的多个运算帧,在多个运算帧内根据各子区域的气压参数确定虚拟对象的移动路径;创建新的进程,并通过新的进程根据各子区域的气压参数确定虚拟对象的移动路径。
需要说明的是,当目标时间段较长时,预测尘卷风的移动路径可能会造成卡顿,例如,当玩家希望查看3小时内的尘卷风的移动路径,需要以秒为单位模拟单帧运算,则3小时(即10800秒)需要单帧内模拟10800次运算。对于一般设备,单帧运算5000次就会造成卡顿。
为了进一步提高计算性能,在预测尘卷风的移动路径时,可以采用分帧或多线程技术实现。在一种可选的实施例中,可以采用分帧策略,通过连续的多个运算帧进行运算,例如,对于10800次运算,可以分为10帧,每帧运算1080次,10帧后即可得到最终的移动路径。在另一种可选的实施例中,也可以采用多线程技术,也即,可以将预测移动路径的运算由新创建的线程执行,而主线程继续执行游戏逻辑,从而移动路径的预测过程不会影响游戏逻辑的正常运行,也即,不会导致卡顿,在预测出移动路径之后将其返回到主线程。
需要说明的是,也可以创建多个进程实现,但是,需要区分哪些数据可以并行计算,哪些数据只能串行计算,然后将数据分发到不同的线程执行。
可选地,在本发明上述实施例中,在多个运算帧内根据各子区域的气压参数确定虚拟对象的移动路径包括:对目标时间段进行划分,确定各个运算帧对应的子时间段;根据各子区域在各个运算帧对应的子时间段内的气压参数,确定虚拟对象在各个运算帧对应的子时间段内的移动子路径;将各个运算帧对应的子时间段内的移动子路径进行合并,得到移动路径。
在一种可选的实施例中,对于分帧技术,可以将目标时间段划分为多个子时间段,每隔运算帧对相应的子时间段内的移动子路径进行预测,可以基于子时间段内的气压数据确定相应的移动子路径,从而在连续的多个运算帧进行连续多帧运算之后,可以得到最终的移动路径,也即,在每个运算帧内,可以在上一个运算帧得到的移动子路径的基础上进行预测,得到该运算帧的移动子路径,因此,最终得到的移动路径可以认为是各个移动子路径进行合并得到的路径。
可选地,在本发明上述实施例中,基于移动路径和虚拟对象的强度,在游戏场景中控制虚拟对象进行移动。
在一种可选的实施例中,对于尘卷风的强度,可以尘卷风生成时设置一个强度,并预先基于物理规则设置强度和时间的变化规律,例如,随着时间逐步减小,或者随着时间逐步增大,从而可以目标时间段内每个时刻的强度。最终基于移动路径换热强度控制尘卷风在游戏场景中移动。
可选地,在本发明上述实施例中,在根据各子区域的气压参数确定游戏场景中虚拟对象的移动路径之后,该方法还包括:基于各子区域的气压参数生成气压图,其中,气压图中包含等压线;基于气压图、移动路径和虚拟对象的历史移动路径,生成气象图;基于游戏场景的场景数据和气象图,生成游戏交互界面;在游戏场景的上层显示游戏交互界面。
上述步骤中的游戏交互界面可以是依赖场景数据所生成的一个专门用于显示尘卷风相关信息的二维界面或三维界面,不仅仅是游戏地图界面。
在一种可选的实施例中,在确定当前时刻,各个子区域的气压数据之后,可以将所有子区域的气压数据进行汇总(如图4a所示),并生成一个具有等压线的大气压图(如图4b所示),并且大气压图会受到其他系统功能的影响而实时改变。通过大气压图可以实时预测尘卷风的移动路径,但不仅限于此,还可以预测尘卷风的强度等。进一步地,为了实现尘卷风的提醒功能,可以生成一个游戏交互界面,该界面中可以显示当前游戏场景的地图以及尘卷风相关的气象图,如图5所示,气象图包括等压线130、尘卷风100的历史路径110和预测路径120。
需要说明的是,在生成游戏交互界面时,也可以采用分帧或多线程技术来解决计算性能问题。
根据本发明实施例,还提供了一种虚拟对象的控制装置,该装置可以执行上述实施例中的虚拟对象的控制方法,两个实施例中的具体实现方案与优选的应用场景均相同,在此不作赘述。
图6是根据本发明实施例的一种虚拟对象的控制装置图,如图6所示,该装置包括:
获取模块62,用于获取游戏场景的各个子区域的环境数据,其中,子区域为通过对游戏场景进行划分所确定的区域;
第一确定模块64,用于根据各个子区域的环境数据确定各个子区域的气压参数;
第二确定模块66,用于根据各子区域的气压参数确定游戏场景中虚拟对象的移动路径;
控制模块68,用于基于移动路径,在游戏场景中控制虚拟对象进行移动。
可选地,在本发明上述实施例中,该装置还包括:获取模块还用于获取预设网格粒度;处理模块,用于基于预设网格粒度对游戏场景进行网格化处理,得到各个子区域。
可选地,在本发明上述实施例中,获取模块包括:第一获取单元,用于获取游戏场景中不同时刻的基础温度;第二获取单元,用于获取各个子区域对应的温度影响值;第一确定单元,用于根据不同时刻的基础温度与各个子区域对应的温度影响值,确定各个子区域在不同时刻的温度数据。
可选地,在本发明上述实施例中,第一确定单元包括:第一获取子单元,用于获取不同时刻中各个时刻对应的气压函数;输入子单元,用于将各个子区域在不同时刻的温度数据输入至相应时刻对应的气压函数中,得到各个子区域在不同时刻的气压参数。
可选地,在本发明上述实施例中,第二确定模块包括:第三获取单元,用于获取目标时间段,其中,目标时间段为以当前时刻为起始时刻的时间段;第二确定单元,用于基于各个子区域在不同时刻的气压参数,确定虚拟对象在目标时间段内每个时刻的移动位置;生成单元,用于基于目标时间段内每个时刻的移动位置,生成移动路径。
可选地,在本发明上述实施例中,第二确定单元包括:第二获取子单元,用于获取虚拟对象在目标时刻的第一位置,其中,目标时刻为目标时间段的终止时刻之前的任意一个时刻;第一确定子单元,用于基于第一位置在目标时刻的气压参数,以及多个第二位置在目标时刻的气压参数,确定虚拟对象在目标时刻的移动方向,其中,多个第二位置为第一位置周围的位置;第二确定子单元,用于基于第一位置和移动方向,确定虚拟对象在目标时刻的下一时刻的移动位置。
可选地,在本发明上述实施例中,第一确定子单元还用于获取第一位置在目标时刻的气压参数与每个第二位置在目标时刻的气压参数的差值,得到多个气压差;获取多个气压差中的最大气压差;获取第一位置与最大气压差对应的第二位置的差值,得到目标时刻的移动方向。
可选地,在本发明上述实施例中,第二确定子单元还用于获取预设值与移动方向的乘积,预设值用于表征相邻两个时刻的差值;获取乘积与第一位置之和,得到下一时刻的移动位置。
可选地,在本发明上述实施例中,第二确定模块还用于执行如下之一步骤:确定连续的多个运算帧,在多个运算帧内根据各子区域的气压参数确定虚拟对象的移动路径;创建新的进程,并通过新的进程根据各子区域的气压参数确定虚拟对象的移动路径。
可选地,在本发明上述实施例中,第二确定模块还用于执行如下步骤:对目标时间段进行划分,确定各个运算帧对应的子时间段;根据各子区域在各个运算帧对应的子时间段内的气压参数,确定虚拟对象在各个运算帧对应的子时间段内的移动子路径;将各个运算帧对应的子时间段内的移动子路径进行合并,得到移动路径。
可选地,在本发明上述实施例中,控制模块还用于基于移动路径和虚拟对象的强度,在游戏场景中控制虚拟对象进行移动。
可选地,在本发明上述实施例中,该装置还包括:第一生成模块,用于基于各子区域的气压参数生成气压图,其中,气压图中包含等压线;第二生成模块,用于基于气压图、移动路径和虚拟对象的历史移动路径,生成气象图;第三生成模块,用于基于游戏场景的场景数据和气象图,生成游戏交互界面;显示模块,用于在游戏场景的上层显示游戏交互界面。
根据本发明实施例,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的虚拟对象的控制方法。
根据本发明实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的虚拟对象的控制方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (16)

1.一种虚拟对象的控制方法,其特征在于,包括:
获取游戏场景的各个子区域的环境数据,其中,所述子区域为通过对所述游戏场景进行划分所确定的区域;
根据所述各个子区域的环境数据确定所述各个子区域的气压参数;
根据所述各子区域的气压参数确定所述游戏场景中虚拟对象的移动路径;
基于所述移动路径,在所述游戏场景中控制所述虚拟对象进行移动。
2.根据权利要求1所述的方法,其特征在于,在获取所述游戏场景的所述各个子区域的环境数据之前,所述方法还包括:
获取预设网格粒度;
基于所述预设网格粒度对所述游戏场景进行网格化处理,得到所述各个子区域。
3.根据权利要求1所述的方法,其特征在于,获取所述游戏场景的所述各个子区域的环境数据包括:
获取所述游戏场景中不同时刻的基础温度;
获取所述各个子区域对应的温度影响值;
根据所述不同时刻的基础温度与所述各个子区域对应的温度影响值,确定所述各个子区域在所述不同时刻的温度数据。
4.根据权利要求3所述的方法,其特征在于,根据所述各个子区域的环境数据确定所述各个子区域的气压参数包括:
获取所述不同时刻中各个时刻对应的气压函数;
将所述各个子区域在所述不同时刻的温度数据输入至相应时刻对应的气压函数中,得到所述各个子区域在所述不同时刻的气压参数。
5.根据权利要求4所述的方法,其特征在于,根据所述各子区域的气压参数确定所述游戏场景中所述虚拟对象的移动路径包括:
获取目标时间段,其中,所述目标时间段为以当前时刻为起始时刻的时间段;
基于所述各个子区域在所述不同时刻的气压参数,确定所述虚拟对象在所述目标时间段内每个时刻的移动位置;
基于所述目标时间段内每个时刻的移动位置,生成所述移动路径。
6.根据权利要求5所述的方法,其特征在于,基于所述各个子区域在所述不同时刻的气压参数,确定所述虚拟对象在所述目标时间段内每个时刻的移动位置包括:
获取所述虚拟对象在目标时刻的第一位置,其中,所述目标时刻为所述目标时间段的终止时刻之前的任意一个时刻;
基于所述第一位置在所述目标时刻的气压参数,以及多个第二位置在所述目标时刻的气压参数,确定所述虚拟对象在所述目标时刻的移动方向,其中,所述多个第二位置为所述第一位置周围的位置;
基于所述第一位置和所述移动方向,确定所述虚拟对象在所述目标时刻的下一时刻的移动位置。
7.根据权利要求6所述的方法,其特征在于,基于所述第一位置在所述目标时刻的气压参数,以及多个第二位置在所述目标时刻的气压参数,确定所述虚拟对象在所述目标时刻的移动方向包括:
获取所述第一位置在所述目标时刻的气压参数与每个第二位置在所述目标时刻的气压参数的差值,得到多个气压差;
获取所述多个气压差中的最大气压差;
获取所述第一位置与所述最大气压差对应的第二位置的差值,得到所述目标时刻的移动方向。
8.根据权利要求6所述的方法,其特征在于,基于所述第一位置和所述移动方向,确定所述虚拟对象在所述目标时刻的下一时刻的移动位置包括:
获取预设值与所述移动方向的乘积,所述预设值用于表征相邻两个时刻的差值;
获取所述乘积与所述第一位置之和,得到所述下一时刻的移动位置。
9.根据权利要求6所述的方法,其特征在于,所述第一位置为预设位置,或,在所述目标时刻的前一时刻确定的移动位置。
10.根据权利要求1所述的方法,其特征在于,根据所述各子区域的气压参数确定所述游戏场景中所述虚拟对象的移动路径包括如下之一:
确定连续的多个运算帧,在所述多个运算帧内根据所述各子区域的气压参数确定所述虚拟对象的移动路径;
创建新的进程,并通过所述新的进程根据所述各子区域的气压参数确定所述虚拟对象的移动路径。
11.根据权利要求10所述的方法,其特征在于,在所述多个运算帧内根据所述各子区域的气压参数确定所述虚拟对象的移动路径包括:
对目标时间段进行划分,确定各个运算帧对应的子时间段;
根据所述各子区域在所述各个运算帧对应的子时间段内的气压参数,确定所述虚拟对象在所述各个运算帧对应的子时间段内的移动子路径;
将所述各个运算帧对应的子时间段内的移动子路径进行合并,得到所述移动路径。
12.根据权利要求1所述的方法,其特征在于,基于所述移动路径和所述虚拟对象的强度,在所述游戏场景中控制所述虚拟对象进行移动。
13.根据权利要求1所述的方法,其特征在于,在根据所述各子区域的气压参数确定所述游戏场景中所述虚拟对象的移动路径之后,所述方法还包括:
基于所述各子区域的气压参数生成气压图,其中,所述气压图中包含等压线;
基于所述气压图、所述移动路径和所述虚拟对象的历史移动路径,生成气象图;
基于所述游戏场景的场景数据和所述气象图,生成游戏交互界面;
在所述游戏场景的上层显示所述游戏交互界面。
14.一种虚拟对象的控制装置,其特征在于,包括:
获取模块,用于获取游戏场景的各个子区域的环境数据,其中,所述子区域为通过对所述游戏场景进行划分所确定的区域;
第一确定模块,用于根据所述各个子区域的环境数据确定所述各个子区域的气压参数;
第二确定模块,用于根据所述各子区域的气压参数确定所述游戏场景中虚拟对象的移动路径;
控制模块,用于基于所述移动路径,在所述游戏场景中控制所述虚拟对象进行移动。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至13中任意一项所述的虚拟对象的控制方法。
16.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至13中任意一项所述的虚拟对象的控制方法。
CN202010899307.5A 2020-08-31 2020-08-31 虚拟对象的控制方法和装置 Active CN111921192B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010899307.5A CN111921192B (zh) 2020-08-31 2020-08-31 虚拟对象的控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010899307.5A CN111921192B (zh) 2020-08-31 2020-08-31 虚拟对象的控制方法和装置

Publications (2)

Publication Number Publication Date
CN111921192A true CN111921192A (zh) 2020-11-13
CN111921192B CN111921192B (zh) 2024-02-23

Family

ID=73308952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010899307.5A Active CN111921192B (zh) 2020-08-31 2020-08-31 虚拟对象的控制方法和装置

Country Status (1)

Country Link
CN (1) CN111921192B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736126A (zh) * 2012-06-04 2012-10-17 南信大影像技术工程(苏州)有限公司 基于触控大屏的气象应急指挥发布系统的台风路径模块
CN103995951A (zh) * 2014-01-14 2014-08-20 广东电网公司阳江供电局 基于半正态模型的台风关键参数提取方法
KR20150054146A (ko) * 2013-11-11 2015-05-20 (주)큐버솔루션 유사태풍분석 예측 시스템 및 이를 이용한 유사태풍분석 예측 방법
CN107193060A (zh) * 2017-06-20 2017-09-22 厦门大学 一种多路径台风风暴潮快速预测方法及系统
CN107229825A (zh) * 2017-05-23 2017-10-03 浙江大学 一种面向灾害风险评估的热带气旋全路径模拟方法
RU2652642C1 (ru) * 2016-12-19 2018-04-28 Василий Николаевич Храмушин Способ построения гидродинамической модели источника штормовых нагонов и экстремальных течений под воздействием подвижного атмосферного тайфуна
CN108427834A (zh) * 2018-02-13 2018-08-21 中国气象科学研究院 基于中尺度模式的工程台风精细化数值模拟系统及方法
CN109977569A (zh) * 2019-04-01 2019-07-05 北部湾大学 一种融合多因素的mos风暴潮过程灾害模拟方法
CN110502843A (zh) * 2019-08-26 2019-11-26 同济大学 一种基于地理加权回归的台风路径随机模拟方法及系统
US10549189B1 (en) * 2018-12-20 2020-02-04 Sony Interactive Entertainment LLC Massive multi-player compute
CN110772791A (zh) * 2019-11-05 2020-02-11 网易(杭州)网络有限公司 三维游戏场景的路线生成方法、装置和存储介质
CN111202985A (zh) * 2020-01-16 2020-05-29 网易(杭州)网络有限公司 2d游戏中的路径规划方法、系统及电子设备
CN111249735A (zh) * 2020-02-14 2020-06-09 网易(杭州)网络有限公司 控制对象的路径规划方法、装置、处理器及电子装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736126A (zh) * 2012-06-04 2012-10-17 南信大影像技术工程(苏州)有限公司 基于触控大屏的气象应急指挥发布系统的台风路径模块
KR20150054146A (ko) * 2013-11-11 2015-05-20 (주)큐버솔루션 유사태풍분석 예측 시스템 및 이를 이용한 유사태풍분석 예측 방법
CN103995951A (zh) * 2014-01-14 2014-08-20 广东电网公司阳江供电局 基于半正态模型的台风关键参数提取方法
RU2652642C1 (ru) * 2016-12-19 2018-04-28 Василий Николаевич Храмушин Способ построения гидродинамической модели источника штормовых нагонов и экстремальных течений под воздействием подвижного атмосферного тайфуна
CN107229825A (zh) * 2017-05-23 2017-10-03 浙江大学 一种面向灾害风险评估的热带气旋全路径模拟方法
CN107193060A (zh) * 2017-06-20 2017-09-22 厦门大学 一种多路径台风风暴潮快速预测方法及系统
CN108427834A (zh) * 2018-02-13 2018-08-21 中国气象科学研究院 基于中尺度模式的工程台风精细化数值模拟系统及方法
US10549189B1 (en) * 2018-12-20 2020-02-04 Sony Interactive Entertainment LLC Massive multi-player compute
CN109977569A (zh) * 2019-04-01 2019-07-05 北部湾大学 一种融合多因素的mos风暴潮过程灾害模拟方法
CN110502843A (zh) * 2019-08-26 2019-11-26 同济大学 一种基于地理加权回归的台风路径随机模拟方法及系统
CN110772791A (zh) * 2019-11-05 2020-02-11 网易(杭州)网络有限公司 三维游戏场景的路线生成方法、装置和存储介质
CN111202985A (zh) * 2020-01-16 2020-05-29 网易(杭州)网络有限公司 2d游戏中的路径规划方法、系统及电子设备
CN111249735A (zh) * 2020-02-14 2020-06-09 网易(杭州)网络有限公司 控制对象的路径规划方法、装置、处理器及电子装置

Also Published As

Publication number Publication date
CN111921192B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
CN109241465B (zh) 界面显示方法、装置、终端及存储介质
CN110689604B (zh) 个性化脸部模型显示方法、装置、设备及存储介质
CN107132912B (zh) 一种gis与bim增强现实在建筑规划的互动演示方法及系统
CN110298873A (zh) 三维地图的构建方法、构建装置、机器人及可读存储介质
CN104715449A (zh) 生成马赛克图像的方法和装置
CN109087369A (zh) 虚拟对象显示方法、装置、电子装置及存储介质
CN108762505A (zh) 基于手势的虚拟对象控制方法、装置、存储介质和设备
CN105488833A (zh) 一种对2d控件实现3d转场动画的方法和装置
US20100013837A1 (en) Method And System For Controlling Character Animation
KR20150012291A (ko) 애니메이션 재생 방법, 장치, 기기, 프로그램 및 기록매체
CN106683152B (zh) 三维视觉效果模拟方法及装置
CN111445563A (zh) 一种图像生成的方法以及相关装置
CN108961268A (zh) 一种显著图计算方法及相关装置
CN116115995A (zh) 图像渲染处理方法、装置及电子设备
CN104299262B (zh) 一种基于速度场流线的三维云模拟方法
CN104346046B (zh) 三维仿真翻页方法及系统
CN111921192B (zh) 虚拟对象的控制方法和装置
CN104915102B (zh) 图形界面的交互方法及装置
CN102800234A (zh) 一种数字城市之电子沙盘系统
CN116958457A (zh) 一种基于OSGEarth的战争迷雾效果绘制方法
CN115035231A (zh) 阴影烘焙方法、装置、电子设备和存储介质
CN112750182A (zh) 一种动效实现方法、装置和计算机可读存储介质
CN106875480B (zh) 一种城市三维数据组织的方法
CN107895388A (zh) 图形的颜色填充方法、装置、计算机设备及存储介质
JP7049499B1 (ja) コンテンツ動画再生プログラム、コンテンツ動画再生装置、コンテンツ動画再生方法、コンテンツ動画データ生成プログラム、及びコンテンツ動画データ生成装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant