CN113633989A - 游戏对象的显示控制方法、装置和电子设备 - Google Patents
游戏对象的显示控制方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113633989A CN113633989A CN202110931894.6A CN202110931894A CN113633989A CN 113633989 A CN113633989 A CN 113633989A CN 202110931894 A CN202110931894 A CN 202110931894A CN 113633989 A CN113633989 A CN 113633989A
- Authority
- CN
- China
- Prior art keywords
- state
- target object
- information
- state information
- sub
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000001960 triggered effect Effects 0.000 claims abstract description 72
- 238000012545 processing Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 abstract description 33
- 230000000694 effects Effects 0.000 description 11
- 238000013213 extrapolation Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- PUAQLLVFLMYYJJ-UHFFFAOYSA-N 2-aminopropiophenone Chemical compound CC(N)C(=O)C1=CC=CC=C1 PUAQLLVFLMYYJJ-UHFFFAOYSA-N 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002464 physical blending Methods 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
- A63F2300/643—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种游戏对象的显示控制方法、装置和电子设备;该方法包括:目标对象由第二终端设备控制;响应于指定事件被触发,通过第一终端设备上的物理引擎,生成指定事件被触发后,目标对象的第一状态信息;获取目标对象在第二终端设备中展示的第二状态信息;基于第一状态信息和第二状态信息确定目标对象的显示状态,基于显示状态显示目标对象。该方式通过第一终端设备上的物理引擎模拟目标对象的视觉效果,生成第一状态信息;同时参考第一状态信息和目标对象在第二中设备中的第二状态信息确定目标对象的显示状态,使目标对象具有符合客观物理原理的视觉表现,且对目标对象的控制方式相对统一且易于实现,提高了游戏中对象的视觉效果体验。
Description
技术领域
本发明涉及游戏技术领域,尤其是涉及一种游戏对象的显示控制方法、装置和电子设备。
背景技术
在生存类游戏或者其他类型的游戏中,玩家控制目标对象在游戏场景中移动或执行其他操作。玩家控制的目标对象可以是虚拟人物、虚拟载具等。多位玩家分别控制各自的目标对象在同一游戏场景中移动时,目标对象之间可能存在冲突、碰撞等情况。为了表现目标对象之间冲突碰撞时的视觉效果,相关技术中的一种方式,在终端设备上启动物理引擎,通过该物理引擎对终端设备控制的目标对象进行运动姿态的物理模拟,并在终端设备上渲染,但对于界面中显示的其他终端设备控制的目标对象,将该目标对象视为无穷大质量的物体,冲突碰撞后不产生相关的视觉效果,仅基于其他终端设备发送的该目标对象的快照信息控制该目标对象的移动,该方式的视觉表现与物理原理不符,游戏体验缺乏真实感。另一种方式中,在服务器上启动物理引擎,终端设备将相关信息发送至服务器,由服务器对发生冲突碰撞的每个目标对象(如前述虚拟人物、虚拟载具等)进行运动姿态的物理模拟,但该方式对服务器造成较大的运算压力,同时也导致终端设备的视觉效果发生延迟,影响游戏的整体体验。
发明内容
有鉴于此,本发明的目的在于提供一种游戏对象的显示控制方法、装置和电子设备,以使目标对象具有符合客观物理原理的视觉表现,提高游戏中对象的视觉效果体验。
第一方面,本发明实施例提供了一种游戏对象的显示控制方法,通过第一终端设备提供一图形用户界面,图形用户界面包括至少部分游戏场景,至少部分游戏场景中包括目标对象,目标对象由第一终端设备以外的第二终端设备控制;方法包括:响应于指定事件被触发,通过第一终端设备上的物理引擎,生成指定事件被触发后,目标对象的第一状态信息;获取目标对象在第二终端设备中展示的第二状态信息;基于第一状态信息和第二状态信息,确定目标对象的显示状态,基于显示状态在图形用户界面中显示目标对象。
上述响应于指定事件被触发,通过第一终端设备上的物理引擎,生成指定事件被触发后,目标对象的第一状态信息的步骤之前,方法还包括:获取目标对象在第二终端设备中展示的第三状态信息;其中,第三状态信息包括:指定事件未被触发时的状态信息;基于第三状态信息,在图形用户界面中显示目标对象。
上述基于第一状态信息和第二状态信息,确定目标对象的显示状态的步骤,包括:将指定事件被触发后的未来指定时间段划分为多个子时间段;其中,每个子时间段设置有权重参数;针对每个子时间段,基于子时间段对应的权重参数,对子时间段内的第一状态信息和第二状态信息进行加权求和处理,得到目标对象的显示状态。
上述权重参数包括第二状态信息的权重值;距离指定事件被触发的时间点越远的子时间段,对应的第二状态信息的权重值越大。
上述第一状态信息包括:指定事件被触发后的未来指定时间段内,各个时间点对应的第一状态子信息;第二状态信息包括:指定事件被触发后的未来指定时间段内,部分时间点对应的第二状态子信息;上述基于第一状态信息和第二状态信息,确定目标对象的显示状态的步骤,包括:对第二状态信息中部分时间点对应的第二状态子信息进行插值处理,得到指定事件被触发后的未来指定时间段内,各个时间点对应的第二状态子信息;针对未来指定时间段内每个时间点,对时间点对应的第一状态子信息和第二状态子信息进行加权处理,得到目标对象在时间点的显示状态。
上述对第二状态信息中部分时间点对应的第二状态子信息进行插值处理,得到指定事件被触发后的未来指定时间段内,各个时间点对应的第二状态子信息的步骤,包括:确定目标对象的移动速度;如果移动速度低于预设的速度阈值,基于第二状态信息中部分时间点对应的第二状态子信息,生成部分时间点之间各个时间点对应的第二状态子信息;如果移动速度高于或等于预设的速度阈值,基于第二状态信息中部分时间点对应的第二状态子信息,生成部分时间点之后各个时间点对应的第二状态子信息。
上述对第二状态信息中部分时间点对应的第二状态子信息进行插值处理,得到指定事件被触发后的未来指定时间段内,各个时间点对应的第二状态子信息的步骤,包括:确定目标对象的显示时延;显示时延包括:目标对象在第一终端设备与第二终端设备上展示同一状态时的时间差;如果显示时延大于预设的时延阈值,基于第二状态信息中部分时间点对应的第二状态子信息,生成部分时间点之间各个时间点对应的第二状态子信息;如果显示时延小于或等于预设的速度阈值,基于第二状态信息中部分时间点对应的第二状态子信息,生成部分时间点之后各个时间点对应的第二状态子信息。
上述方法还包括:响应于指定事件被触发,缩小目标对象的显示时延。
上述指定事件包括:目标对象发生碰撞,或者,检测到目标对象即将发生碰撞。
第二方面,本发明实施例提供了一种游戏对象的显示控制装置,通过第一终端设备提供一图形用户界面,图形用户界面包括至少部分游戏场景,至少部分游戏场景中包括目标对象,目标对象由第一终端设备以外的第二终端设备控制;装置包括:信息生成模块,用于响应于指定事件被触发,通过第一终端设备上的物理引擎,生成指定事件被触发后,目标对象的第一状态信息;信息获取模块,用于获取目标对象在第二终端设备中展示的第二状态信息;显示控制模块,用于基于第一状态信息和第二状态信息,确定目标对象的显示状态,基于显示状态在图形用户界面中显示目标对象。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述游戏对象的显示控制方法。
第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述游戏对象的显示控制方法。
本发明实施例带来了以下有益效果:
上述游戏对象的显示控制方法、装置和电子设备,游戏场景中的目标对象由第一终端设备以外的第二终端设备控制;响应于指定事件被触发,通过第一终端设备上的物理引擎,生成指定事件被触发后,目标对象的第一状态信息;获取目标对象在第二终端设备中展示的第二状态信息;基于第一状态信息和第二状态信息,确定目标对象的显示状态,基于显示状态在图形用户界面中显示目标对象。该方式中,当指定事件被触发时,通过第一终端设备上的物理引擎模拟目标对象的视觉效果,进而生成第一状态信息;在确定目标对象的显示状态时,同时参考第一状态信息和目标对象在第二中设备中的第二状态信息,从而使目标对象在触发指定事件后具有符合客观物理原理的表现,且对目标对象的控制方式相对统一,这种对目标对象的控制方式易于实现,提高了游戏中对象的视觉效果体验。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种游戏对象的显示控制方法的流程图;
图2为本发明实施例提供的第一状态信息和第二状态信息加权处理的示意图;
图3为本发明实施例提供的第二终端设备中目标对象的状态信息同步至第一终端设备的示意图;
图4为本发明实施例提供的一种游戏对象的显示控制装置的结构示意图;
图5为本发明实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本申请涉及的名词进行介绍:
主控端,就是受玩家控制的客户端,玩家通过主控端控制虚拟对象执行相关操作,该虚拟对象显示在主控端的图形用户界面中,同时也可能显示在其他客户端的图形用户界面中,相对于该虚拟对象,其他客户端为副控端。服务端将主控端中该虚拟对象的快照信息或同步信息转发至副控端,副控端基于这些信息控制该虚拟对象。主控端通常是游戏的权威,选择相信主控端发送的相关信息,但服务端会做一些作弊检查。
副控端,主控端以外的其他客户端,在副控端上创建主控端控制的虚拟对象的副本,通过接收主控端发送的快照信息或同步信息,尽量的恢复主控端控制的虚拟对象的状态。需要说明的是,针对一个客户端,可以是某个虚拟对象的主控端,同时也可以是其他虚拟对象的副控端。
快照信息,主控端采集虚拟对象的信息集合,在游戏中通常包括位置、朝向、速度、加速度、角速度、时间戳和玩家输入信息。
内插,副控端基于收到的一组快照信息,插值求出过去某个时刻主控端中该虚拟对象的位置及其他信息。这种插值方式,副控端中该虚拟对象的状态通常和主控端中该虚拟对象在过去的某个时刻的状态相近,但是会存在延迟。
外插,副控端基于收到的最后一个或多个快照信息,预测当前或者未来某个时刻主控端中该虚拟对象的位置信息。通过外插方式预测得到的位置信息可能存在错误,但如果主控端在发出最后一个快照信息之后,控制虚拟对象保持恒定加速度,则副控端预测的结果大概率是比较准确的。
TimeOffset,在副控端渲染出来的虚拟对象,相对于主控端上的该虚拟对象,延迟的时间段。
虚拟对象在主控端和副控端的状态需要实现相对同步。一种方式中,当虚拟对象需要展示冲突、碰撞等相对复杂的视觉效果时,通常仅在主控端启动物理引擎,通过该物理引擎生成并显示该虚拟对象的视觉效果,但在副控端,该虚拟对象被设置为无穷大的物体,不产生碰撞冲突后的视觉效果,例如,撞飞、翻滚等。主控端同步虚拟对象的快照信息至副控端,副控端基于该快照信息控制虚拟对象的位置和旋转等。该方式生成的视觉效果不符合客观的物理原理,影响了游戏本身的逼真性和体验效果。
另一种方式中,由服务端启动物理引擎,通过该物理引擎生成发生碰撞的所有的虚拟对象的视觉效果,并传输至各个客户端进行显示。但由于服务端承载游戏场景中虚拟怪物、虚拟角色、虚拟载具以及其他所有的单位的展示,同时还需要承载各类玩法,比如采集、建造等,导致服务端承载的任务量很大,通过服务器启动物理引擎模拟各类视觉效果,会增加服务器的性能负载。另外,在服务端生成虚拟对象的视觉效果后,再传输至客户端显示,会出现一定的显示延迟。
基于上述,发明人在研究过程中发现,为了不给服务端造成额外的性能负载,同时使视觉效果更加符合客观的物理原理,相对合理的方式依然是在客户端启动物理引擎,对于某一客户端,该客户端上启动的物理引擎生成该客户端控制的虚拟对象的视觉效果,同时也生成其他客户端控制的虚拟对象的视觉效果,从而保证虚拟对象之间发生冲突碰撞时,所有虚拟对象的表现都符合客观物理原理。但该方式容易引起的问题是,针对某一虚拟对象,不仅受到副控端上物理引擎生成的相关信息的控制,还受到来自主控端的快照信息的控制,这种割裂式的控制方式,容易导致针对虚拟对象控制的混乱,在实现上和维护上的难度均较大。基于此,本实施例提供一种游戏对象的显示控制方法、装置和电子设备,该技术可以应用于生存类游戏或其他类型游戏中对虚拟对象的控制中,尤其可以应用于虚拟载具等移动速度相对较快的虚拟对象的控制。
在本公开其中一种实施例中的游戏对象的显示控制方法,可以运行于终端设备,该终端设备可以为本地终端设备。以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
在一种可能的实施方式中,本发明实施例提供了一种游戏对象的显示控制方法,通过终端设备提供一图形用户界面,其中,该终端设备可以是前述提到的本地终端设备。通过第一终端设备提供一图形用户界面,该图形用户界面包括至少部分游戏场景,至少部分游戏场景中包括目标对象,该目标对象由第一终端设备以外的第二终端设备控制;例如,图形用户界面中显示有第一终端设备控制的虚拟对象,前述目标对象在游戏场景中距离该虚拟对象较近,因而也显示在了第一终端设备提供的图形用户界面中。对于目标对象而言,第一终端设备可以理解为副控端,第二终端设备可以理解为主控端。
参见图1所示的一种游戏对象的显示控制方法,该方法包括如下步骤:
步骤S102,响应于指定事件被触发,通过第一终端设备上的物理引擎,生成指定事件被触发后,目标对象的第一状态信息;
该指定事件可以预先设置,在游戏运行过程中实时检测该指定事件是否被触发。在常规状态下,目标对象仅受到来自主控端发送的状态信息的控制,该指定事件可以理解为需要目标对象受到第一终端设备上的物理引擎控制的触发条件。例如,当目标对象需要展示相对复杂的运动或姿势时,需要物理引擎生成相关信息进行控制。
一种具体的实现方式中,上述指定事件包括:目标对象发生碰撞,或者,检测到目标对象即将发生碰撞。对象之间发生碰撞后,目标对象通常具有撞飞、滚动、破碎等相对复杂的状态,为了模拟真实的碰撞效果,需要采用物理引擎实现。检测目标对象是否发生碰撞,可以以目标对象为中心设置一指定形状的碰撞检测盒,如球形的碰撞检测盒,按照预设频率查询该碰撞检测盒是否与其他对象对应的碰撞检测盒相接触,从而确定目标对象是否发生碰撞。检测目标对象即将发生碰撞,可以基于目标对象的速度、方向、以及该目标对象与其他虚拟对象直接的距离,判断目标对象是否可能与该虚拟对象发生碰撞,例如:在目标对象与其他虚拟对象之间的距离小于或等于预设的安全距离时,确定目标对象即将发生碰撞。
在指定事件被触发之前,目标对象受第二终端设备发送的状态信息控制,但在指定事件被触发后,第一终端设备上的物理引擎开始生成目标对象的状态信息,即上述第一状态信息。一种具体的实现方式中,在指定事件被触发之前,目标对象在物理引擎中的状态被设置为kinematic状态,在该状态下,目标对象为质量无穷大的物体,即使目标对象发生碰撞,也不产生自然状态下的碰撞效果;指定事件被触发后,目标对象在物理引擎中的状态被设置为非kinematic状态,在该状态下,目标对象发生碰撞,需要物理引擎模拟自然状态下的碰撞效果,生成上述目标对象的第一状态信息,从而控制目标对象在游戏场景中的显示效果。当检测到目标对象不会发生碰撞后,可以将目标对象再次设置为kinematic状态。具体实现时,可以使用物理引擎中的PhysX引擎实现,将PhysX引擎中的actor参数设置为kinematic状态。
目标对象的第一状态信息可以包括目标对象在游戏场景中的位置、目标对象的朝向、姿势等信息。在时间维度上,第一状态信息可以包括在未来一段时间内各个时间点的状态信息,即第一状态信息在时间维度上是连续的信息,也可以仅包括在未来一段时间内,指定的多个具有一定时间间隔的分立的时间点的状态信息。
步骤S104,获取目标对象在第二终端设备中展示的第二状态信息;
这里需要说明的是,目标对象在第二终端设备中展示的状态信息,在前述指定事件被触发之前,就已经开始获取;通常,只要目标对象在游戏场景中存在,获取目标对象在第二终端设备中展示的状态信息的过程就不会间断,也不受指定事件是否被触发的影响。这里的第二状态信息可以理解为,在指定事件被触发后,目标对象在第二终端设备中展示的状态信息。
为了予以区分,在指定事件被触发之前,可以将目标对象在第二终端设备中展示的状态信息作为第三状态信息;具体的,获取目标对象在第二终端设备中展示的第三状态信息;其中,该第三状态信息包括:指定事件未被触发时的状态信息;基于第三状态信息,在图形用户界面中显示目标对象。在指定事件被触发之前,第一终端设备上的物理引擎不对目标对象进行模拟并生成相关信息,仅由目标对象在第二终端设备中展示的第三状态信息控制目标对象在第一终端设备上的显示状态。
目标对象的第二状态信息可以包括目标对象在游戏场景中的位置、目标对象的朝向、姿势等信息。第二状态信息的具体内容通常与前述第一状态信息相互匹配。在时间维度上,第二状态信息可以包括在未来一段时间内各个时间点的状态信息,即第二状态信息在时间维度上是连续的信息,也可以仅包括在未来一段时间内,指定的多个具有一定时间间隔的分立的时间点的状态信息。
一种具体的实现方式中,每隔指定的时间段获取前述第二状态信息,或者每隔指定的时间段由第二终端设备发送第二状态信息;第一终端设备接收到第二状态信息后,再通过插值的方式得到时间维度上连续的状态信息。
步骤S106,基于第一状态信息和第二状态信息,确定目标对象的显示状态,基于显示状态在图形用户界面中显示目标对象。
相关技术中,仅由目标对象在第二终端设备中展示的状态信息控制目标对象在第一终端设备上的显示状态;而本实施例中,在获取第二状态信息的同时,当指定事件被触发后,还通过第一终端设备上的物理引擎得到第一状态信息;综合处理对第一状态信息和第二状态信息,可以得到目标对象的显示状态。具体的,可以分别对第一状态信息和第二状态信息赋予特定的权值,进而对第一状态信息和第二状态信息进行混合处理,得到目标对象的显示状态。
指定事件被触发后,目标对象需要一段时间展示相对复杂的视觉效果,例如碰撞效果,在展示相对复杂的视觉效果期间,通过第一终端设备上的物理引擎模拟生成并显示视觉效果;而视觉效果展示完毕后,为了降低第一终端设备的运算压力,继续仅由目标对象在第二终端设备中展示的状态信息控制目标对象。同时为了避免视觉效果展示完毕后,目标对象发生明显的控制误差或状态突变,在展示相对复杂的视觉效果期间,可以逐渐增加第二状态信息的权重,从而在视觉效果展示完毕后,可以相对平滑的过渡至仅由第二状态信息控制目标对象。
上述游戏对象的显示控制方法,游戏场景中的目标对象由第一终端设备以外的第二终端设备控制;响应于指定事件被触发,通过第一终端设备上的物理引擎,生成指定事件被触发后,目标对象的第一状态信息;获取目标对象在第二终端设备中展示的第二状态信息;基于第一状态信息和第二状态信息,确定目标对象的显示状态,基于显示状态在图形用户界面中显示目标对象。该方式中,当指定事件被触发时,通过第一终端设备上的物理引擎模拟目标对象的视觉效果,进而生成第一状态信息;在确定目标对象的显示状态时,同时参考第一状态信息和目标对象在第二中设备中的第二状态信息,从而使目标对象在触发指定事件后具有符合客观物理原理的表现,且对目标对象的控制方式相对统一,这种对目标对象的控制方式易于实现,提高了游戏中对象的视觉效果体验。
下面描述基于第一状态信息和第二状态信息确定目标对象的显示状态的具体实现方式。
将指定事件被触发后的未来指定时间段划分为多个子时间段;其中,每个子时间段设置有权重参数;针对每个子时间段,基于子时间段对应的权重参数,对子时间段内的第一状态信息和第二状态信息进行加权求和处理,得到目标对象的显示状态。上述未来指定时间段的起始时间可以基于指定事件被触发的时间确定,未来指定时间段的时长可以基于指定事件的类型确定;例如,当指定事件为目标对象发生碰撞或即将发生碰撞时,未来指定时间段的时长可以基于目标对象的碰撞效果的展示时长确定。
多个子时间段按照时间顺序排列,不同子时间段设置的权值参数可以相同也可以不同。每个子时间段包括多个时间点,同一个子时间段内的时间点对应的权重参数相同,针对每个时间点,获取该时间点对应的第一状态信息和第二状态信息,然后基于当前子时间段对应的权重参数,对第一状态信息和第二状态信息进行加权求和,得到该时间点下模板对象的显示状态。
当前述指定时间段经历完毕后,目标对象又会重新由第二终端设备提供的状态信息单独控制,为了实现平稳过渡,在指定时间段内,各个子时间段的权重参数包括第二状态信息的权重值;距离指定事件被触发的时间点越远的子时间段,对应的第二状态信息的权重值越大。具体实现时,可以将指定时间段内的第一个子时间段对应的第二状态信息的权重值设置为0,此时,目标对象仅由第一终端设备的物理引擎生成的第一状态信息控制;在后续的子时间段中,第二状态信息的权重值设置逐渐增大,例如分别为0.2、0.4、0.6等等,在最后一个子时间段中,第二状态信息的权重值设置为0.9或1,从而使目标对象的显示状态完全或主要由第二状态信息控制,最后一个时间段经历完毕后,目标对象的显示状态完全由第二终端设备提供的状态信息控制,从而实现目标对象的显示状态的平稳过渡,避免出现显示状态突变的不自然的显示效果。
另一种实现方式中,子时间段内各个时间点的权值参数也可以不同,例如,距离指定事件被触发的时间点越远的时间点,对应的第二状态信息的权重值越大。在具体实现时,部分子时间段可以采用固定的权值参数,即同一子时间段内各个时间点的权值参数相同,部分子时间段可以采用变化的权值参数,即同一子时间段内各个时间点的权值参数也不相同。
为了便于理解,图2示出了第一状态信息和第二状态信息加权处理的示例。当指定事件为目标对象发生碰撞时,在时间点t0时发生碰撞,在t0至t1的子时间段内,仅由第一终端设备的物理引擎生成的第一状态信息控制目标对象的显示状态,即图2中的“100%物理模拟”的状态;在t1至t2的子时间段内,第二状态信息的权值逐渐变大;在t2至t3的子时间段内,第二状态信息的权值恒定;在t3至t4的子时间段内,第二状态信息的权值逐渐变大,直至权值到达1,即图2中的“100%航位推测”的状态。
仅作为示例,下述表1示出了目标对象为两轮载具时,图2中t0至t4的时间点对应的第二状态信息的权值,也称为航位推测权重;其中,t0至t1的子时间段内,第二状态信息的权值为0,t1至t2的子时间段内,第二状态信息的权值逐渐增长为0.2,t2至t3的子时间段内,第二状态信息的权值恒定为0.2,t3至t4的子时间段内,第二状态信息的权值逐渐增加为1。
表1两轮载具物理混合参数
另一个示例中,下述表2示出了目标对象为四轮载具时,图2中t0至t4的时间点对应的第二状态信息的权值,也称为航位推测权重;其中,t0至t1的子时间段内,第二状态信息的权值为0,t1至t2的子时间段内,第二状态信息的权值逐渐增长为0.2,t2至t3的子时间段内,第二状态信息的权值恒定为0.2,t3至t4的子时间段内,第二状态信息的权值逐渐增加为1。与两轮载具不同的是,四轮载具的t3至t4的子时间段为0.8秒,而两轮载具的t3至t4的子时间段为0.4秒。
表2四轮载具物理混合参数表
由上述实施例可知,第一状态信息包括:指定事件被触发后的未来指定时间段内,各个时间点对应的第一状态子信息;第二状态信息包括:指定事件被触发后的未来指定时间段内,部分时间点对应的第二状态子信息;由于第一状态信息由第一终端设备上的物理引擎生成,因而上述第一状态信息可以为在时间维度上相对连续的信息,即第一状态信息包括指定事件被触发后的未来指定时间段内,各个时间点对应的第一状态子信息;考虑到第二状态信息需要由第二终端设备向第一终端设备发送,为了降低传输数据量,第二状态信息中仅包括未来指定时间段内,部分时间点对应的第二状态子信息;基于此,需要先对第二状态信息进行处理,得到其他时间点对应的第二状态子信息,再基于每个时间点对应的第一状态子信息和第二状态子信息,得到该时间点下目标对象的显示状态。
在实际实现时,对第二状态信息中部分时间点对应的第二状态子信息进行插值处理,得到指定事件被触发后的未来指定时间段内,各个时间点对应的第二状态子信息;具体可以根据部分时间点对应的第二状态子信息,通过多种插值算法计算得到部分时间点前后的时间点的第二状态子信息;然后针对未来指定时间段内每个时间点,对该时间点对应的第一状态子信息和第二状态子信息进行加权处理,得到目标对象在时间点的显示状态。例如,某一时间点对应的第二状态子信息的权值参数为k,则目标对象在该时间点的显示状态=第一状态子信息*(1-k)+第二状态子信息*k。
通过已知第二状态子信息的部分时间点,插值计算未知第二状态子信息的其他时间点的第二状态子信息,通常有两种方式。一种是基于部分时间点对应的第二状态子信息,插值计算部分时间点之间的时间点的第二状态子信息,该方式也可以称为内插,该方式插值计算得到的第二状态子信息较为准确,但具有一定的时延,适用于第一终端设备与第二终端设备的显示时延较长的场景;另一种方式是基于部分时间点对应的第二状态子信息,插值计算部分时间点之后的时间点的第二状态子信息,该方式也可以称为外插,该方式插值计算得到的第二状态子信息具有一定的误差,但时延较少,适用于第一终端设备与第二终端设备的显示时延较短的场景。
基于上述,在本实施例中,需要先行确定插值方式,再进行插值计算得到各个时间点对应的第二状态子信息。具体的,确定目标对象的移动速度;如果移动速度低于预设的速度阈值,基于第二状态信息中部分时间点对应的第二状态子信息,生成部分时间点之间各个时间点对应的第二状态子信息;即,在目标对象的移动速度较慢的情况下,采用内插的方式计算各个时间点对应的第二状态子信息,从而保证得到的状态信息具有较高的准确度,使目标对象在第一终端设备和第二终端设备上的运行状态相一致;如果移动速度高于或等于预设的速度阈值,基于第二状态信息中部分时间点对应的第二状态子信息,生成部分时间点之后各个时间点对应的第二状态子信息;即,在目标对象的移动速度较快的情况下,采用外插的方式计算各个时间点对应的第二状态子信息,以尽量的缩短目标对象在第一终端设备上的时延,但状态信息的误差较大,可能会产生一些错误的位置或碰撞信息。
除了基于目标对象的移动速度确定插值方式,还可能需要参考目标对象的显示时延确定插值方式。具体的,确定目标对象的显示时延;该显示时延包括:目标对象在第一终端设备与第二终端设备上展示同一状态时的时间差;例如,目标对象在第一终端设备上显示时,于10:00位于游戏场景中的位置A,且朝向为B,该目标对象在第二终端设备上显示时,于10:01位于游戏场景中的位置A,且朝向为B,则目标对象的显示时延为1秒。
如果显示时延大于预设的时延阈值,基于第二状态信息中部分时间点对应的第二状态子信息,生成部分时间点之间各个时间点对应的第二状态子信息;即,当显示时延较长时,采用内插的方式计算各个时间点对应的第二状态子信息,从而保证得到的状态信息具有较高的准确度,使目标对象在第一终端设备和第二终端设备上的运行状态相一致;如果显示时延小于或等于预设的速度阈值,基于第二状态信息中部分时间点对应的第二状态子信息,生成部分时间点之后各个时间点对应的第二状态子信息;即,当显示时延较短时,采用外插的方式计算各个时间点对应的第二状态子信息,以尽量的缩短目标对象在第一终端设备上的时延,但状态信息的误差较大,可能会产生一些错误的位置或碰撞信息。
其他实现方式中,可以同时参考目标对象的移动速度和显示时延确定插值方式,例如,可以设置一计算公式,将移动速度和显示时延输入至该公式,得到计算结果,基于该计算结果确定插值方式,从而更加合理的确定状态信息的插值方式。
当指定事件为目标对象发生碰撞或即将发生碰撞时,为了保证物理引擎模拟的碰撞效果尽可能的准确,响应于指定事件被触发,缩小目标对象的显示时延。指定事件被触发之前,显示时延通常被设置为一较大的数值,例如100毫秒、200毫秒等;指定事件被触发后,为了保证目标对象的碰撞结果尽量准确,通常将显示时延缩小,使目标对象在第一终端设备和第二终端设备中的显示位置差距尽量的小;具体的方式中,可以将显示时延缩小至0,使目标对象在第一终端设备和第二终端设备中的显示位置相一致,从而使碰撞结果准确性较高。
前述实施例提到的第一状态信息、第二状态信息、第一状态子信息以及第二状态子信息等状态信息,具体可以包括多种类型的状态信息,以位置信息为例,对位置信息进行内插的时候,可以采用双线性插值、双立方插值等插值算法实现;对位置信息进行外插的时候,可以采用航位推测算法实现,下述为航位推测算法实现外插的算式:
其中,Vb是式(1)计算出来的结果,可以理解为用目标对象的当前速度和最后一次收到的第二终端设备发送的快照信息中的速度值混合出来的一个预测的速度;V0,P0分别表示当前的速度和位置,P‘0,V‘0,A‘0分别表示最后一次收到的快照信息中的位置、速度、加速度;Tt表示的是从收到上次快照信息后经历的时间长度,表示归一化的时间,引入一个第二终端设备固定发送快照信息的时间间隔TΔ,TΔ也可以理解为第二终端设备相邻两次发送快照的时间间隔,那么当发生网络延迟,超出TΔ时,被截断到1.0;Pt是用推测出来的速度Vb计算出来的一个位置1;Pt’为用最后一个快照信息计算推测出来的另外一个位置;Qt是把位置Pt和Pt’做了一次融合得到的结果,即通过外插的方式计算得到的位置信息。
需要说明的是,如果采用Pt’作为插值后得到的位置信息,就会出现目标对象的方向突变的问题,通过融合可以很好的将第一终端设备上目标对象的位置和速度,向最后一个快照信息指示的方向偏转。
前述状态信息中还可以包括方位角信息。对方位角信息进行内插的时候,可以采用两个快照信息中的方位角,采用球面线性插值的方式计算得到方位角信息。在进行外插的时候,可以采用下述算式计算得到方位角信息:
R′Δt=quat(R′magTt,R′dir) (5)
Rt=R′ΔtR0 (6)
Rt′=R′ΔtR′0 (7)
其中,R′Δt是算式(5)的计算结果,表示的是用最后一个快照信息中的角速度计算Tt时间转过的角度;quat代表四元数;R′mag表示最后一个快照信息中角速度四元数的模,R′dir表示角速度的轴,R0是当前方位四元数,Rt表示从当前的方位预测Tt时间之后的方位;R′t表示最后一次收到的快照信息中的方位角加上Tt时间内转过的角度,即,按照最后一次收到的快照信息中的方位角预测出来的方位角。Rt是最后预测得到的方位角信息的方位四元数,slerp代表球面线性插值算法。R′0代表最后一个快照信息中的方位角。
Rt=R′ΔtR′0 (9)
在指定事件没有被触发的时候,可以参考图3将第二终端设备中目标对象的状态信息同步至第一终端设备;针对目标对象,第二终端设备也可以称为主控端,第一终端设备称为副控端。主控端主要向副控端同步位置信息以及朝向信息等状态信息。首先,主控端接收玩家的输入指令,在主控端上目标对象由主控端上的物理引擎模拟移动;主控端定期或者当输入指令发生改变的时候同步快照信息出去;服务端接收快照信息之后,会做相关检查,例如,会做位置的合理性检查,比如是否有穿墙之类的;如果检查通过,则同步到AOI范围内客户端;副控端接收到快照信息之后,缓存到本地;在tick中根据TimeOffset和当前时间选择相关的快照做航位推测。其中,AOI(Area Of Interest)可以理解为感兴趣区域,就是玩家在场景实时看到的区域,AOI区域会随着目标对象的移动而改变。服务器每秒钟读取游戏的状态次数,称为tick,也可以理解为服务器的刷新率。
在生存类游戏或者其他类型的游戏中,虚拟载具等类型的虚拟对象具有相对明显的特点,例如,虚拟载具移动速度快,在副控端100ms的时间延迟就可能导致2-3m的位置误差;虚拟载具的移动轨迹通常需要是光滑曲线,而虚拟人物等的位置同步可以接受任意折线;虚拟载具可以和游戏场景中的其他虚拟角色、非玩家角色NPC、虚拟静态物体或其他虚拟载具等发生碰撞,导致运动状态比较复杂;玩家驾驶虚拟载具时,对载具不正常的速度会非常敏感,做的很精细,难度很大。基于上述问题,本实施例中的游戏对象的显示控制方法采用了在终端设备上调用物理引擎模拟载具碰撞效果,在不增加服务端负载的情况下保证各个客户端载具的位置旋转和碰撞保持可以接受的同步效果;载具位置同步的轨迹光滑,玩家没有明显的方向突变的感觉;同时,载具速度很快的情况下保证副控端的位置和主控端没有太大差距。
上述游戏对象的显示控制方法中,为了减少服务端的负载,采用服务端只做中转主控端的快照信息到其他客户端的作用,不做具体的物理模拟计算,只是端到端(P2P)的同步策略。其他客户端采用碰撞预测的方式,当目标对象将要发生碰撞的时候,副控端启动本地的物理引擎,模拟碰撞的物理效果。在模拟碰撞的过程中,同时接收主控端发送过来的快照信息,采用将物理模拟和快照结果混合的方式,让副控端和主控端的载具保证逻辑位置和朝向基本保持一致。
另外,本实施例采用导航推荐算法完成副控端的位置插值和预测,实现载具位置同步的轨迹光滑,给玩家带来了比较好的驾乘体验。通过动态调整时间偏移的策略,在载具速度快的时候,启动副控端的位置预测,能够一定程度解决因为延迟导致的副控端的载具位置落后主控端的问题。
对应于上述方法实施例,参见图4所示的一种游戏对象的显示控制装置的结构示意图,通过第一终端设备提供一图形用户界面,图形用户界面包括至少部分游戏场景,至少部分游戏场景中包括目标对象,目标对象由第一终端设备以外的第二终端设备控制;该装置包括:
信息生成模块40,用于响应于指定事件被触发,通过第一终端设备上的物理引擎,生成指定事件被触发后,目标对象的第一状态信息;
信息获取模块42,用于获取目标对象在第二终端设备中展示的第二状态信息;
显示控制模块44,用于基于第一状态信息和第二状态信息,确定目标对象的显示状态,基于显示状态在图形用户界面中显示目标对象。
上述游戏对象的显示控制装置,游戏场景中的目标对象由第一终端设备以外的第二终端设备控制;响应于指定事件被触发,通过第一终端设备上的物理引擎,生成指定事件被触发后,目标对象的第一状态信息;获取目标对象在第二终端设备中展示的第二状态信息;基于第一状态信息和第二状态信息,确定目标对象的显示状态,基于显示状态在图形用户界面中显示目标对象。该方式中,当指定事件被触发时,通过第一终端设备上的物理引擎模拟目标对象的视觉效果,进而生成第一状态信息;在确定目标对象的显示状态时,同时参考第一状态信息和目标对象在第二中设备中的第二状态信息,从而使目标对象在触发指定事件后具有符合客观物理原理的表现,且对目标对象的控制方式相对统一,这种对目标对象的控制方式易于实现,提高了游戏中对象的视觉效果体验。
上述装置还包括对象控制模块,用于:获取目标对象在第二终端设备中展示的第三状态信息;其中,第三状态信息包括:指定事件未被触发时的状态信息;基于第三状态信息,在图形用户界面中显示目标对象。
上述显示控制模块,还用于:将指定事件被触发后的未来指定时间段划分为多个子时间段;其中,每个子时间段设置有权重参数;针对每个子时间段,基于子时间段对应的权重参数,对子时间段内的第一状态信息和第二状态信息进行加权求和处理,得到目标对象的显示状态。
上述权重参数包括第二状态信息的权重值;距离指定事件被触发的时间点越远的子时间段,对应的第二状态信息的权重值越大。
上述第一状态信息包括:指定事件被触发后的未来指定时间段内,各个时间点对应的第一状态子信息;第二状态信息包括:指定事件被触发后的未来指定时间段内,部分时间点对应的第二状态子信息;上述显示控制模块,还用于:对第二状态信息中部分时间点对应的第二状态子信息进行插值处理,得到指定事件被触发后的未来指定时间段内,各个时间点对应的第二状态子信息;针对未来指定时间段内每个时间点,对时间点对应的第一状态子信息和第二状态子信息进行加权处理,得到目标对象在时间点的显示状态。
上述显示控制模块,还用于:确定目标对象的移动速度;如果移动速度低于预设的速度阈值,基于第二状态信息中部分时间点对应的第二状态子信息,生成部分时间点之间各个时间点对应的第二状态子信息;如果移动速度高于或等于预设的速度阈值,基于第二状态信息中部分时间点对应的第二状态子信息,生成部分时间点之后各个时间点对应的第二状态子信息。
上述显示控制模块,还用于:确定目标对象的显示时延;显示时延包括:目标对象在第一终端设备与第二终端设备上展示同一状态时的时间差;如果显示时延大于预设的时延阈值,基于第二状态信息中部分时间点对应的第二状态子信息,生成部分时间点之间各个时间点对应的第二状态子信息;如果显示时延小于或等于预设的速度阈值,基于第二状态信息中部分时间点对应的第二状态子信息,生成部分时间点之后各个时间点对应的第二状态子信息。
上述装置还包括时延控制模块,用于:响应于指定事件被触发,缩小目标对象的显示时延。
上述指定事件包括:目标对象发生碰撞,或者,检测到目标对象即将发生碰撞。
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述游戏对象的显示控制方法。该电子设备可以是服务器,也可以是终端设备。
参见图5所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述游戏对象的显示控制方法。
进一步地,图5所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
其中,存储器101可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述游戏对象的显示控制方法。
本发明实施例所提供的游戏对象的显示控制方法、装置、电子设备及存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种游戏对象的显示控制方法,其特征在于,通过第一终端设备提供一图形用户界面,所述图形用户界面包括至少部分游戏场景,所述至少部分游戏场景中包括目标对象,所述目标对象由所述第一终端设备以外的第二终端设备控制;所述方法包括:
响应于指定事件被触发,通过所述第一终端设备上的物理引擎,生成所述指定事件被触发后,所述目标对象的第一状态信息;
获取所述目标对象在所述第二终端设备中展示的第二状态信息;
基于所述第一状态信息和所述第二状态信息,确定所述目标对象的显示状态,基于所述显示状态在所述图形用户界面中显示所述目标对象。
2.根据权利要求1所述的方法,其特征在于,响应于指定事件被触发,通过所述第一终端设备上的物理引擎,生成所述指定事件被触发后,所述目标对象的第一状态信息的步骤之前,所述方法还包括:
获取所述目标对象在所述第二终端设备中展示的第三状态信息;其中,所述第三状态信息包括:所述指定事件未被触发时的状态信息;
基于所述第三状态信息,在所述图形用户界面中显示所述目标对象。
3.根据权利要求1所述的方法,其特征在于,基于所述第一状态信息和所述第二状态信息,确定所述目标对象的显示状态的步骤,包括:
将所述指定事件被触发后的未来指定时间段划分为多个子时间段;其中,每个所述子时间段设置有权重参数;
针对每个所述子时间段,基于所述子时间段对应的权重参数,对所述子时间段内的所述第一状态信息和所述第二状态信息进行加权求和处理,得到所述目标对象的显示状态。
4.根据权利要求3所述的方法,其特征在于,所述权重参数包括所述第二状态信息的权重值;距离所述指定事件被触发的时间点越远的子时间段,对应的所述第二状态信息的权重值越大。
5.根据权利要求1所述的方法,其特征在于,所述第一状态信息包括:所述指定事件被触发后的未来指定时间段内,各个时间点对应的第一状态子信息;所述第二状态信息包括:所述指定事件被触发后的未来指定时间段内,部分时间点对应的第二状态子信息;
所述基于所述第一状态信息和所述第二状态信息,确定所述目标对象的显示状态的步骤,包括:
对所述第二状态信息中部分时间点对应的第二状态子信息进行插值处理,得到所述指定事件被触发后的未来指定时间段内,各个时间点对应的第二状态子信息;
针对所述未来指定时间段内每个时间点,对所述时间点对应的第一状态子信息和所述第二状态子信息进行加权处理,得到所述目标对象在所述时间点的显示状态。
6.根据权利要求5所述的方法,其特征在于,对所述第二状态信息中部分时间点对应的第二状态子信息进行插值处理,得到所述指定事件被触发后的未来指定时间段内,各个时间点对应的第二状态子信息的步骤,包括:
确定所述目标对象的移动速度;
如果所述移动速度低于预设的速度阈值,基于所述第二状态信息中部分时间点对应的第二状态子信息,生成所述部分时间点之间各个时间点对应的第二状态子信息;
如果所述移动速度高于或等于预设的速度阈值,基于所述第二状态信息中部分时间点对应的第二状态子信息,生成所述部分时间点之后各个时间点对应的第二状态子信息。
7.根据权利要求5所述的方法,其特征在于,对所述第二状态信息中部分时间点对应的第二状态子信息进行插值处理,得到所述指定事件被触发后的未来指定时间段内,各个时间点对应的第二状态子信息的步骤,包括:
确定所述目标对象的显示时延;所述显示时延包括:所述目标对象在所述第一终端设备与所述第二终端设备上展示同一状态时的时间差;
如果所述显示时延大于预设的时延阈值,基于所述第二状态信息中部分时间点对应的第二状态子信息,生成所述部分时间点之间各个时间点对应的第二状态子信息;
如果所述显示时延小于或等于预设的速度阈值,基于所述第二状态信息中部分时间点对应的第二状态子信息,生成所述部分时间点之后各个时间点对应的第二状态子信息。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:响应于指定事件被触发,缩小所述目标对象的显示时延。
9.根据权利要求1所述的方法,其特征在于,所述指定事件包括:所述目标对象发生碰撞,或者,检测到所述目标对象即将发生碰撞。
10.一种游戏对象的显示控制装置,其特征在于,通过第一终端设备提供一图形用户界面,所述图形用户界面包括至少部分游戏场景,所述至少部分游戏场景中包括目标对象,所述目标对象由所述第一终端设备以外的第二终端设备控制;所述装置包括:
信息生成模块,用于响应于指定事件被触发,通过所述第一终端设备上的物理引擎,生成所述指定事件被触发后,所述目标对象的第一状态信息;
信息获取模块,用于获取所述目标对象在所述第二终端设备中展示的第二状态信息;
显示控制模块,用于基于所述第一状态信息和所述第二状态信息,确定所述目标对象的显示状态,基于所述显示状态在所述图形用户界面中显示所述目标对象。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-9任一项所述的游戏对象的显示控制方法。
12.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-9任一项所述的游戏对象的显示控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110931894.6A CN113633989A (zh) | 2021-08-13 | 2021-08-13 | 游戏对象的显示控制方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110931894.6A CN113633989A (zh) | 2021-08-13 | 2021-08-13 | 游戏对象的显示控制方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113633989A true CN113633989A (zh) | 2021-11-12 |
Family
ID=78421622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110931894.6A Pending CN113633989A (zh) | 2021-08-13 | 2021-08-13 | 游戏对象的显示控制方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113633989A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180028916A1 (en) * | 2015-09-29 | 2018-02-01 | Tencent Technology (Shenzhen) Company Limited | Information processing method, terminal, and computer storage medium |
US20190076739A1 (en) * | 2017-09-12 | 2019-03-14 | Netease (Hangzhou) Network Co.,Ltd. | Information processing method, apparatus and computer readable storage medium |
US20200155946A1 (en) * | 2017-07-24 | 2020-05-21 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for synchronously displaying game content and storage medium |
WO2020168571A1 (zh) * | 2019-02-22 | 2020-08-27 | 深圳市欢太科技有限公司 | 设备控制方法、装置、系统、电子设备以及云服务器 |
CN111729295A (zh) * | 2020-06-12 | 2020-10-02 | 网易(杭州)网络有限公司 | 竞速游戏的信息控制方法、装置和电子设备 |
CN111729294A (zh) * | 2020-06-12 | 2020-10-02 | 网易(杭州)网络有限公司 | 竞速游戏的信息控制方法、装置和电子设备 |
CN111957043A (zh) * | 2020-09-07 | 2020-11-20 | 网易(杭州)网络有限公司 | 游戏中的信息控制方法、装置和电子设备 |
CN111991800A (zh) * | 2019-02-22 | 2020-11-27 | 网易(杭州)网络有限公司 | 游戏角色控制方法、装置、设备和存储介质 |
-
2021
- 2021-08-13 CN CN202110931894.6A patent/CN113633989A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180028916A1 (en) * | 2015-09-29 | 2018-02-01 | Tencent Technology (Shenzhen) Company Limited | Information processing method, terminal, and computer storage medium |
US20200155946A1 (en) * | 2017-07-24 | 2020-05-21 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for synchronously displaying game content and storage medium |
US20190076739A1 (en) * | 2017-09-12 | 2019-03-14 | Netease (Hangzhou) Network Co.,Ltd. | Information processing method, apparatus and computer readable storage medium |
WO2020168571A1 (zh) * | 2019-02-22 | 2020-08-27 | 深圳市欢太科技有限公司 | 设备控制方法、装置、系统、电子设备以及云服务器 |
CN111991800A (zh) * | 2019-02-22 | 2020-11-27 | 网易(杭州)网络有限公司 | 游戏角色控制方法、装置、设备和存储介质 |
CN111729295A (zh) * | 2020-06-12 | 2020-10-02 | 网易(杭州)网络有限公司 | 竞速游戏的信息控制方法、装置和电子设备 |
CN111729294A (zh) * | 2020-06-12 | 2020-10-02 | 网易(杭州)网络有限公司 | 竞速游戏的信息控制方法、装置和电子设备 |
CN111957043A (zh) * | 2020-09-07 | 2020-11-20 | 网易(杭州)网络有限公司 | 游戏中的信息控制方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3368965B1 (en) | Remote rendering for virtual images | |
US9050538B2 (en) | Collision detection and motion simulation in game virtual space | |
US8909506B2 (en) | Program, information storage medium, information processing system, and information processing method for controlling a movement of an object placed in a virtual space | |
CN109939438B (zh) | 轨迹显示方法和装置、存储介质及电子装置 | |
US8069258B1 (en) | Local frame processing to apparently reduce network lag of multiplayer deterministic simulations | |
US8678929B1 (en) | Client-side prediction of a local game object to reduce apparent network lag of multiplayer simulations | |
WO2010064471A1 (ja) | シミュレーションシステム | |
JP6360691B2 (ja) | ゲームシステム、情報処理装置、制御方法、及び記録媒体 | |
EP3173134B1 (en) | Synchronization object determining method, apparatus, and system | |
EP3406307B1 (en) | Information processing system, information processing apparatus, information processing program, and information processing method | |
US20220297001A1 (en) | Server, processing system, processing method, and program | |
TW200909034A (en) | Game system, terminal machine and computer program | |
US6758752B1 (en) | Recording medium having programs to display frames stored therein, game display method for executing frame-by-frame display, and game displaying apparatus | |
EP1852829B1 (en) | Image processor, image processing method and information storage medium | |
CN113633989A (zh) | 游戏对象的显示控制方法、装置和电子设备 | |
JP2008264276A (ja) | ゲームプログラム、ゲーム装置及び記憶媒体 | |
US10471347B2 (en) | Information processing system, information processing apparatus, storage medium storing information processing program, and information processing method | |
EP3406312B1 (en) | Information processing system, information processing apparatus, information processing program, and information processing method | |
JP6897284B2 (ja) | ゲーム装置、プログラム及びゲームシステム | |
KR101601587B1 (ko) | 통신처 판정 장치, 게임 시스템, 통신처 판정 방법, 기록 매체 | |
JP4878240B2 (ja) | 画像表示制御装置、画像表示方法及びプログラム | |
CN111760273B (zh) | 游戏碎块处理方法、装置及设备 | |
KR101400536B1 (ko) | 온라인 게임 서비스에서의 캐릭터간 충격 반응 표시 방법 및 서버, 및 충격 반응 표시 기능을 가지는 온라인 게임 시스템 | |
JP2007259904A (ja) | ゲーム装置、ゲームプログラム及びコンピュータ読み取り可能な記録媒体 | |
JP3908710B2 (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 |