CN112642147A - 游戏控制方法、装置、设备和存储介质 - Google Patents

游戏控制方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN112642147A
CN112642147A CN202011556607.XA CN202011556607A CN112642147A CN 112642147 A CN112642147 A CN 112642147A CN 202011556607 A CN202011556607 A CN 202011556607A CN 112642147 A CN112642147 A CN 112642147A
Authority
CN
China
Prior art keywords
virtual vehicle
state information
virtual
information
next frame
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.)
Pending
Application number
CN202011556607.XA
Other languages
English (en)
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 CN202011556607.XA priority Critical patent/CN112642147A/zh
Publication of CN112642147A publication Critical patent/CN112642147A/zh
Pending legal-status Critical Current

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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • 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
    • 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/50Features 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 details of game servers
    • A63F2300/53Features 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 details of game servers details of basic data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供一种游戏控制方法、装置、设备和存储介质。该方法包括:服务器获取对虚拟载具进行操作的操作信息,所述操作信息用于控制所述虚拟载具运动;所述服务器根据所述虚拟载具的当前状态信息和所述操作信息,确定所述虚拟载具的目标状态信息;所述服务器向终端设备发送所述目标状态信息,所述目标状态信息用于所述终端设备调整所述虚拟载具的状态。本申请实施例中确定的虚拟载具的目标状态信息较为准确。

Description

游戏控制方法、装置、设备和存储介质
技术领域
本申请涉及网络游戏技术领域,尤其涉及一种游戏控制方法、装置、设备和存储介质。
背景技术
随着游戏技术与游戏品质的提升,虚拟载具成为众多网络游戏不可或缺的一部分,例如,虚拟载具可以是虚拟车辆、虚拟飞机等。为了游戏效果,需要精确计算虚拟载具的状态信息,例如,状态信息包括虚拟载具的位置、速度、旋转角度等。
在相关技术中,一般通过客户端设备各自计算该客户端的用户对应的虚拟载具的状态信息,并将状态信息打包上传至服务器,由服务器转发进行同步。然而,在不同虚拟载具发生碰撞时,若由多个客户端设备中选择出一个目标客户端设备对多个客户端各自对应的虚拟载具的状态信息进行计算,对于多个客户端设备中除目标客户端之外的其他客户端对应的虚拟载具的状态信息的结果可能不准确。
发明内容
本申请提供一种游戏控制方法、装置、设备和存储介质,以提高虚拟载具的呈现的目标状态的准确性。
第一方面,本申请提供一种游戏控制方法,包括:
服务器获取对虚拟载具进行操作的操作信息,所述操作信息用于控制所述虚拟载具运动;
所述服务器根据所述虚拟载具的当前状态信息和所述操作信息,确定所述虚拟载具的目标状态信息;
所述服务器向终端设备发送所述目标状态信息,所述目标状态信息用于所述终端设备调整所述虚拟载具的状态。
第二方面,本申请提供一种游戏控制方法,
通过终端设备提供图形用户界面,所述图形用户界面中包括虚拟载具,所述方法包括:
获取服务器发送的所述虚拟载具的目标状态信息;
根据所述虚拟载具的当前状态信息与所述目标状态信息进行插值处理,得到处理后的目标状态信息;
根据所述处理后的目标状态信息,调整所述虚拟载具在所述终端设备上呈现的状态。
第三方面,本申请提供一种游戏控制装置,包括:
获取模块,用于获取对虚拟载具进行操作的操作信息,所述操作信息用于控制所述虚拟载具运动;
处理模块,用于根据所述虚拟载具的当前状态信息和所述操作信息,确定所述虚拟载具的目标状态信息;
发送模块,用于向终端设备发送所述目标状态信息,所述目标状态信息用于所述终端设备调整所述虚拟载具的状态。
第四方面,本申请提供一种游戏控制装置,通过终端设备提供图形用户界面,所述图形用户界面中包括虚拟载具,所述装置包括:
获取模块,用于获取服务器发送的所述虚拟载具的目标状态信息;
处理模块,用于根据所述虚拟载具的当前状态信息与所述目标状态信息进行插值处理,得到处理后的目标状态信息;
显示模块,用于根据所述处理后的目标状态信息,调整所述虚拟载具在所述终端设备上呈现的状态。
第五方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面中任一项所述的方法。
第六方面,本申请实施例提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行第一方面中任一项所述的方法。
第七方面,本申请实施例提供一种终端设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;以及
显示器,用于显示图形用户界面,所述图形用户界面至少包括虚拟载具;
其中,所述处理器配置为经由执行所述可执行指令来执行第二方面中任一项所述的方法。
第八方面,本申请实施例提供一种程序,当该程序被处理器执行时,用于执行如上第一方面或第二方面中任一项所述的方法。
第九方面,本申请实施例提供一种计算机程序产品,包括程序指令,程序指令用于实现第一方面或第二方面中任一项所述的方法。
本申请实施例提供的游戏控制方法、装置、设备和存储介质,通过服务器根据虚拟载具的当前状态信息和用户输入的操作信息,确定虚拟载具的目标状态信息,其中,操作信息用于控制虚拟载具运动;终端设备根据目标状态信息调整虚拟载具的状态,虚拟载具的目标状态信息较为准确,从而使得在终端设备上呈现的虚拟载具的状态较为准确。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请一实施例提供的系统架构示意图;
图2是本申请提供的游戏控制方法一实施例的流程示意图;
图3是本申请提供的方法一实施例的交互流程示意图;
图4是本申请提供的方法一实施例的虚拟载具运动示意图;
图5是本申请提供的方法一实施例的射线检测示意图;
图6是本申请提供的游戏控制方法另一实施例的流程示意图;
图7是本申请提供的游戏控制装置一实施例的结构示意图;
图8是本申请提供的游戏控制装置另一实施例的结构示意图;
图9是本申请提供的服务器实施例的结构示意图;
图10是本申请提供的终端设备实施例的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本申请的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,对本申请实施例涉及的应用场景进行介绍。
图1为本申请一实施例提供的系统架构示意图。如图1所示,本申请一实施例的系统架构中可以包括但不限于:一个或多个终端设备11和服务器12。终端设备11例如包括:手机、平板电脑、个人计算机等用户设备。
其中,终端设备11和服务器12之间可以通过网络连接。
图1中以两个终端设备为例进行说明,两个终端设备例如为不同玩家的终端设备。其中,服务器可以为游戏应用的服务器。
相关技术中,一般通过客户端设备各自计算该客户端的用户对应的虚拟载具的状态信息,并将状态信息打包上传至服务器,由服务器转发进行同步。然而,在不同虚拟载具发生碰撞时,若由多个客户端设备中选择出一个目标客户端设备对多个客户端各自对应的虚拟载具的状态信息进行计算,对于多个客户端设备中除目标客户端之外的其他客户端对应的虚拟载具的状态信息的结果可能不准确。
本申请实施例的方法,通过服务器根据虚拟载具的当前状态信息和用户输入的操作信息,确定虚拟载具的目标状态信息;终端设备根据目标状态信息调整虚拟载具的状态。本申请实施例中确定的虚拟载具的目标状态信息较为准确。
在本公开其中一种实施例中的游戏控制方法可以运行于终端设备或者是服务器。其中,终端设备可以为本地终端设备。当游戏控制方法运行于服务器时,该方法则可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。
在一可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,游戏控制方法的储存与运行是在云游戏服务器上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行信息处理的终端设备为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
在一可选的实施方式中,终端设备可以为本地终端设备。以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
在一种可能的实施方式中,本发明实施例提供了一种游戏控制方法,通过终端设备提供图形用户界面,图形用户界面中至少包括游戏场景,游戏场景中包括虚拟载具。其中,终端设备可以是前述提到的本地终端设备,也可以是前述提到的云交互系统中的客户端设备。
下面以具体的实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2是本申请提供的游戏控制方法一实施例的流程示意图。如图2、图3所示,本实施例提供的方法,包括:
步骤101、服务器获取对虚拟载具进行操作的操作信息,操作信息用于控制虚拟载具运动。
具体的,终端设备上运行游戏应用,响应于用户对游戏场景中虚拟载具的操作,终端设备获取操作信息,并将操作信息发送给服务器。服务器获取该操作信息。
其中,操作信息例如包括以下至少一项:前进操作信息、转向操作信息。前进操作信息例如包括:前进信息和后退信息,转向操作信息例如包括左转操作信息、右转操作信息,或转动的角度信息。操作信息例如还可以包括跳起等操作信息,本申请实施例对此并不限定。
在一实施例中,终端设备按照预设频率对用户输入的操作进行检测,预设频率例如为30帧/s。可选的,如果当前帧输入的操作与前一帧输入的操作相同,则不发送给服务器,以减少网络传输数据的频率;如果与前一帧输入的操作不同,则将用户输入的操作信息打包发送至服务器。
服务器根据终端设备发送的操作信息对虚拟载具进行状态模拟,即确定虚拟载具的目标状态信息,然后向终端设备下发模拟的目标状态信息,目标状态信息例如包括位置、速度、旋转角度等等。
在一实施例中,服务器接收到终端设备发送的操作信息后,可以将其存储至缓存中供状态模拟使用。服务器以预设频率解析终端设备发送的操作信息,预设频率例如为30帧/s。
步骤102、服务器根据虚拟载具的当前状态信息和操作信息,确定虚拟载具的目标状态信息。
具体的,服务器获取虚拟载具的当前状态信息,如当前帧的状态信息,根据当前状态信息和操作信息,确定该虚拟载具的目标状态信息,如下一帧的状态信息,例如用户操作该虚拟载具进行前进,则根据当前帧的位置和前进操作信息,确定下一帧该虚拟载具的位置。
步骤103、服务器向终端设备发送目标状态信息,目标状态信息用于客户端调整虚拟载具的状态。
具体的,服务器在确定虚拟载具的目标状态信息之后,发送给一个或多个终端设备,终端设备根据该虚拟载具的目标状态信息在终端设备的图形用户界面上呈现相应的状态,即调整之前的状态至目标状态。
在一实施例中,目标状态信息包括如下至少一种:虚拟载具的速度、虚拟载具角速度、虚拟载具的位置、虚拟载具的旋转角度、虚拟载具的车轮的转速。
示例性的,如图4所示,用户点击前进按钮,虚拟载具a从当前位置沿虚线箭头所示的方向移动到目标位置。
本实施例的方法,通过服务器根据虚拟载具的当前状态信息和用户输入的操作信息,确定虚拟载具的目标状态信息,其中,操作信息用于控制虚拟载具运动;终端设备根据目标状态信息调整虚拟载具的状态,虚拟载具的目标状态信息较为准确,从而使得在终端设备上呈现的虚拟载具的状态较为准确。
在上述实施例的基础上,步骤102具体可以通过如下方式实现:
服务器获取虚拟载具的悬挂对虚拟载具施加的力度信息;
服务器根据当前状态信息、操作信息和力度信息,确定目标状态信息。
具体的,虚拟载具通常具有悬挂,悬挂是指车架与车轮之间的传力连接装置的总称,其作用是传递作用在车轮和车架之间的力。
悬挂可以假设为带阻尼的弹簧,服务器获取虚拟载具的悬挂对虚拟载具施加的力度信息,若虚拟载具具有多个车轮,则每个车轮对应一个悬挂,此处的力度信息指的是所有悬挂对虚拟载具施加的力度信息。
每个车轮对应的悬挂对虚拟载具施加的力度信息均与当前状态下虚拟载具与虚拟地面的第一距离有关,该第一距离例如为虚拟载具的车轮中心与虚拟地面的距离。如果第一距离小于车轮半径,说明车轮着地,可以为虚拟载具提供动力。如果第一距离大于车轮半径,说明车轮离开地面,无法提供动力。其中,悬挂中心为车轮中心。当悬挂的中心和虚拟地面的距离等于车轮半径时,悬挂伸缩量为0。当悬挂中心和虚拟地面的距离<车轮半径时,说明悬挂被压缩,此时悬挂的伸缩量等于车轮半径减去第一距离。
服务器根据当前状态信息、操作信息和力度信息,确定目标状态信息。例如,根据当前状态信息中包括的当前帧虚拟载具的速度、前进操作信息和力度信息,确定目标状态中包括的下一帧虚拟载具的速度;或,根据当前状态信息中包括的当前帧虚拟载具的角速度、转向操作信息和力度信息,确定目标状态中包括的下一帧虚拟载具的角速度。
在一实施例中,针对任一车轮对应的悬挂来说,确定悬挂对虚拟载具施加的力度信息,具体可以通过如下方式实现:
服务器获取当前帧虚拟载具与虚拟地面的第一距离,以及预设的悬挂属性信息;悬挂属性信息包括如下至少一种:悬挂强度、最大伸缩量和悬挂阻尼;
服务器根据第一距离和悬挂属性信息,确定力度信息。
具体的,服务器获取当前状态下虚拟载具与虚拟地面的距离,其中,当前状态可以是当前帧的虚拟载具的状态。
其中,悬挂属性信息包括如下至少一种:悬挂强度、最大伸缩量和悬挂阻尼;悬挂属性信息中包括的悬挂强度、最大伸缩量和悬挂阻尼可以是预设的。
进一步,服务器预测目标状态下的虚拟载具与虚拟地面的第二距离,目标状态可以是下一帧的虚拟载具的状态,第二距离即下一帧虚拟载具与虚拟地面的距离。
在一实施例中,根据第一距离、第二距离和悬挂属性信息,确定所述力度信息。
可选的,服务器根据第一距离和第二距离,确定悬挂的伸缩速度;
服务器根据悬挂的伸缩速度、第一距离和悬挂属性信息,确定悬挂对虚拟载具施加的力度信息。
具体的,可以利用第一距离、第二距离,计算出当前帧与下一帧之间虚拟载具与虚拟地面的距离的差值Δj,例如可以利用如下公式(1)计算力度信息force:
force=strength×min(jounce,maxCompression)+jounceSpeed×
springDampingRate (1)
其中,jounceSpeed表示悬挂的伸缩速度,
Figure BDA0002858523970000091
jounce表示悬挂当前的伸缩量,即当前状态下车轮半径减去虚拟载具与虚拟地面的第一距离,第一距离即车轮中心与地面的距离;t表示下一帧与当前帧之间的时间的差值;
strength表示悬挂强度,maxCompression表示悬挂的最大伸缩量,DampingRate表示悬挂阻尼。
上述实施方式中,服务器通过计算悬挂对虚拟载具施加的力度信息,从而根据力度信息、当前状态信息和操作信息,确定出目标状态信息,结果较为准确
在一实施例中,步骤102具体可以通过如下方式实现:
服务器根据力度信息,确定下一帧虚拟载具的加速度和角加速度;
服务器根据下一帧虚拟载具的加速度和角加速度、操作信息以及当前状态信息,确定虚拟载具的速度和角速度;
服务器根据下一帧虚拟载具的速度和角速度以及当前状态信息,确定虚拟载具的位置、虚拟载具的旋转角度和虚拟载具的车轮的转速。
在一实施例中,加速度可以根据力度信息以及虚拟载具的质量得到,例如根据公式(2)计算得到:
Figure BDA0002858523970000092
其中,a0表示当前帧虚拟载具的加速度,初始值为预设值,如0;
forcei表示第i个车轮对应的悬挂对虚拟载具施加的力度信息,Q表示虚拟载具的质量。
在一实施例中,加速度可以根据力度信息以及虚拟载具的转动惯量得到,例如根据公式(3)和(4)计算得到:
β=β0suspension (3)
Figure BDA0002858523970000093
其中,β0表示当前帧虚拟载具的角加速度,初始值为预设值,如0。βsuspension为所有车轮对应的悬挂对虚拟载具施加的力度信息对应的角加速度。forcei表示第i个车轮对应的悬挂对虚拟载具施加的力度信息,offseti表示第i个车轮对应的悬挂对虚拟载具施加力的位置(图5中箭头所指的A点)到重心的距离矢量,I表示虚拟载具的转动惯量,I可以为预设值。
本申请实施例中,虚拟载具可以以四轮的虚拟载具为例进行说明。在每个车轮的中心垂直向下做射线检测,如图5所示,计算车轮的中心与虚拟地面的距离,即悬挂与虚拟地面的距离。
在一实施例中,可以通过如下方式确定虚拟载具的速度:
服务器根据虚拟载具的当前状态信息中当前帧的速度、下一帧虚拟载具的加速度、时间间隔、虚拟载具中着地的车轮数量以及操作信息,确定下一帧虚拟载具的速度;其中,加速度为根据力度信息以及虚拟载具的质量得到的;时间间隔为当前帧与下一帧的时间间隔。
在一实施例中,可以通过如下方式确定虚拟载具的角速度:
服务器根据虚拟载具的当前状态信息中当前帧的角速度、下一帧虚拟载具的角加速度、时间间隔、虚拟载具中着地的车轮数量以及操作信息,确定下一帧虚拟载具的角速度;其中,角加速度为根据力度信息、力度信息作用的位置到虚拟载具的重心的距离以及虚拟载具的转动惯量得到的;时间间隔为当前帧与下一帧的时间间隔。
具体的,虚拟载具的速度和角速度可以利用如下公式(5)和(6)计算:
Figure BDA0002858523970000101
Figure BDA0002858523970000102
其中,v0表示当前帧的速度,初始值为一预设值,如0,n表示有n个轮子着地,即虚拟载具的着地的车轮的数量,a表示加速度,t表示当前帧与下一帧的时间间隔;w0表示角速度,初始值为一预设值,如0,β表示角加速度,F和R分别表示用户输入的操作信息中的前进操作信息和转向操作信息。例如,F的输入区间为[-1,1],F>0代表前进,F<0代表后退。R的输入区间为[-1,1],R>0表示向右旋转,R<0表示向左旋转。
在一实施例中,可以通过如下方式确定虚拟载具的车轮的转速:
根据下一帧虚拟载具的速度、角速度和虚拟载具的车轮的半径,确定下一帧车轮的转速。
具体的,可以利用如下公式(7)确定虚拟载具的车轮的转速:
Figure BDA0002858523970000111
其中,wi和w′i分别为下一帧虚拟载具对称两侧第i个车轮的转速,ri和r′i分别为两个车轮的半径,di为两个车轮的距离,w为下一帧虚拟载具的速度,v为下一帧虚拟载具的角速度。
在一实施例中,可以通过如下方式确定下一帧虚拟载具的位置:
根据下一帧虚拟载具的速度、当前帧虚拟载具的位置以及时间间隔,确定下一帧虚拟载具的位置;时间间隔为当前帧与下一帧的时间间隔。
在一实施例中,可以通过如下方式确定下一帧虚拟载具的旋转角度:
根据下一帧虚拟载具的角速度、当前帧虚拟载具的旋转角度以及时间间隔,确定下一帧虚拟载具的旋转角度;时间间隔为当前帧与下一帧的时间间隔。
具体的,可以根据求得的下一帧虚拟载具的速度和角速度求出下一帧虚拟载具的位置Posi和旋转角度Roti,其中Posi-1为当前帧的位置,Roti-1为当前帧的旋转角度,t为当前帧与下一帧的时间间隔。
例如通过如下公式(8)计算位置和旋转角度:
Figure BDA0002858523970000112
需要说明的是,以上公式也可以进行变形,本申请实施例对此并不限定。
上述实施方式中,服务器根据力度信息,确定下一帧虚拟载具的加速度和角加速度;服务器根据下一帧虚拟载具的加速度和角加速度、操作信息以及当前状态信息,确定虚拟载具的速度和角速度;服务器根据下一帧虚拟载具的速度和角速度,确定虚拟载具的车轮的转速,并根据下一帧虚拟载具的速度以及当前状态信息确定虚拟载具的位置,根据下一帧虚拟载具的角速度以及当前状态信息确定虚拟载具的旋转角度,确定出的目标状态信息较为准确
服务器通过射线检测、目标状态信息,完成一帧的虚拟载具的状态模拟。由于射线检测的性能消耗较大,考虑到两帧之间射线检测结果不会有很大的变化,因此,本申请实施例中可以以第一预设频率进行射线检测,即以第一预设频率获取虚拟载具与虚拟地面的第一距离,以第二预设频率根据当前状态信息和操作信息,确定目标状态信息,第一预设频率小于第二预设频率。
在一实施例中,第一预设频率可以是第二预设频率的一半。
例如,使用30帧/s的频率进行射线检测,60帧/s的频率进行状态模拟。在偶数帧目标状态信息计算时可以使用上一帧射线检测的结果进行计算。这样可以降低射线检测的频率,并且降低计算资源的消耗。而且使用高频率进行状态模拟,有效保证了虚拟载具的状态的准确性。
在一实施例中,为了提高数据传输的可靠性,服务器对目标状态信息进行纠错编码,向客户端终端设备发送编码后的目标状态信息。
具体的,服务器按照一预设频率获取确定出的虚拟载具的目标状态信息,并进行数据转换和编码,例如预设频率为30帧/s,目标状态信息包括如下至少一项:用户ID、虚拟载具的位置、速度、角速度、旋转角度,以及虚拟载具的车轮的转速。为了降低网络同步的数据量,同时降低丢包率,需要将收集所有信息进行预处理,然后再发送。可选的,将目标状态信息序列化成二进制数据。进一步,还可以将数据进行纠错编码,例如将任意相邻两帧通过reed-solomon编码构造出纠错码,发送给终端设备。纠错编码虽然会增加部分数据量,但是可以在部分丢包情况下,根据两帧中的其中一帧数据和纠错码恢复丢包数据,从而提高数据传输的可靠性。
上述实施方式中,服务器按照预设频率将目标状态信息封装成二进制信息,发送给终端设备。同时,在二进制信息中添加前向纠错码,增加了数据通信的可靠性,减少丢包导致的延迟问题。
本申请实施例的方法中,终端设备只负责发送用户输入的操作信息和接收服务器侧模拟的目标状态信息,这样做的好处在于所有终端设备收到的任一虚拟载具的目标状态信息都一致,不论是正常移动还是碰撞推动。同时,由于服务器进行状态模拟及下发数据,终端设备无法进行作弊行为,例如擅自更改虚拟载具的状态信息。
图6是本申请提供的游戏控制方法一实施例的流程示意图。如图6所示,本实施例提供的方法,通过终端设备提供图形用户界面,图形用户界面中包括虚拟载具,该方法包括:
步骤201、获取服务器发送的虚拟载具的目标状态信息。
在一实施例中,还可以包括:
获取用户输入的操作信息,并以第三预设频率向服务器发送操作信息。
其中,第三预设频率与第一预设频率可以相同。
步骤202、根据虚拟载具的当前状态信息对目标状态信息进行平滑处理,得到处理后的目标状态信息。
具体的,当前状态信息可以是服务器发送给终端设备的当前帧虚拟载具的状态信息,目标状态信息可以是下一帧虚拟载具的状态信息,根据虚拟载具的当前状态信息对目标状态信息进行平滑处理,得到处理后的目标状态信息。
步骤203、根据处理后的目标状态信息,调整虚拟载具在终端设备上呈现的状态。
如图4所示,虚拟载具a由当前状态调整为目标状态,即在终端设备的图形用户界面上呈现处理后的目标状态信息对应的状态。
在一实施例中,终端设备获取服务器发送的目标状态信息,可以在缓冲池进行缓存,当终端设备检测到缓冲池的数据满足预设条件后,进行插值处理。根据前后相邻两帧数据,利用插值公式计算出虚拟载具的位置、旋转角度:
Pos=Posa×lerpt+Posb×(1-lerpt)
Figure BDA0002858523970000131
lerpt=(Tc-Ta)/(Tb-Ta)
其中,Pos表示虚拟载具本次插值的位置,Posa表示虚拟载具在服务器上的前一帧位置,Posb表示虚拟载具在服务器上后一帧的位置。q表示虚拟载具本次插值的旋转角度。qa表示虚拟载具在服务器上前一帧的旋转角度,qb表示虚拟载具在服务器上后一帧的旋转角度,Tc表示当前时间,Ta表示服务器前一帧时间,Tb表示服务器后一帧的时间。lerpt表示需要插值的值。slerp()表示球面线性插值函数。
本申请实施例中,通过平滑处理,使得虚拟载具在终端设备上的显示效果更加精确。
在一实施例中,终端设备接收数据后会将数据存入缓冲池中,可以根据网络延迟动态调整缓冲池的大小。例如,默认缓冲池大小为3,可选的,当终端设备接收到服务器3帧数据包后开始进行插值,这样可以有效防止网络波动,已达到流畅的插值效果。
为了降低延迟,在一实施例中,终端设备在获取到一帧数据后即可进行插值,例如终端设备可以伪造一帧假数据,与从服务器接收到的数据进行插值。例如,通过虚拟载具在静止状态的数据和缓冲池的第一帧数据进行平均,计算出平均位置和平均旋转角度,并插入到第一帧前面,与第一帧数据进行插值,以减少延迟。
本实施例的方法,其实现原理和技术效果与前述服务器侧方法实施例的技术方案类似,此处不再赘述。
图7为本申请提供的游戏控制装置一实施例的结构图,如图7所示,本实施例的游戏控制装置,可以设置在服务器中,该装置包括:
获取模块110,用于获取对虚拟载具进行操作的操作信息,所述操作信息用于控制所述虚拟载具运动;
处理模块111,用于根据所述虚拟载具的当前状态信息和所述操作信息,确定所述虚拟载具的目标状态信息;
发送模块112,用于向终端设备发送所述目标状态信息,所述目标状态信息用于所述终端设备调整所述虚拟载具的状态
本实施例的装置,可以用于执行上述服务器侧方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请提供的游戏控制装置一实施例的结构图,如图8所示,本实施例的游戏控制装置,可以设置在终端设备中,通过终端设备提供图形用户界面,所述图形用户界面中包括虚拟载具,所述装置包括:
获取模块210,用于获取服务器发送的所述虚拟载具的目标状态信息;
处理模块211,用于根据所述虚拟载具的当前状态信息对所述目标状态信息进行平滑处理,得到处理后的目标状态信息;
显示模块212,用于根据所述处理后的目标状态信息,调整所述虚拟载具在所述终端设备上呈现的状态。
本实施例的装置,可以用于执行上述终端设备侧方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本申请提供的服务器实施例的结构图,如图9所示,该服务器包括:
处理器120,以及,用于存储处理器120的可执行指令的存储器121。
可选的,还可以包括:通信接口122,用于与其他设备通信。
上述部件可以通过一条或多条总线进行通信。
其中,处理器120配置为经由执行所述可执行指令来执行前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,此处不再赘述。
图10为本申请提供的终端设备实施例的结构图,如图10所示,该终端设备包括:
处理器220,以及,用于存储处理器220的可执行指令的存储器221。
可选的,还可以包括:显示器222,用于显示图形用户界面,图形用户界面至少包括虚拟载具。
上述部件可以通过一条或多条总线进行通信。
其中,处理器220配置为经由执行所述可执行指令来执行前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,此处不再赘述。
本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,其实现原理和技术效果类似,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

Claims (21)

1.一种游戏控制方法,其特征在于,包括:
服务器获取对虚拟载具进行操作的操作信息,所述操作信息用于控制所述虚拟载具运动;
所述服务器根据所述虚拟载具的当前状态信息和所述操作信息,确定所述虚拟载具的目标状态信息;
所述服务器向终端设备发送所述目标状态信息,所述目标状态信息用于所述终端设备调整所述虚拟载具的状态。
2.根据权利要求1所述的方法,其特征在于,根据所述虚拟载具的当前状态信息和所述操作信息,确定所述虚拟载具的目标状态信息,包括:
所述服务器获取所述虚拟载具的悬挂对所述虚拟载具施加的力度信息;
所述服务器根据所述当前状态信息、所述操作信息和所述力度信息,确定所述目标状态信息。
3.根据权利要求2所述的方法,其特征在于,所述服务器获取所述虚拟载具的悬挂对所述虚拟载具施加的力度信息,包括:
所述服务器获取当前帧所述虚拟载具与虚拟地面的第一距离,以及预设的悬挂属性信息;所述悬挂属性信息包括如下至少一种:悬挂强度、最大伸缩量和悬挂阻尼;
所述服务器根据所述第一距离和所述悬挂属性信息,确定所述力度信息。
4.根据权利要求2或3所述的方法,其特征在于,所述目标状态信息包括如下至少一种:所述虚拟载具的速度、所述虚拟载具角速度、所述虚拟载具的位置、所述虚拟载具的旋转角度、所述虚拟载具的车轮的转速。
5.根据权利要求4所述的方法,其特征在于,所述服务器根据所述当前状态信息、所述操作信息和所述力度信息,确定所述目标状态信息,包括:
所述服务器根据所述力度信息,确定下一帧所述虚拟载具的加速度和角加速度;
所述服务器根据下一帧所述虚拟载具的加速度和角加速度、所述操作信息以及所述当前状态信息,确定下一帧所述虚拟载具的速度和角速度;
所述服务器根据下一帧所述虚拟载具的速度和角速度以及所述当前状态信息,确定下一帧所述虚拟载具的位置、所述虚拟载具的旋转角度和所述虚拟载具的车轮的转速。
6.根据权利要求3所述的方法,其特征在于,所述服务器根据所述第一距离和所述悬挂属性信息,确定所述力度信息,包括:
所述服务器根据所述第一距离,下一帧所述虚拟载具与所述虚拟地面的第二距离,确定所述悬挂的伸缩速度;
所述服务器根据所述悬挂的伸缩速度、所述第一距离和所述悬挂属性信息,确定所述悬挂对所述虚拟载具施加的力度信息。
7.根据权利要求5所述的方法,其特征在于,所述服务器根据下一帧所述虚拟载具的加速度、所述操作信息以及所述当前状态信息,确定下一帧所述虚拟载具的速度,包括:
所述服务器根据所述虚拟载具的当前状态信息中当前帧的速度、下一帧所述虚拟载具的加速度、时间间隔、所述虚拟载具中着地的车轮数量以及所述操作信息,确定下一帧所述虚拟载具的速度;其中,所述加速度为根据所述力度信息以及所述虚拟载具的质量得到的;所述时间间隔为当前帧与所述下一帧的时间间隔。
8.根据权利要求5所述的方法,其特征在于,所述服务器根据下一帧所述虚拟载具的角加速度、所述操作信息以及所述当前状态信息,确定下一帧所述虚拟载具的角速度,包括:
所述服务器根据所述虚拟载具的当前状态信息中当前帧的角速度、下一帧所述虚拟载具的角加速度、时间间隔、所述虚拟载具中着地的车轮数量以及所述操作信息,确定下一帧所述虚拟载具的角速度;其中,所述角加速度为根据所述力度信息、所述力度信息作用的位置到所述虚拟载具的重心的距离以及所述虚拟载具的转动惯量得到的;所述时间间隔为当前帧与所述下一帧的时间间隔。
9.根据权利要求5所述的方法,其特征在于,所述服务器根据下一帧所述虚拟载具的速度和角速度,确定下一帧所述虚拟载具的车轮的转速,包括:
根据下一帧所述虚拟载具的速度、角速度和所述虚拟载具的车轮的半径,确定下一帧所述车轮的转速。
10.根据权利要求5所述的方法,其特征在于,所述服务器根据下一帧所述虚拟载具的速度以及所述当前状态信息,确定所述虚拟载具的位置,包括:
根据下一帧所述虚拟载具的速度、当前帧所述虚拟载具的位置以及时间间隔,确定下一帧所述虚拟载具的位置;所述时间间隔为当前帧与所述下一帧的时间间隔。
11.根据权利要求5所述的方法,其特征在于,所述服务器根据所述虚拟载具的角速度以及所述当前状态信息,确定所述虚拟载具的旋转角度,包括:
根据下一帧所述虚拟载具的角速度、当前帧所述虚拟载具的旋转角度以及时间间隔,确定下一帧所述虚拟载具的旋转角度;所述时间间隔为当前帧与下一帧的时间间隔。
12.根据权利要求1-3任一项所述的方法,其特征在于,所述服务器向终端设备发送所述目标状态信息,包括:
所述服务器对所述目标状态信息进行纠错编码,向所述终端设备发送编码后的目标状态信息。
13.根据权利要求1-3任一项所述的方法,其特征在于,所述服务器获取所述虚拟载具与虚拟地面的第一距离,包括:
所述服务器以第一预设频率获取所述虚拟载具与虚拟地面的第一距离;
所述服务器根据所述虚拟载具的当前状态信息和所述操作信息,确定所述虚拟载具的目标状态信息,包括:
所述服务器以第二预设频率根据所述当前状态信息和所述操作信息,确定所述目标状态信息,所述第一预设频率小于所述第二预设频率。
14.一种游戏控制方法,其特征在于,通过终端设备提供图形用户界面,所述图形用户界面中包括虚拟载具,所述方法包括:
获取服务器发送的所述虚拟载具的目标状态信息;
根据所述虚拟载具的当前状态信息对所述目标状态信息进行平滑处理,得到处理后的目标状态信息;
根据所述处理后的目标状态信息,调整所述虚拟载具在所述终端设备上呈现的状态。
15.根据权利要求14所述的方法,其特征在于,所述目标状态信息包括:所述虚拟载具的位置和旋转角度,所述根据所述虚拟载具的当前状态信息对所述目标状态信息进行平滑处理,得到处理后的目标状态信息,包括:
根据当前帧虚拟载具的位置,以及下一帧虚拟载具的位置进行插值处理,得到所述虚拟载具处理后的的位置;
根据当前帧虚拟载具的旋转角度,以及下一帧虚拟载具的旋转角度进行插值处理,得到所述虚拟载具处理后的旋转角度。
16.根据权利要求14或15所述的方法,其特征在于,还包括:
获取用户输入的操作信息,并以第三预设频率向服务器发送所述操作信息。
17.一种游戏控制装置,其特征在于,包括:
获取模块,用于获取对虚拟载具进行操作的操作信息,所述操作信息用于控制所述虚拟载具运动;
处理模块,用于根据所述虚拟载具的当前状态信息和所述操作信息,确定所述虚拟载具的目标状态信息;
发送模块,用于向终端设备发送所述目标状态信息,所述目标状态信息用于所述终端设备调整所述虚拟载具的状态。
18.一种游戏控制装置,其特征在于,通过终端设备提供图形用户界面,所述图形用户界面中包括虚拟载具,所述装置包括:
获取模块,用于获取服务器发送的所述虚拟载具的目标状态信息;
处理模块,用于根据所述虚拟载具的当前状态信息对所述目标状态信息进行平滑处理,得到处理后的目标状态信息;
显示模块,用于根据所述处理后的目标状态信息,调整所述虚拟载具在所述终端设备上呈现的状态。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-17任一项所述的方法。
20.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-13任一项所述的方法。
21.一种终端设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;以及
显示器,用于显示图形用户界面,所述图形用户界面至少包括游戏场景;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求14-16任一项所述的方法。
CN202011556607.XA 2020-12-24 2020-12-24 游戏控制方法、装置、设备和存储介质 Pending CN112642147A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011556607.XA CN112642147A (zh) 2020-12-24 2020-12-24 游戏控制方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011556607.XA CN112642147A (zh) 2020-12-24 2020-12-24 游戏控制方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN112642147A true CN112642147A (zh) 2021-04-13

Family

ID=75362763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011556607.XA Pending CN112642147A (zh) 2020-12-24 2020-12-24 游戏控制方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN112642147A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060154713A1 (en) * 2002-09-16 2006-07-13 Genki Co., Ltd. Spatial position sharing system, data sharing system, network game system, and network game client
CN108429793A (zh) * 2018-02-11 2018-08-21 鲸彩在线科技(大连)有限公司 载具物理模拟方法、系统、客户端、电子设备以及服务器
CN110170169A (zh) * 2019-06-05 2019-08-27 腾讯科技(深圳)有限公司 信息的展示方法和装置、存储介质、电子装置
CN110339560A (zh) * 2019-08-07 2019-10-18 广州小鹏汽车科技有限公司 一种车载游戏方法和装置
CN110694274A (zh) * 2019-10-15 2020-01-17 网易(杭州)网络有限公司 虚拟车辆的行驶状态预测方法、装置及电子设备
CN111084989A (zh) * 2019-12-25 2020-05-01 网易(杭州)网络有限公司 游戏信息的更新方法和装置
CN111298429A (zh) * 2020-01-15 2020-06-19 网易(杭州)网络有限公司 游戏中虚拟载具的状态同步方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060154713A1 (en) * 2002-09-16 2006-07-13 Genki Co., Ltd. Spatial position sharing system, data sharing system, network game system, and network game client
CN108429793A (zh) * 2018-02-11 2018-08-21 鲸彩在线科技(大连)有限公司 载具物理模拟方法、系统、客户端、电子设备以及服务器
CN110170169A (zh) * 2019-06-05 2019-08-27 腾讯科技(深圳)有限公司 信息的展示方法和装置、存储介质、电子装置
CN110339560A (zh) * 2019-08-07 2019-10-18 广州小鹏汽车科技有限公司 一种车载游戏方法和装置
CN110694274A (zh) * 2019-10-15 2020-01-17 网易(杭州)网络有限公司 虚拟车辆的行驶状态预测方法、装置及电子设备
CN111084989A (zh) * 2019-12-25 2020-05-01 网易(杭州)网络有限公司 游戏信息的更新方法和装置
CN111298429A (zh) * 2020-01-15 2020-06-19 网易(杭州)网络有限公司 游戏中虚拟载具的状态同步方法和装置

Similar Documents

Publication Publication Date Title
US20230226445A1 (en) Reality vs virtual reality racing
US20170108922A1 (en) Image generation device, image generation method and non-transitory recording medium storing image generation program
US9892546B2 (en) Pursuit path camera model method and system
US20170136346A1 (en) Interaction Method, Interaction Apparatus and User Equipment
US20170287097A1 (en) Hybrid client-server rendering in a virtual reality system
US20120310610A1 (en) Program, information storage medium, information processing system, and information processing method
CN114730481A (zh) 用于调整gpu的一个或多个参数的系统和方法
CN109074152A (zh) 一种虚拟现实图像发送方法及装置
CN110694265A (zh) 游戏中数据同步的方法及装置、电子设备、存储介质
CN112642147A (zh) 游戏控制方法、装置、设备和存储介质
CN109003336A (zh) 虚拟现实影像的处理方法、系统及计算机可读存储介质
CN101524591A (zh) 游戏装置
CN110152295B (zh) 虚拟对象的控制方法及装置、存储介质及电子设备
CN115569381A (zh) 游戏控制方法、装置、设备及存储介质
JP5718992B2 (ja) 携帯端末を用いた運転シミュレーション装置及び運転シミュレーションプログラム
CN110975277A (zh) 增强现实游戏中信息处理的方法及装置、介质及电子设备
CN106445139A (zh) 一种数据显示方法、装置及系统
US10471347B2 (en) Information processing system, information processing apparatus, storage medium storing information processing program, and information processing method
CN114063761B (zh) 注视点显示方法及相关装置
CN110075525B (zh) 游戏中虚拟物体的控制方法及装置、电子设备
CN114937059A (zh) 显示对象的运动控制方法及设备
KR102261993B1 (ko) 가상 현실 영상 제공 방법
CN113448441A (zh) 具备触觉交互功能的用户手持设备、触觉交互方法及装置
CN114116081A (zh) 交互式动态流体效果处理方法、装置及电子设备
JP2009189527A (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