CN111084989A - 游戏信息的更新方法和装置 - Google Patents

游戏信息的更新方法和装置 Download PDF

Info

Publication number
CN111084989A
CN111084989A CN201911355382.9A CN201911355382A CN111084989A CN 111084989 A CN111084989 A CN 111084989A CN 201911355382 A CN201911355382 A CN 201911355382A CN 111084989 A CN111084989 A CN 111084989A
Authority
CN
China
Prior art keywords
information
virtual vehicle
state information
state
client
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
CN201911355382.9A
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 CN201911355382.9A priority Critical patent/CN111084989A/zh
Publication of CN111084989A publication Critical patent/CN111084989A/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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/69Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • 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
    • A63F13/428Processing 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 involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • 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
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/803Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种游戏信息的更新方法和装置。应用于一第二客户端,其中,该方法包括:接收服务器发送的第一客户端的第一状态信息,其中,第一状态信息用于描述第一客户端上基于第一操作控制的虚拟载具在游戏场景中的运动状态;根据第一状态信息确定第二状态信息,其中,第二状态信息用于描述由虚拟载具在第二客户端的游戏场景中待呈现的运动状态;基于第二状态信息在第二客户端上更新并呈现虚拟载具的相应运动状态。本发明解决了现有技术在对载具的状态信息进行同步时需要同步的信息较多所导致的同步信息所消耗的流量大的技术问题。

Description

游戏信息的更新方法和装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种游戏信息的更新方法和装置。
背景技术
随着计算机技术的发展,载具在游戏、电影、虚拟驾驶等领域得到了广泛运用,其中,主流的物理引擎和游戏引擎能够实现对载具的仿真,使虚拟载具在计算机终端上运行的游戏客户端上能够真实的展现在用户面前。然而,在实际应用中,通常大量的载具会同时存在于场景的一个可见范围内,如果同时对所有载具进行物理仿真,则会导致计算机终端上运行的游戏客户端的运行效率无法满足要求。
为保证运行时效率,现有技术仅针对主玩家控制的载具进行物理仿真。然而,物理仿真的结果在不同平台下通常是有差异的,从而导致不同客户端中的载具表现不一致。
尽管通过同步载具状态的方式可以解决载具物理仿真所带来的开销和不一致的问题,但该方案仍存在如下问题:
(1)载具表现越为真实,需要同步的信息越多,同步的频率也越高,从而导致流量大幅增加,尤其是当游戏在移动终端运行时。另外,同步的信息越多,同步的频率越高还会增加移动终端的电量消耗。
(2)在接收到远端载具同步的状态信息后,通常需要通过插值的方式来平滑载具在本地终端上运行的游戏客户端的表现。但在插值过程中并没有考虑场景本身对远端载具的影响,从而导致出现车轮穿模等不正确的悬挂表现,尤其在载具高速运行的情况下,该问题表现尤为明显。另外,由于远端载具在游戏中运行时,游戏中的地形通常比较复杂,因此,仅通过对悬挂信息进行插值的方式也无法适应复杂的地形,从而降低了载具的真实表现。
(3)上述方案的本质为同步远端载具在远端物理仿真的结果,因此不适用于远端载具无物理仿真情形下还原载具的表现。例如,对于某些服务端控制的虚拟载具,该虚拟载具必须在规定好的线路下按照设定的速度运行,该过程没有进行任何的物理仿真,因此,本地终端上运行的游戏客户端仅能得到虚拟载具的位置和偏航角。当虚拟载具运行在坡上或者较复杂的地形上时,通过该方案得到的载具姿态和位置与实际不相符,且不存在任何逼真的悬挂表现。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种游戏信息的更新方法和装置,以至少解决现有技术在对载具的状态信息进行同步时需要同步的信息较多所导致的同步信息所消耗的流量大和耗电量增加的技术问题。
根据本发明实施例的一个方面,提供了一种游戏信息的更新方法,应用于一第二客户端,包括:接收服务器发送的第一客户端的第一状态信息,其中,第一状态信息用于描述第一客户端上基于第一操作控制的虚拟载具在游戏场景中的运动状态;根据第一状态信息确定第二状态信息,其中,第二状态信息用于描述由虚拟载具在第二客户端的游戏场景中待呈现的运动状态;基于第二状态信息在第二客户端上更新并呈现虚拟载具的相应运动状态。
进一步地,游戏信息的更新方法还包括:通过服务器获取第一客户端发送的第一状态信息,包括:获取第一客户端以预设频率发送的虚拟载具的姿态信息以及位置变化信息,其中,预设频率小于游戏运行时每秒所显示画面的频率;根据虚拟载具的姿态信息以及位置变化信息确定第一状态信息。
进一步地,第一状态信息包括:第一位置信息以及第一姿态信息。游戏信息的更新方法还包括:对位置变化信息进行线性插值计算,得到第一位置信息;对姿态信息进行球面插值计算,得到第一姿态信息。
进一步地,游戏信息的更新方法还包括:根据第一位置信息以及虚拟载具的悬挂参数确定虚拟载具的每个车轮在载具坐标系下的局部坐标信息,其中,悬挂参数包括如下至少之一:虚拟载具的车轮相对于虚拟载具的重心坐标偏移量、虚拟载具的重心相对于虚拟载具的相对位置信息、在载具坐标系下的悬挂方向;根据局部坐标信息以及第一姿态信息确定虚拟载具的第二姿态信息,以得到第二状态信息,其中,第二状态信息至少包括局部坐标信息以及第二姿态信息。
进一步地,游戏信息的更新方法还包括:根据第一位置信息以及第一姿态信息确定虚拟载具的线速度和角速度;根据虚拟载具的线速度和角速度得到虚拟载具的车轮转速;根据虚拟载具的车轮转速得到虚拟载具的车轮转角;根据车轮转角确定虚拟载具的第二姿态信息;根据局部坐标信息以及第二姿态信息确定第二状态信息。
根据本发明实施例的另一方面,还提供了一种游戏信息的更新方法,应用于一第二客户端,包括:接收服务器发送的第一状态信息,其中,第一状态信息用于描述由服务器模拟的虚拟载具在游戏场景中的运动状态;根据第一状态信息确定第二状态信息,其中,第二状态信息用于描述由虚拟载具在第二客户端的游戏场景中待呈现的运动状态;基于第二状态信息在第二客户端上更新并呈现虚拟载具的相应运动状态。
进一步地,第一状态信息包括如下至少之一:虚拟载具的姿态信息以及虚拟载具的位置变化信息,虚拟载具的姿态信息至少包括:虚拟载具的偏航角、俯仰角以及翻滚角,游戏信息的更新方法还包括:接收服务器以预设频率发送的偏航角以及位置变化信息,其中,预设频率小于游戏运行时每秒所显示画面的频率;对位置变化信息进行线性插值计算,得到第二位置信息。
进一步地,游戏信息的更新方法还包括:根据虚拟载具的悬挂参数确定虚拟载具的每个车轮在悬挂方向上的地形信息;对第二位置信息进行矫正处理,得到虚拟载具的第三位置信息;根据第三位置信息以及地形信息确定虚拟载具的局部坐标信息;基于载具的局部坐标信息以及偏航角确定虚拟载具的第二姿态信息;根据局部坐标信息以及第二姿态信息确定虚拟载具的第二状态信息。
进一步地,游戏信息的更新方法还包括:获取每个车轮与第二位置信息在悬挂方向的距离;计算所有车轮的距离的平方和;将平方和最小时对应的悬挂位置对第二位置信息进行矫正处理,得到第三位置信息。
进一步地,游戏信息的更新方法还包括:确定虚拟载具所在的平面;根据平面以及偏航角对第二位置信息进行矫正处理,得到第三位置信息;根据虚拟载具的悬挂参数确定虚拟载具的每个车轮在悬挂方向上的地形信息;根据第三位置信息以及地形信息确定虚拟载具的局部坐标信息;基于载具的局部坐标信息以及偏航角确定虚拟载具的第二姿态信息;基于局部坐标信息以及第二姿态信息确定虚拟载具的第二状态信息。
进一步地,游戏信息的更新方法还包括:根据第二位置信息以及第二姿态信息确定虚拟载具的线速度和角速度;根据虚拟载具的线速度和角速度得到虚拟载具的车轮转速;根据虚拟载具的车轮转速得到虚拟载具的车轮转角;根据车轮转角确定虚拟载具的第二姿态信息;根据局部坐标信息以及第二姿态信息确定虚拟载具的第二状态信息。
根据本发明实施例的另一方面,还提供了一种游戏信息的更新装置,应用于一第二客户端,包括:第一接收模块,用于接收服务器发送的第一客户端的第一状态信息,其中,第一状态信息用于描述第一客户端上基于第一操作控制的虚拟载具在游戏场景中的运动状态;第一确定模块,用于根据第一状态信息确定第二状态信息,其中,第二状态信息用于描述虚拟载具在第二客户端的游戏场景中待呈现的运动状态;第一更新模块,用于基于第二状态信息在第二客户端上更新并呈现虚拟载具的相应运动状态。
根据本发明实施例的另一方面,还提供了一种游戏信息的更新装置,应用于一第二客户端,包括:第二接收模块,用于接收服务器发送的第一状态信息,其中,第一状态信息用于描述由服务器模拟的虚拟载具在游戏场景中的运动状态;第二确定模块,用于根据第一状态信息确定第二状态信息,其中,第二状态信息用于描述由第二客户端的游戏场景中待呈现的运动状态;第二更新模块,用于基于第二状态信息在第二客户端上更新并呈现虚拟载具的相应运动状态。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的游戏信息的更新方法。
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行上述的游戏信息的更新方法。
在本发明实施例中,采用在第二客户端(即本地终端上运行的游戏客户端)上对载具的运动状态进行更新的方式,在获取到虚拟载具在第一客户端基于第一操作控制的虚拟载具在游戏场景中的第一状态信息之后,根据第一状态信息确定虚拟载具在第二客户端上呈现的第二状态信息,并基于第二状态信息在第二客户端上对虚拟载具的运动状态进行更新。
容易注意到的是,在本申请中仅需要对虚拟载具的运动状态在第二客户端上进行同步即可实现第一客户端上的虚拟载具的运动状态的同步,无需其他的同步信息,从而降低了同步信息所消耗的流量。另外,第二客户端可以对第一客户端的第一状态信息进行处理,还可对由服务器模拟的虚拟载具在游戏场景中的第一状态信息进行处理,从而提高了服务器端控制的虚拟载具在第二客户端上表现的真实性。
由此可见,本申请所提供的方案达到了对虚拟载具的运动状态进行更新的目的,从而实现了降低了同步信息所消耗的流量的技术效果,进而解决了现有技术在对载具的状态信息进行同步时需要同步的信息较多所导致的同步信息所消耗的流量大的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种游戏信息的更新方法流程图;
图2是根据本发明实施例的一种可选的游戏信息的更新方法流程图;
图3是根据本发明实施例的一种游戏信息的更新方法流程图;
图4是根据本发明实施例的一种可选的游戏信息的更新方法流程图;
图5是根据本发明实施例的一种游戏信息的更新装置示意图;以及
图6是根据本发明实施例的一种游戏信息的更新装置示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种游戏信息的更新方法实施例,需要说明的是,执行本实施例的游戏信息的更新方法的执行主体可以为客户端,其中,该客户端为当前玩家所控制的本地终端上运行的游戏客户端,本地终端可以是PC端、移动端、主机端等等,本实施例不局限于此。在该场景下,由本地终端上的第二客户端获取远程终端上运行的第一客户端发送的第一状态信息,并对第一状态信息进行处理,然后根据处理结果得到虚拟载具在第二客户端上的运动状态(即第二状态信息),并进行展示。在本申请中以本地终端上运行的第二客户端为执行主体进行说明。
此外,还需要说明的是,在本申请中,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的游戏信息的更新方法流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收服务器发送的第一客户端的第一状态信息,其中,第一状态信息用于描述第一客户端上基于第一操作控制的虚拟载具在游戏场景中的运动状态。
需要说明的是,在步骤S102中,第一客户端为远程终端上运行的游戏客户端,虚拟载具为第一客户端在用户的触控操作下所控制的虚拟对象,可选的,虚拟载具可以为但不限于汽车、飞机、坦克等。另外,上述运动状态可以包括姿态信息以及位置变化信息,其中,第一状态信息包括如下至少之一:虚拟载具的姿态信息以及虚拟载具的位置变化信息,其中,虚拟载具的姿态信息至少包括:偏航角、俯仰角以及翻滚角。
在一种可选的实施例中,在大多数情形下,第二客户端(即本地终端上运行的游戏客户端)的交互界面的可见区域内可同时显示多个虚拟载具,而这些虚拟载具中通常只有一个虚拟载具是由主玩家(即控制第二客户端的玩家)来控制的。为保证操作和虚拟载具表现的逼真程度,主玩家控制的虚拟载具需要实时地进行物理仿真,而出于效率和一致性的考虑,远端玩家(即控制第一客户端的玩家)所控制的虚拟载具的状态通常基于同步的载具状态信息在第二客户端上进行更新。
步骤S104,根据第一状态信息确定第二状态信息,其中,第二状态信息用于描述虚拟载具在第二客户端的游戏场景中待呈现的运动状态。
在一种可选的实施例中,第二客户端通过对相邻的两帧第一状态信息进行处理,计算得到虚拟载具的线速度、角速度,以及虚拟载具的车轮转速。然后对虚拟载具的最新姿态与位置变化信息进行适当的插值,使得在信息同步频率较低的情况下,虚拟载具能够表现得平滑。同时在插值过程中基于车轮转速可估计出车轮转角,并根据虚拟载具的悬挂参数,利用射线检测出地形信息。然后再利用地形信息以及车轮转角,计算车轮在载具坐标系下的局部坐标和姿态,从而真实地还原出虚拟载具的悬挂表现,即得到的虚拟载具的第二状态信息。
步骤S106,基于第二状态信息在第二客户端上更新并呈现虚拟载具的相应运动状态。
在一种可选的实施例中,第二客户端在得到第二状态信息之后,自动在第二客户端上对虚拟载具的运动状态进行更新,并在第二客户端的交互界面显示状态更新后的虚拟载具,使得虚拟载具在第二客户端上的表现更加真实。
基于上述步骤S102至步骤S106所限定的方案,可以获知,采用在第二客户端上对载具状态信息进行更新的方式,在获取到虚拟载具在第一客户端基于第一操作控制的虚拟载具在游戏场景中的第一状态信息之后,根据第一状态信息确定虚拟载具在第二客户端上呈现的第二状态信息,并基于第二状态信息在第二客户端上对虚拟载具的运动状态进行状态更新。
容易注意到的是,在本申请中仅需要对虚拟载具的运动状态在第二客户端上进行同步即可实现第一客户端上的虚拟载具的运动状态的同步,无需其他的同步信息,从而降低了同步信息所消耗的流量。
由此可见,本申请所提供的方案达到了对虚拟载具的状态信息进行更新的目的,从而实现了降低了同步信息所消耗的流量的技术效果,进而解决了现有技术在对载具的状态信息进行同步时需要同步的信息较多所导致的同步信息所消耗的流量大的技术问题。
在一种可选的实施例中,第二客户端可通过服务器获取第一客户端发送的第一状态信息。具体的,第二客户端首先获取第一客户端以预设频率发送的虚拟载具的姿态信息以及位置变化信息,然后再根据虚拟载具的姿态信息以及位置变化信息确定第一状态信息。其中,预设频率小于游戏运行时每秒所显示画面的频率。
可选的,第一客户端首先以较低的预设频率向服务器发送虚拟载具的姿态信息以及位置变化信息,然后服务器再以预设频率将虚拟载具的姿态信息以及位置变化信息发送至第二客户端,进而第二客户端再根据虚拟载具的姿态信息以及位置变化信息确定第一状态信息。在上述过程中,第一客户端发送姿态信息以及位置变化信息的频率低于游戏运行时每秒所显示画面的频率,例如,游戏运行时每秒所显示画面的频率为30帧/s,而预设频率可以为10帧/s。
需要说明的是,第一客户端以较低的预设频率通过服务器将第一状态信息发送至第二客户端,可以降低高频同步的流量和电量,从而避免了高频同步所导致的流量增大和电量增大的问题。
在一种可选的实施例中,第一状态信息包括:第一位置信息以及第一姿态信息。在获取到第一客户端发送的姿态信息以及位置变化信息之后,进一步根据虚拟载具的姿态信息以及位置变化信息确定第一状态信息。具体的,第二客户端对位置变化信息进行线性插值计算,得到第一位置信息,然后对姿态信息进行球面插值计算,得到第一姿态信息。
需要说明的是,在上述过程中第二客户端获取的是相邻两帧的姿态信息以及位置变化信息,其中,第一客户端以预设频率向第二客户端发送第一状态信息。
此外,还需要说明的是,由于虚拟载具的状态信息同步的频率比较低,如果直接使用虚拟载具的状态信息来更新第二客户端上的虚拟载具的运动状态,则可能出现明显的闪现和卡顿现象,因此第二客户端需要在两次收到的第一状态信息之间进行频率更高的插值,使得虚拟载具的位移和旋转更加平滑。其中,第二客户端可根据接收到的位置变化信息对虚拟载具的位置进行线性插值,具体的,可以采用如下公式实现虚拟载具的位置的插值:
Figure BDA0002335760280000081
在上式中,p为虚拟载具的第一位置信息,t为当前插值操作的时间,tk为上一次收到第一状态消息的时间,tk+1为当前收到第一状态消息的时间,pk和pk+1分别为上一次和当前的虚拟载具的位置。
另外,由于虚拟载具的姿态无法进行简单的线性插值,需要使用简单高效的球面插值,以获得更好的效果。具体的,第二客户端根据收到的姿态信息对虚拟载具的姿态进行球面插值,具体的,可以采用如下公式实现虚拟载具的姿态的插值:
Figure BDA0002335760280000082
在上式中,q=(x,y,z,w)为虚拟载具的姿态信息的四元数表示,qk和qk+1分别为第二客户端上一次和当前收到的虚拟载具的姿态信息。
进一步地,在得到了虚拟载具的第一状态信息之后,第二客户端根据第一状态信息确定第二状态信息。具体的,第二客户端根据第一位置信息以及虚拟载具的悬挂参数确定虚拟载具的每个车轮在载具坐标系下的局部坐标信息,然后再根据局部坐标信息以及第一姿态信息确定虚拟载具的第二姿态信息,以得到第二状态信息,其中,悬挂参数包括如下至少之一:虚拟载具的车轮相对于虚拟载具的重心坐标偏移量、虚拟载具的重心相对于虚拟载具的相对位置信息、在载具坐标系下的悬挂方向,第二状态信息至少包括局部坐标信息以及第二姿态信息。
可选的,第二客户端可通过射线的方式获取每个车轮悬挂方向的地形信息,如下式所示:
pi,i=1,...,n
在得到地形信息之后,第二客户端根据局部坐标信息以及第一姿态信息确定虚拟载具的第二状态信息。具体的,根据第一位置信息以及第一姿态信息确定虚拟载具的线速度和角速度,然后根据虚拟载具的线速度和角速度得到虚拟载具的车轮转速,并根据虚拟载具的车轮转速得到虚拟载具的车轮转角,进而根据车轮转角确定虚拟载具的第二姿态信息,最后根据局部坐标信息以及第二姿态信息确定第二状态信息。
可选的,第二客户端在通过插值得到虚拟载具的位置变化信息以及姿态信息之后,还确定虚拟载具的线速度和角速度,如下式所示:
Figure BDA0002335760280000091
在上式中,tpre为第二客户端上一次对虚拟载具进行插值的时间,p为第二客户端本次插值计算得到的位置,ppre为第二客户端上一次插值计算得到的位置,w为虚拟载具的角速度,θ和θpre分别为本次插值的偏航角和上一次插值的偏航角。其中,偏航角可以根据载具姿态q进行确认,如下式:
θ=arcsin(2(wy-zx))
进一步地,第二客户端根据虚拟载具的线速度和角速度确定虚拟载具的车轮转速,如下式:
Figure BDA0002335760280000092
在上式中,wi和w′i分别为虚拟载具对称两侧第i个车轮的转速,ri和r′i分别为两个车轮的半径,di为两个车轮的距离。
更进一步地,在确定了车轮转速之后,即可确定车轮转角,使得车轮像正常的物理更新一样可进行转动,具体公式如下:
Figure BDA0002335760280000093
在上式中,Δωi为两次插值之间车轮转角的变化量,而
Figure BDA0002335760280000094
为上一次插值时车轮的转速。
需要说明的是,在物理仿真时,悬挂不仅会影响车轮转速、车轮转角还会影响车轮相对于虚拟载具的局部位置和姿态,因此,第二客户端还需要对车轮在载具坐标系下局部坐标信息进行估计,具体公式如下:
plocal=pcenter+pw-hdsusp
在上式中,pw为车轮相对于虚拟载具重心的坐标偏移量,pcenter为虚拟载具重心相对于虚拟载具的局部坐标,dsusp为载具坐标系下的悬挂方向,h为悬挂的变化量。其中,悬挂的变化量h满足下式:
h=min(max(hnormal-||ps-pg-p||,-hdrop),hcomp)
在上式中,ps为载具坐标系下悬挂的起点,pg为与悬挂方向等价直线与地面的交点,可以通过朝悬挂方向发射线的方式确定,hnormal为自然状态下悬挂的长度,hcom为悬挂的最大压缩量,hdrop为悬挂的最大拉伸量。其中,当h为正值时悬挂处于压缩状态;当h为正值时,悬挂处于拉伸状态。
在一种可选的实施例中,图2示出了本实施例所提供的游戏信息的更新方法流程图,由图2所示,在该方法中,第二客户端在接收到虚拟载具的第一状态信息之后,对虚拟状态的位置变化信息进行插值计算,对姿态信息进行球面插值计算,并计算虚拟载具的线速度、角速度、车轮转速以及车轮转角,最后计算载具坐标系下的局部坐标,得到虚拟载具的第二状态信息,进而第二客户端可根据第二状态信息对虚拟载具的运动状态进行更新。
由上述内容可知,本申请提出的方法仅需获取低频同步的载具姿态和位置信息,无需同步复杂的悬挂信息,集合模拟出具有流畅的运行、逼真的悬挂等特性的虚拟载具,并对第一状态信息的大小和频率要求较低,显著地降低了同步带来的流量开销和电量消耗,使得多个虚拟载具不再成为移动平台上的瓶颈。另外,虚拟载具的悬挂状态基于场景真实地形进行实时估计,使得在低频同步载具部分状态信息情况下,悬挂表现仍旧足够平滑。同时,由于考虑了场景地形的因素,因此,虚拟载具的悬挂表现与真实的物理仿真结果更为接近,从而通过较低的性能消耗,也可获得品质较高的载具表现。
实施例2
根据本发明实施例,还提供了一种游戏信息的更新方法实施例,需要说明的是,在某些情况下虚拟载具并非由第一客户端(即远程终端上运行的游戏客户端)控制,此时第一客户端不会对虚拟载具进行物理仿真,因此,无法获取虚拟载具的姿态信息,例如,服务器端控制的虚拟载具,在该场景下,通常通过导航网络规划虚拟载具的运行路线,从而确定虚拟载具每一时刻的位置和运行方向。在该场景下,能够得到的信息仅有虚拟载具的位置和偏航角。除此之外,导航网络通常只是真实地形可行走区域的一种粗糙表达,直接使用虚拟载具的位置信息可能出现悬空或者穿地等不符合物理的表现,还需要对虚拟载具的位置信息进行矫正。本实施例所提供的游戏信息的更新方法可有效解决上述问题。
其中,图3是根据本发明实施例的游戏信息的更新方法流程图,如图3所示,该方法应用于一第二客户端,具体包括如下步骤:
步骤S302,接收服务器发送的第一状态信息,其中,第一状态信息用于描述由服务器模拟的虚拟载具在游戏场景中的运动状态。
需要说明的是,在步骤S302中,虚拟载具为服务器模拟的在游戏场景中的虚拟对象,可选的,虚拟载具可以为但不限于汽车、飞机、坦克等。另外,第一状态信息包括如下至少之一:虚拟载具的姿态信息以及虚拟载具的位置变化信息,其中,虚拟载具的姿态信息至少包括:偏航角、俯仰角以及翻滚角。
可选的,服务器以预设频率向第二客户端发送虚拟载具的第一状态信息,其中,预设频率小于游戏运行时每秒所显示画面的频率,例如,游戏运行时每秒所显示画面的频率为30帧/s,则预设频率可以为10帧/s。
步骤S304,根据第一状态信息确定第二状态信息,其中,第二状态信息用于描述由虚拟载具在第二客户端的游戏场景中待呈现的运动状态。
在一种可选的实施例中,第二客户端通过对相邻的两帧第一状态信息进行处理,计算得到虚拟载具的线速度、角速度,以及虚拟载具的车轮转速。然后对虚拟载具的最新姿态与位置变化信息进行适当的插值,使得在信息同步频率较低的情况下,虚拟载具能够表现得平滑。同时在插值过程中基于车轮转速可估计出车轮转角,并根据虚拟载具的悬挂参数,利用射线检测出地形信息。然后再针对效率优先和效果优先两种需求下,分别建立两种优化模型。最后通过求解模型得到合理的虚拟载具姿态,并矫正虚拟载具的位置,从而使得该场景下,还原出流畅逼真的虚拟载具。
步骤S306,基于第二状态信息在第二客户端上更新并呈现虚拟载具的相应运动状态。
在一种可选的实施例中,第二客户端在得到第二状态信息之后,自动在第二客户端上对虚拟载具的状态进行更新,并在第二客户端的交互界面显示状态更新后的虚拟载具的运动状态,使得虚拟载具的运动状态在第二客户端上的表现更加真实。
基于上述步骤S302至步骤S306所限定的方案,可以获知,采用在第二客户端上对载具的运动状态进行更新的方式,在获取到服务器发送的虚拟载具在服务器上模拟的第一状态信息之后,根据第一状态信息确定虚拟载具在第二客户端上呈现的第二状态信息,并基于第二状态信息在第二客户端上对虚拟载具的运动状态进行更新。
容易注意到的是,在本申请中仅需要对虚拟载具的最新姿态与位置变化信息在第二客户端上进行同步即可实现虚拟载具的运动状态的同步,无需其他的同步信息,从而降低了同步信息所消耗的流量。另外,第二客户端可以对服务器发送的第一状态信息进行处理,从而提高了服务器端控制的虚拟载具在第二客户端上表现的真实性。
由此可见,本申请所提供的方案达到了对虚拟载具的状态信息进行更新的目的,从而实现了降低了同步信息所消耗的流量的技术效果,进而解决了现有技术在对载具的状态信息进行同步时需要同步的信息较多所导致的同步信息所消耗的流量大的技术问题。
在一种可选的实施例中,第一状态信息包括如下至少之一:虚拟载具的姿态信息以及虚拟载具的位置变化信息,虚拟载具的姿态信息至少包括:虚拟载具的偏航角、俯仰角以及翻滚角,其中,在第二客户端上更新虚拟载具的运动状态之前,第二客户端需接收服务器发送的第一状态信息。具体的,第二客户端首先接收服务器以预设频率发送的偏航角以及位置变化信息,然后对位置变化信息进行线性插值计算,得到第二位置信息。
可选的,第二客户端根据收到的位置变化信息对虚拟载具的位置进行线性插值,具体的,可以采用如下公式实现虚拟载具的位置的插值:
Figure BDA0002335760280000121
在上式中,p为虚拟载具的第二位置信息,t为当前插值操作的时间,tk为上一次收到第一状态消息的时间,tk+1为当前收到第一状态消息的时间,pk和pk+1分别为上一次和当前的虚拟载具的位置。
进一步地,在得到了虚拟载具的第一状态信息之后,第二客户端根据第一状态信息确定第二状态信息。具体的,第二客户端根据虚拟载具的悬挂参数确定虚拟载具的每个车轮在悬挂方向上的地形信息,并对第二位置信息进行矫正,得到虚拟载具的第三位置信息,然后根据第三位置信息以及地形信息确定虚拟载具的局部坐标信息,并基于虚拟载具的局部坐标信息以及偏航角确定载具的第二姿态信息,最后局部坐标信息以及基于第二姿态信息确定虚拟载具的第二状态信息。
可选的,第二客户端可通过射线的方式获取每个车轮悬挂方向的地形信息,如下式所示:
pi,i=1,...,n
在得到地形信息之后,第二客户端根据第二位置信息以及地形信息确定虚拟载具的车轮在局部坐标信息。其中,确定载具的局部坐标信息可等价于确定世界坐标系下虚拟载具的姿态。可选的,第二客户端根据获得的相关地形信息,可得到载具的局部坐标系为:
Figure BDA0002335760280000131
进一步地,在确定了虚拟载具的局部坐标信息之后,第二客户端对第二位置信息进行矫正处理,得到载具的第三位置信息。具体的,第二客户端获取每个车轮与第二位置信息在悬挂方向的距离,然后计算所有车轮的距离的平方和,最后将平方和最小时对应的悬挂位置对第二位置信息进行矫正处理,得到第三位置信息。
需要说明的是,对虚拟载具的位置进行矫正,在不考虑悬挂拉伸或者压缩差异的情况下,载具坐标p应与所有点pi共面,即对所有点pi满足如下条件:
(p-pi)·y=0
其中,在理想情况下上述条件才能够得到满足,但在通常情况下,地形比较复杂,上述条件并不能够严格的满足,因此,需要确定一个合理的位置p尽可能地满足上述条件,一种合理的方案是选择p到所有点pi在悬挂方向距离平方之和最小,即
Figure BDA0002335760280000132
在上式中,其中n为车轮个数,通常,p的坐标分量x=x0以及z=z0已知,需要对坐标分量y进行矫正,即求解
Figure BDA0002335760280000133
其中xi,yi,zi分别为pi的坐标分量,xN,yN,zN为y的坐标分量。上述优化目标等价为二次函数的极值问题,因此可求得下式:
Figure BDA0002335760280000141
其中,当yN=0时,虚拟载具处于颠翻状态,在该情况下虚拟载具无法正常运行,因此,无需再进行姿态计算和位置矫正。
需要说明的是,上述求解虚拟载具的姿态信息的方法可高效的求解虚拟载具的姿态信息,并对虚拟载具的位置变化信息进行矫正,但需选取3个车轮的信息来确定虚拟载具的局部坐标,在某些情况下无法保证3个车轮处于合法的状态,例如,选中的车轮悬挂方向的地形处于悬挂的极限之外。尽管可以通过从合法的车轮中筛选来避免,但没有综合考虑所有信息对虚拟载具的姿态信息的影响,因此仍旧具有一定的局限性。对此,本申请还提供了另一种估算虚拟载具的姿态信息的方案,该方案与上述方案相比,能够使虚拟载具具有更加优良的表现,但由于需要求解四元方程,因此,增加了计算量。
具体的,第二客户端首先确定虚拟载具所在的平面,并根据平面以及偏航角对第二位置信息进行矫正处理,得到第三位置信息,然后根据虚拟载具的悬挂参数确定虚拟载具的每个车轮在悬挂方向上的地形信息,根据第三位置信息以及地形信息确定载具的局部坐标信息,并基于载具的局部坐标信息以及偏航角确定载具的第二姿态信息,最后基于局部坐标信息以及第二姿态信息确定虚拟载具的第二状态信息。
可选的,在理想情况下存在一个平面满足下式:
N·pi+D=0,i=1,Λ,n
在上式中,N为平面的法向量,D为常数。同样上述条件在大多数情况下,并不一定能够得到满足,故可选取平面
Figure BDA0002335760280000142
进一步整理可得
Figure BDA0002335760280000143
其中,Nx,Ny,Nz为N的各个分量。针对问题上述问题,易知
Figure BDA0002335760280000151
Figure BDA0002335760280000156
Figure BDA0002335760280000152
Figure BDA0002335760280000153
通过求解上述四元线性方程组即可确定虚拟载具所在的平面,从而对虚拟载具进行位置矫正:
Figure BDA0002335760280000154
由于载具的偏航角θ已知,因此,可得到虚拟载具的局部坐标信息为:
Figure BDA0002335760280000155
其中z′为姿态矫正前载具局部坐标系的z轴。
可选的,图4示出了本实施例所提供的游戏信息的更新方法流程图,由图4所示,第二客户端在得到虚拟载具的位置变化信息以及偏航角信息之后,对位置变化信息进行位置插值,并获取所需的地形信息,然后再根据效率优先或载具表现优先来确定求解姿态信息的方案,其中,在确定效率优先的场景下,选取三个合理的地形信息来求解虚拟载具的姿态信息,并对虚拟载具的位置变化信息进行矫正;在确定载具表现优先的场景下,利用地形信息求解虚拟载具的姿态信,并对虚拟载具的位置变化信息进行矫正。最后,确定了虚拟载具的姿态信息之后,第二客户端进一步对虚拟载具的悬挂进行相应的估计。
具体的,第二客户端根据第二位置信息以及第二姿态信息确定虚拟载具的线速度和角速度,并根据虚拟载具的线速度和角速度得到虚拟载具的车轮转速,然后再根据虚拟载具的车轮转速得到虚拟载具的车轮转角,最后根据地形信息以及车轮转角确定虚拟载具的车轮在载具坐标系下的局部坐标信息。
需要说明的是,该过程与实施例1中的过程一致,相关内容已在实施例1中进行说明,在此不再赘述。
由上述内容可知,本申请提出的方法仅需获取低频同步的载具姿态和位置信息,无需同步复杂的悬挂信息,集合模拟出具有流畅的运行、逼真的悬挂等特性的虚拟载具,并对第一状态信息的大小和频率要求较低,显著地降低了同步带来的流量开销和电量消耗,使得多个虚拟载具不再成为移动平台上的瓶颈。另外,虚拟载具的悬挂状态基于场景真实地形进行实时估计,使得在低频同步载具部分状态信息情况下,悬挂表现仍旧足够平滑。同时,由于考虑了场景地形的因素,因此,虚拟载具的悬挂表现与真实的物理仿真结果更为接近,从而通过较低的性能消耗,也可获得品质较高的载具表现。
最后,本实施例针对仅有载具俯仰角和粗略位置信息的情况,能够较为真实地估计出虚拟载具的悬挂状态和姿态。除此之外本实施例所提供的方法能够对载具位置进行矫正,从而避免虚拟载具出现悬空、穿地等不符合物理的现象。对于位置信息不过度依赖,也降低了第一客户端对地形信息严格一致的要求,使得服务端通过导航网格来控制虚拟载具等方案能有用武之地。
实施例3
根据本发明实施例,还提供了一种游戏信息的更新装置实施例,其中,图5是根据本发明实施例的游戏信息的更新装置示意图,如图5所示,该装置包括:第一接收模块701、第一确定模块703以及第一更新模块705。
其中,第一接收模块701,用于接收服务器发送的第一客户端的第一状态信息,其中,第一状态信息用于描述第一客户端上基于第一操作控制的虚拟载具在游戏场景中的运动状态;第一确定模块703,用于根据第一状态信息确定第二状态信息,其中,第二状态信息用于描述虚拟载具在第二客户端的游戏场景中待呈现的运动状态;第一更新模块705,用于基于第二状态信息在第二客户端上更新并呈现虚拟载具的相应运动状态。
此处,需要说明的是,上述第一接收模块701、第一确定模块703以及第一更新模块705对应于上述实施例的步骤S102至步骤S106,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。
还需要说明的是,游戏信息的更新装置可执行实施例1所提供的游戏信息的更新方法,相关内容已在实施例1中进行说明,在此不再赘述。
实施例4
根据本发明实施例,还提供了一种游戏信息的更新装置实施例,其中,图6是根据本发明实施例的游戏信息的更新装置示意图,如图6所示,该装置包括:第二接收模块801、第二确定模块803以及第二更新模块805。
其中,第二接收模块801,用于接收服务器发送的第一状态信息,其中,第一状态信息用于描述由服务器模拟的虚拟载具在游戏场景中的运动状态;第二确定模块803,用于根据第一状态信息确定第二状态信息,其中,第二状态信息用于描述由第二客户端的游戏场景中待呈现的运动状态;第二更新模块805,用于基于第二状态信息在第二客户端上更新并呈现虚拟载具的相应运动状态。
此处,需要说明的是,上述第二接收模块801、第二确定模块803以及第二更新模块805对应于上述实施例的步骤S302至步骤S306,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。
还需要说明的是,游戏信息的更新装置可执行实施例2所提供的游戏信息的更新方法,相关内容已在实施例2中进行说明,在此不再赘述。
实施例5
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的游戏信息的更新方法。
实施例6
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行上述的游戏信息的更新方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种游戏信息的更新方法,其特征在于,应用于一第二客户端,包括:
接收服务器发送的第一客户端的第一状态信息,其中,所述第一状态信息用于描述所述第一客户端上基于第一操作控制的虚拟载具在游戏场景中的运动状态;
根据所述第一状态信息确定第二状态信息,其中,所述第二状态信息用于描述所述虚拟载具在所述第二客户端的所述游戏场景中待呈现的运动状态;
基于所述第二状态信息在所述第二客户端上更新并呈现所述虚拟载具的相应运动状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过服务器获取第一客户端发送的第一状态信息,包括:
获取所述第一客户端以预设频率发送的所述虚拟载具的姿态信息以及位置变化信息,其中,所述预设频率小于游戏运行时每秒所显示画面的频率;
根据所述虚拟载具的姿态信息以及所述位置变化信息确定第一状态信息。
3.根据权利要求2所述的方法,其特征在于,所述第一状态信息包括:第一位置信息以及第一姿态信息;
根据所述虚拟载具的姿态信息以及所述位置变化信息确定第一状态信息,包括:
对所述位置变化信息进行线性插值计算,得到第一位置信息;
对所述姿态信息进行球面插值计算,得到第一姿态信息。
4.根据权利要求3所述的方法,其特征在于,根据所述第一状态信息确定第二状态信息,包括:
根据所述第一位置信息以及所述虚拟载具的悬挂参数确定所述虚拟载具的每个车轮在载具坐标系下的局部坐标信息,其中,所述悬挂参数包括如下至少之一:所述虚拟载具的车轮相对于所述虚拟载具的重心坐标偏移量、所述虚拟载具的重心相对于所述虚拟载具的相对位置信息、在载具坐标系下的悬挂方向;
根据所述局部坐标信息以及所述第一姿态信息确定所述虚拟载具的第二姿态信息,以得到所述第二状态信息,其中,所述第二状态信息至少包括所述局部坐标信息以及所述第二姿态信息。
5.根据权利要求4所述的方法,其特征在于,根据所述局部坐标信息以及所述第一姿态信息确定所述虚拟载具的第二姿态信息,以得到第二状态信息,包括:
根据所述第一位置信息以及所述第一姿态信息确定所述虚拟载具的线速度和角速度;
根据所述虚拟载具的线速度和角速度得到所述虚拟载具的车轮转速;
根据所述虚拟载具的车轮转速得到所述虚拟载具的车轮转角;
根据所述车轮转角确定所述虚拟载具的第二姿态信息;
根据所述局部坐标信息以及所述第二姿态信息确定所述第二状态信息。
6.一种游戏信息的更新方法,其特征在于,应用于一第二客户端,包括:
接收服务器发送的第一状态信息,其中,所述第一状态信息用于描述由所述服务器模拟的虚拟载具在游戏场景中的运动状态;
根据所述第一状态信息确定第二状态信息,其中,所述第二状态信息用于描述由所述虚拟载具在所述第二客户端的游戏场景中待呈现的运动状态;
基于所述第二状态信息在所述第二客户端上更新并呈现所述虚拟载具的相应运动状态。
7.根据权利要求6所述的方法,其特征在于,所述第一状态信息包括如下至少之一:所述虚拟载具的姿态信息以及所述虚拟载具的位置变化信息,所述虚拟载具的姿态信息至少包括:所述虚拟载具的偏航角、俯仰角以及翻滚角,其中,接收服务器发送的第一状态信息,包括:
接收所述服务器以预设频率发送的所述偏航角以及所述位置变化信息,其中,所述预设频率小于游戏运行时每秒所显示画面的频率;
对所述位置变化信息进行线性插值计算,得到第二位置信息。
8.根据权利要求7所述的方法,其特征在于,根据所述第一状态信息确定第二状态信息,包括:
根据所述虚拟载具的悬挂参数确定所述虚拟载具的每个车轮在悬挂方向上的地形信息;
对所述第二位置信息进行矫正处理,得到所述虚拟载具的第三位置信息;
根据所述第三位置信息以及所述地形信息确定所述虚拟载具的局部坐标信息;
基于所述载具的局部坐标信息以及所述偏航角确定所述虚拟载具的第二姿态信息;
根据所述局部坐标信息以及所述第二姿态信息确定所述虚拟载具的第二状态信息。
9.根据权利要求8所述的方法,其特征在于,对所述第二位置信息进行矫正处理,得到所述虚拟载具的第三位置信息,包括:
获取每个车轮与所述第二位置信息在悬挂方向的距离;
计算所有车轮的所述距离的平方和;
将所述平方和最小时对应的悬挂位置对所述第二位置信息进行矫正处理,得到所述第三位置信息。
10.根据权利要求7所述的方法,其特征在于,根据所述第一状态信息确定第二状态信息,包括:
确定所述虚拟载具所在的平面;
根据所述平面以及所述偏航角对所述第二位置信息进行矫正处理,得到第三位置信息;
根据所述虚拟载具的悬挂参数确定所述虚拟载具的每个车轮在悬挂方向上的地形信息;
根据所述第三位置信息以及所述地形信息确定所述虚拟载具的局部坐标信息;
基于所述载具的局部坐标信息以及所述偏航角确定所述虚拟载具的第二姿态信息;
基于所述局部坐标信息以及所述第二姿态信息确定所述虚拟载具的第二状态信息。
11.根据权利要求8或10所述的方法,其特征在于,根据所述局部坐标信息以及所述第二姿态信息确定所述虚拟载具的第二状态信息,包括:
根据所述第二位置信息以及所述第二姿态信息确定所述虚拟载具的线速度和角速度;
根据所述虚拟载具的线速度和角速度得到所述虚拟载具的车轮转速;
根据所述虚拟载具的车轮转速得到所述虚拟载具的车轮转角;
根据所述车轮转角确定所述虚拟载具的第二姿态信息;
根据所述局部坐标信息以及所述第二姿态信息确定所述虚拟载具的第二状态信息。
12.一种游戏信息的更新装置,其特征在于,应用于一第二客户端,包括:
第一接收模块,用于接收服务器发送的第一客户端的第一状态信息,其中,所述第一状态信息用于描述所述第一客户端上基于第一操作控制的虚拟载具在游戏场景中的运动状态;
第一确定模块,用于根据所述第一状态信息确定第二状态信息,其中,所述第二状态信息用于描述所述虚拟载具在所述第二客户端的所述游戏场景中待呈现的运动状态;
第一更新模块,用于基于所述第二状态信息在所述第二客户端上更新并呈现所述虚拟载具的相应运动状态。
13.一种游戏信息的更新装置,其特征在于,应用于一第二客户端,包括:
第二接收模块,用于接收服务器发送的第一状态信息,其中,所述第一状态信息用于描述由所述服务器模拟的虚拟载具在游戏场景中的运动状态;
第二确定模块,用于根据所述第一状态信息确定第二状态信息,其中,所述第二状态信息用于描述由所述第二客户端的游戏场景中待呈现的运动状态;
第二更新模块,用于基于所述第二状态信息在所述第二客户端上更新并呈现所述虚拟载具的相应运动状态。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至11中任意一项所述的游戏信息的更新方法。
15.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至11中任意一项所述的游戏信息的更新方法。
CN201911355382.9A 2019-12-25 2019-12-25 游戏信息的更新方法和装置 Pending CN111084989A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911355382.9A CN111084989A (zh) 2019-12-25 2019-12-25 游戏信息的更新方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911355382.9A CN111084989A (zh) 2019-12-25 2019-12-25 游戏信息的更新方法和装置

Publications (1)

Publication Number Publication Date
CN111084989A true CN111084989A (zh) 2020-05-01

Family

ID=70397162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911355382.9A Pending CN111084989A (zh) 2019-12-25 2019-12-25 游戏信息的更新方法和装置

Country Status (1)

Country Link
CN (1) CN111084989A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111603766A (zh) * 2020-06-29 2020-09-01 上海完美时空软件有限公司 虚拟载具的控制方法及装置、存储介质、电子装置
CN112642147A (zh) * 2020-12-24 2021-04-13 网易(杭州)网络有限公司 游戏控制方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108429793A (zh) * 2018-02-11 2018-08-21 鲸彩在线科技(大连)有限公司 载具物理模拟方法、系统、客户端、电子设备以及服务器
CN109847361A (zh) * 2019-02-27 2019-06-07 腾讯科技(深圳)有限公司 运动状态的同步方法和装置、存储介质、电子装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108429793A (zh) * 2018-02-11 2018-08-21 鲸彩在线科技(大连)有限公司 载具物理模拟方法、系统、客户端、电子设备以及服务器
CN109847361A (zh) * 2019-02-27 2019-06-07 腾讯科技(深圳)有限公司 运动状态的同步方法和装置、存储介质、电子装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111603766A (zh) * 2020-06-29 2020-09-01 上海完美时空软件有限公司 虚拟载具的控制方法及装置、存储介质、电子装置
CN111603766B (zh) * 2020-06-29 2024-01-09 上海完美时空软件有限公司 虚拟载具的控制方法及装置、存储介质、电子装置
CN112642147A (zh) * 2020-12-24 2021-04-13 网易(杭州)网络有限公司 游戏控制方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
CN109939438B (zh) 轨迹显示方法和装置、存储介质及电子装置
US20100066866A1 (en) Apparatus and method for reducing popping artifacts for multi-level level-of-detail terrains
EP3882870B1 (en) Method and device for image display, storage medium and electronic device
US9437034B1 (en) Multiview texturing for three-dimensional models
CN105404393A (zh) 低延迟虚拟现实显示系统
CN109903366A (zh) 虚拟模型的渲染方法及装置、存储介质及电子设备
CN106780674B (zh) 镜头移动方法和装置
CN111084989A (zh) 游戏信息的更新方法和装置
US20120310610A1 (en) Program, information storage medium, information processing system, and information processing method
CN108379841B (zh) 游戏特效的处理方法、装置和终端
CN109697748A (zh) 模型压缩处理方法、模型贴图处理方法装置、存储介质
CN108429793B (zh) 载具物理模拟方法、系统、客户端、电子设备以及服务器
CN105975172A (zh) 全景视频的调整方法、装置及移动终端
CN113984068A (zh) 定位方法、定位装置和计算机可读存储介质
CN110473279A (zh) 一种天气粒子渲染方法、装置、计算机设备及存储介质
CN112827169A (zh) 游戏图像处理方法和装置、存储介质及电子设备
CN110152295B (zh) 虚拟对象的控制方法及装置、存储介质及电子设备
CN115569381A (zh) 游戏控制方法、装置、设备及存储介质
CN113274735B (zh) 模型处理方法、装置、电子设备及计算机可读存储介质
CN114219888A (zh) 三维角色动态剪影效果生成方法及装置、存储介质
CN111231826B (zh) 一种全景影像中车辆模型转向灯的控制方法、装置、系统及存储介质
CN110363860B (zh) 3d模型重建方法、装置及电子设备
CN110075525B (zh) 游戏中虚拟物体的控制方法及装置、电子设备
CN107680074A (zh) 几何重建对象的方法和设备
CN109167992A (zh) 一种图像处理方法及装置

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