CN111475573B - 数据同步方法、装置、电子设备及存储介质 - Google Patents
数据同步方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111475573B CN111475573B CN202010268946.1A CN202010268946A CN111475573B CN 111475573 B CN111475573 B CN 111475573B CN 202010268946 A CN202010268946 A CN 202010268946A CN 111475573 B CN111475573 B CN 111475573B
- Authority
- CN
- China
- Prior art keywords
- information
- interactive prop
- collision
- target
- motion
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- 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/573—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
-
- 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
-
- 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/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- 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/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
- A63F13/537—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
-
- 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
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/837—Shooting of targets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Optics & Photonics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种数据同步方法、装置、电子设备及存储介质,属于计算机技术领域。本申请实施例中,通过在互动道具在按照第一目标运动轨迹进行运动的过程中,与第一目标运动轨迹上的障碍物发生碰撞时,向服务器同步碰撞信息和互动道具的运动信息,服务器可以根据同步的碰撞信息和运动信息来修正自身获取的第二目标运动轨迹,通过同步碰撞信息和碰撞相关的互动道具的运动信息,将服务器中互动道具的运动轨迹进行修正,从而与终端中的运动轨迹同步,这样服务器与终端中互动道具的运动轨迹一致,提高了互动道具的运动轨迹的准确性。另外,通过相同的运动轨迹计算的落点也即一致,可以避免出现***效果的显示位置与落点不一致的现象。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种数据同步方法、装置、电子设备及存储介质。
背景技术
随着多媒体技术的发展以及终端功能的多样化,在终端上能够进行的游戏种类越来越多。其中,射击类游戏是一种比较盛行的游戏,终端可以在界面中显示虚拟场景,并在虚拟场景中显示虚拟对象,该虚拟对象可以控制互动道具与其他虚拟对象进行对战。
目前,以具有***威力的互动道具为例,这部分互动道具的控制方法通常是:用户点击互动按钮后,向某一位置投掷互动道具。当互动道具落地时,可以在落点处显示互动道具的***效果。在该过程中,互动道具与运动轨迹上的障碍物发生碰撞时会反弹,终端和服务器均会对互动道具的运动轨迹进行计算,如果二者计算结果不一致,将以服务器计算的运动轨迹和落点为准,显示***效果。
由于终端与服务器中某些虚拟场景或者角度无法完全一致,不能保证二者计算得到的互动道具的运动轨迹完全一致,这样根据服务器计算的运动轨迹为准,二者计算得到的运动轨迹不一致也可能会导致最终显示的***效果的位置与落点不一致的情况。例如,最后以服务器计算的落点为准,对互动道具的***效果进行显示时则会出现一种现象:互动道具落在某个地点,而***位置却在另一个地点,因而,上述控制方法中获取到的互动道具的运动轨迹不准确,不符合互动道具的实际运动情况。
发明内容
本申请实施例提供了一种数据同步方法、装置、电子设备及存储介质,能够提高互动道具的运动轨迹的准确性。该技术方案如下:
一方面,提供了一种数据同步法,该方法包括:
响应于对互动道具的投掷操作,控制所述互动道具按照第一目标运动轨迹在虚拟场景中进行运动;
响应于所述互动道具与所述第一目标运动轨迹上的障碍物发生碰撞,获取碰撞信息和所述互动道具的运动信息;
向服务器发送所述碰撞信息和所述互动道具的运动信息,所述碰撞信息和所述互动道具的运动信息用于指示所述服务器根据所述碰撞信息和所述运动信息修正第二目标运动轨迹,所述第二目标运动轨迹为所述服务器获取得到的所述互动道具的目标运动轨迹。
一方面,提供了一种数据同步方法,所述方法包括:
响应于对互动道具的投掷指令,获取所述互动道具的第二目标运动轨迹;
接收终端发送的所述互动道具与障碍物碰撞时的碰撞信息和运动信息;
根据所述碰撞信息和所述运动信息,对所述第二目标运动轨迹进行修正。
一方面,提供了一种数据同步装置,该装置包括:
控制模块,用于响应于对互动道具的投掷操作,控制所述互动道具按照第一目标运动轨迹在虚拟场景中进行运动;
获取模块,用于响应于所述互动道具与所述第一目标运动轨迹上的障碍物发生碰撞,获取碰撞信息和所述互动道具的运动信息;
发送模块,用于向服务器发送所述碰撞信息和所述互动道具的运动信息,所述碰撞信息和所述互动道具的运动信息用于指示所述服务器根据所述碰撞信息和所述运动信息修正第二目标运动轨迹,所述第二目标运动轨迹为所述服务器获取得到的所述互动道具的目标运动轨迹。
在一种可能实现方式中,所述碰撞信息包括碰撞位置信息;所述运动信息包括所述互动道具碰撞时所述互动道具的运动速度信息;
所述根据所述碰撞信息和所述运动信息修正第二目标运动轨迹,包括:
根据所述碰撞位置信息以及所述互动道具碰撞时所述互动道具的运动速度信息,获取所述互动道具碰撞后的运动速度信息;
以所述碰撞位置信息为起点,所述碰撞后的运动速度信息为初始运动速度信息,获取所述互动道具碰撞后的第二目标运动轨迹。
在一种可能实现方式中,所述碰撞信息还包括障碍物的类型信息;
所述根据所述碰撞位置信息以及所述互动道具碰撞时所述互动道具的运动速度信息,获取所述互动道具碰撞后的运动速度信息,包括:
根据所述障碍物的类型信息获取所述互动道具对应的反弹信息;
根据所述碰撞位置信息、所述反弹信息和所述互动道具碰撞时所述互动道具的运动速度信息,确定所述互动道具碰撞后的运动速度信息。
在一种可能实现方式中,所述碰撞信息包括碰撞位置信息;所述运动信息包括所述互动道具碰撞后所述互动道具的运动速度信息;
所述根据所述碰撞信息和所述运动信息修正第二目标运动轨迹包括:
以所述碰撞位置信息为起点,所述碰撞后所述互动道具的运动速度信息为初始运动速度信息,获取所述互动道具碰撞后的第二目标运动轨迹。
在一种可能实现方式中,所述装置还包括:
接收模块,用于接收所述服务器发送的目标形变位置,所述目标形变位置基于修正后的所述第二目标运动轨迹确定;
显示模块,用于响应于所述互动道具位于所述目标形变位置,在所述目标形变位置上,显示所述互动道具的形变动画。
在一种可能实现方式中,所述目标形变位置基于修正后的所述第二目标运动轨迹确定,包括下述任一项:
根据修正后的所述第二目标运动轨迹与虚拟场景中地面的位置,确定所述互动道具的落点,将所述落点确定为目标形变位置;
根据修正后的所述第二目标运动轨迹与所述互动道具的已使用时间,将所述第二目标运动轨迹上所述互动道具的已使用时间达到时间阈值的位置确定为所述目标形变位置;
根据修正后的所述第二目标运动轨迹与虚拟场景中地面的位置,确定所述互动道具的落点,响应于所述互动道具位于所述互动道具的落点且所述互动道具的已使用时间小于时间阈值,将所述落点确定为所述目标形变位置;
根据修正后的所述第二目标运动轨迹与虚拟场景中地面的位置,确定所述互动道具的落点,响应于所述互动道具未到达所述落点且所述互动道具的已使用时间达到时间阈值,将所述第二目标运动轨迹上所述互动道具的已使用时间达到时间阈值的位置确定为所述目标形变位置。
在一种可能实现方式中,所述根据修正后的所述第二目标运动轨迹与虚拟场景中地面的位置,确定所述互动道具的落点,包括:
获取修正后的所述第二目标运动轨迹与所述虚拟场景中地面的交点,将所述交点作为所述互动道具的落点。
在一种可能实现方式中,所述获取模块还用于根据所述目标形变位置,获取所述互动道具的形变范围;
所述装置还包括:
播放模块,用于在所述形变范围内播放目标动画,所述目标动画用于表示所述虚拟场景中位于所述形变范围内的虚拟物品随着所述互动道具发生形变而发生变化。
在一种可能实现方式中,所述发送模块用于响应于所述互动道具的类型信息为目标类型,执行所述向服务器发送碰撞信息和所述互动道具的运动信息的步骤。
在一种可能实现方式中,所述互动道具与所述第一目标运动轨迹上的障碍物发生碰撞的次数为至少一次;所述第二目标运动轨迹基于至少一次碰撞时的所述碰撞信息和所述运动信息进行修正。
在一种可能实现方式中,所述控制模块用于:
响应于对互动道具的投掷操作,获取并显示所述互动道具的第一目标运动轨迹;
显示所述互动道具沿着所述第一目标运动轨迹在虚拟场景中进行运动。
一方面,提供了一种数据同步装置,所述装置包括:
获取模块,用于响应于对互动道具的投掷指令,获取所述互动道具的第二目标运动轨迹;
接收模块,用于接收终端发送的所述互动道具与障碍物碰撞时的碰撞信息和运动信息;
修正模块,用于根据所述碰撞信息和所述运动信息,对所述第二目标运动轨迹进行修正。
一方面,提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器加载并执行以实现如上述任一方面以及任一方面中任一种可能实现方式的数据同步方法所执行的操作。
一方面,提供了一种存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现如上述任一方面以及任一方面中任一种可能实现方式的数据同步方法所执行的操作。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例中,通过在互动道具在按照第一目标运动轨迹进行运动的过程中,与该第一目标运动轨迹上的障碍物发生碰撞时,向服务器同步碰撞信息和互动道具的运动信息,从而服务器可以根据同步的碰撞信息和运动信息来修正自身获取的第二目标运动轨迹,上述数据同步方法中,通过同步碰撞信息和碰撞相关的互动道具的运动信息,将服务器中互动道具的运动轨迹进行修正,从而与终端中的运动轨迹同步,这样服务器与终端中互动道具的运动轨迹一致,提高了互动道具的运动轨迹的准确性。另外,二者得到的运动轨迹相同,通过相同的运动轨迹计算的落点也即一致,可以避免出现***效果的显示位置与落点不一致的现象。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据同步方法的实施环境示意图;
图2是本申请实施例提供的一种数据同步方法的流程图;
图3是本申请实施例提供的一种数据同步方法的流程图;
图4是本申请实施例提供的一种数据同步方法的流程图;
图5是本申请实施例提供的一种终端界面示意图;
图6是本申请实施例提供的一种终端界面示意图;
图7是本申请实施例提供的一种终端界面示意图;
图8是本申请实施例提供的一种终端界面示意图;
图9是本申请实施例提供的一种终端界面示意图;
图10是本申请实施例提供的一种终端界面示意图;
图11是本申请实施例提供的一种终端界面示意图;
图12是本申请实施例提供的一种射线检测的示意图;
图13是本申请实施例提供的一种终端界面示意图;
图14是本申请实施例提供的一种数据同步方法的流程图;
图15是本申请实施例提供的一种数据同步装置的结构示意图;
图16是本申请实施例提供的一种数据同步装置的结构示意图;
图17是本申请实施例提供的一种终端1700的结构示意图;
图18是本申请实施例提供的一种服务器1800的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或一个以上,“至少两个”是指两个或两个以上,例如,至少两个节点设备是指两个或两个以上的节点设备。
以下,对本申请涉及到的术语进行解释。
虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。
虚拟对象:是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
可选地,该虚拟对象可以是通过客户端上的操作进行控制的玩家角色,也可以是通过训练设置在虚拟场景对战中的人工智能(Artificial Intelligence,AI),还可以是设置在虚拟场景互动中的非玩家角色(Non-Player Character,NPC)。可选地,该虚拟对象可以是在虚拟场景中进行竞技的虚拟人物。可选地,该虚拟场景中参与互动的虚拟对象的数量可以是预先设置的,也可以是根据加入互动的客户端的数量动态确定的。
以射击类游戏为例,用户可以控制虚拟对象在该虚拟场景的天空中自由下落、滑翔或者打开降落伞进行下落等,在陆地上中跑动、跳动、爬行、弯腰前行等,也可以控制虚拟对象在海洋中游泳、漂浮或者下潜等,当然,用户也可以控制虚拟对象乘坐虚拟载具在该虚拟场景中进行移动,例如,该虚拟载具可以是虚拟汽车、虚拟飞行器、虚拟游艇等,在此仅以上述场景进行举例说明,本申请实施例对此不作具体限定。用户也可以控制虚拟对象通过互动道具与其他虚拟对象进行战斗等方式的互动,例如,该虚拟武器可以是手雷、集束雷、烟雾弹、震爆弹、燃烧瓶或者粘性手雷(简称“粘雷”)等投掷类互动道具,也可以是机枪、***、步枪等射击类互动道具,本申请对虚拟武器的类型不作具体限定。
图1是本申请实施例提供的一种数据同步方法的实施环境示意图,参见图1,该实施环境包括:第一终端120、服务器140和第二终端160。
第一终端120安装和运行有支持虚拟场景的应用程序。该应用程序可以是第一人称射击游戏(First-Person Shooting game,FPS)、第三人称射击游戏、多人在线战术竞技游戏(Multiplayer Online Battle Arena games,MOBA)、虚拟现实应用程序、三维地图程序、军事仿真程序或者多人枪战类生存游戏中的任意一种。第一终端120可以是第一用户使用的终端,第一用户使用第一终端120操作位于虚拟场景中的第一虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,第一虚拟对象是第一虚拟人物,比如仿真人物角色或动漫人物角色。示意性的,第一虚拟对象可以是第一虚拟动物,比如仿真猴子或者其他动物等。
第一终端120以及第二终端160通过无线网络或有线网络与服务器140相连。
服务器140可以包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。服务器140用于为支持虚拟场景的应用程序提供后台服务。可选地,服务器140可以承担主要计算工作,第一终端120和第二终端160可以承担次要计算工作;或者,服务器140承担次要计算工作,第一终端120和第二终端160承担主要计算工作;或者,服务器140、第一终端120和第二终端160三者之间采用分布式计算架构进行协同计算。
示意性的,第一终端120和第二终端160可以将产生的数据发送至服务器140,服务器140可以对自身产生的数据与终端产生的数据进行校验,如果与任一终端的校验结果指示数据不一致,则可以将服务器产生的数据发送至任一终端,该任一终端以服务器产生的数据为准。
第二终端160安装和运行有支持虚拟场景的应用程序。该应用程序可以是FPS、第三人称射击游戏、MOBA、虚拟现实应用程序、三维地图程序、军事仿真程序或者多人枪战类生存游戏中的任意一种。第二终端160可以是第二用户使用的终端,第二用户使用第二终端160操作位于虚拟场景中的第二虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,第二虚拟对象是第二虚拟人物,比如仿真人物角色或动漫人物角色。示意性的,第二虚拟对象可以是第二虚拟动物,比如仿真猴子或者其他动物等。
可选地,第一终端120控制的第一虚拟对象和第二终端160控制的第二虚拟对象处于同一虚拟场景中,此时第一虚拟对象可以在虚拟场景中与第二虚拟对象进行互动。在一些实施例中,第一虚拟对象以及第二虚拟对象可以为敌对关系,例如,第一虚拟对象与第二虚拟对象可以属于不同的队伍和组织,敌对关系的虚拟对象之间,可以在陆地上以互相射击的方式进行对战方式的互动。
在另一些实施例中,第一虚拟对象以及第二虚拟对象可以为队友关系,例如,第一虚拟人物和第二虚拟人物可以属于同一个队伍、同一个组织、具有好友关系或具有临时性的通讯权限。
可选地,第一终端120和第二终端160上安装的应用程序是相同的,或两个终端上安装的应用程序是不同操作***平台的同一类型应用程序。第一终端120可以泛指多个终端中的一个,第二终端160可以泛指多个终端中的一个,本实施例仅以第一终端120和第二终端160来举例说明。第一终端120和第二终端160的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机中的至少一种。例如,第一终端120和第二终端160可以是智能手机,或者其他手持便携式游戏设备。以下实施例,以终端包括智能手机来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
图2是本申请实施例提供的一种数据同步方法的流程图,参见图2,该方法可以包括以下步骤:
201、终端响应于对互动道具的投掷操作,控制该互动道具按照第一目标运动轨迹在虚拟场景中进行运动。
其中,该互动道具为一种能够与虚拟对象进行交互的虚拟道具。用户可以通过在终端上进行操作,来控制虚拟对象在虚拟场景中使用或者控制互动道具。在本申请实施例中,用户可以进行投掷操作,终端检测到该投掷操作时,可以响应于该投掷操作,能够获取该互动道具的第一目标运动轨迹,控制虚拟对象投掷该互动道具,使得该互动道具按照该第一目标运动轨迹进行运动。
例如,该互动道具可以为是手雷、集束雷、烟雾弹、震爆弹、燃烧瓶或者粘性手雷等投掷类互动道具,本申请实施例不对互动道具的类型进行具体限定。以手雷为例,用户可以选中手雷,按住开火按钮,在调整到合适的投掷角度时松手,终端可以按照当前投掷角度投掷手雷,该手雷能够按照当前投掷角度对应的第一目标运动轨迹在空中飞行。
202、终端响应于该互动道具与该第一目标运动轨迹上的障碍物发生碰撞,获取碰撞信息和该互动道具的运动信息。
第一目标运动轨迹上可能存在障碍物,如果互动道具与障碍物发生碰撞,能够反弹,运动轨迹发生改变。其中,该障碍物可以为虚拟场景中的虚拟物体,例如,障碍物可以为墙壁、箱子或者车辆等,也可以为虚拟场景中的虚拟对象。
其中,该碰撞信息用于表示本次碰撞的相关信息,例如,碰撞位置信息,或者碰撞位置信息以及障碍物的类型信息等。该互动道具的运动信息可以为碰撞发生时互动道具的运动信息,也可以为碰撞后该互动道具的运动信息,本申请实施例对此不作下限定。
该互动道具的运动信息可以用于指示该互动道具的运动情况,例如,该运动信息可以为该互动道具的运动速度信息,该运动速度信息可以为该互动道具在碰撞时的运动速度,也可以为碰撞后的运动速度,本申请实施例对此不作限定。
可以理解地,通过该碰撞信息和运动信息,能够确定互动道具发生碰撞后的第一目标运动轨迹,从而控制该互动道具按照该第一目标运动轨迹继续运动。当然,获知了碰撞后的第一目标运动轨迹,也能够确定互动道具将要发生形变的位置,从而可以控制互动道具在该位置上发生形变。
203、终端向服务器发送该碰撞信息和该互动道具的运动信息,该碰撞信息和该互动道具的运动信息用于指示该服务器根据该碰撞信息和该运动信息修正第二目标运动轨迹,该第二目标运动轨迹为该服务器获取得到的该互动道具的目标运动轨迹。
其中,第一目标运动轨迹由终端获取得到,第二目标运动轨迹由服务器获取得到,由于服务器和终端中某些虚拟场景或者角度无法完全一致,因而,第一目标运动轨迹和第二目标运动轨迹可能不同。
在本申请实施例中,如果互动道具与障碍物发生碰撞,终端能够获取碰撞信息以及互动道具的运动信息,将其同步给服务器,以告知本次碰撞的相关信息,后续服务器可以基于该终端同步的碰撞的相关信息来修正服务器获取得到的第二目标运动轨迹,修正后的第二目标运动轨迹与终端中的第一目标运动轨迹相同。
另外,通过上述步骤,终端与服务器中互动道具的运动轨迹一致,通过相同的运动轨迹获取该互动道具发生形变的位置,也即是目标形变位置,服务器和终端中的获取结果一致。也正是由于终端与服务器之间碰撞时的信息同步修正了服务器中的第二目标运动轨迹,后续获取得到的目标形变位置也一致,互动道具能够在其真实所在位置发生形变,显示位置准确,显示效果好。
本申请实施例中,通过在互动道具在按照第一目标运动轨迹进行运动的过程中,与该第一目标运动轨迹上的障碍物发生碰撞时,向服务器同步碰撞信息和互动道具的运动信息,从而服务器可以根据同步的碰撞信息和运动信息来修正自身获取的第二目标运动轨迹,上述数据同步方法中,通过同步碰撞信息和碰撞相关的互动道具的运动信息,将服务器中互动道具的运动轨迹进行修正,从而与终端中的运动轨迹同步,这样服务器与终端中互动道具的运动轨迹一致,提高了互动道具的运动轨迹的准确性。另外,二者得到的运动轨迹相同,通过相同的运动轨迹计算的落点也即一致,可以避免出现***效果的显示位置与落点不一致的现象。
图3是本申请实施例提供的一种数据同步方法的流程图,参见图3,该方法可以包括以下步骤:
301、服务器响应于对互动道具的投掷指令,获取该互动道具的第二目标运动轨迹。
该投掷指令可以由终端响应于对互动道具的投掷操作发送。例如,在上述图2所示实施例中步骤201所示,用户可以在终端上进行投掷操作,终端检测到该投掷操作时,可以响应于该投掷操作,终端可以向服务器发送投掷指令,以告知服务器该互动道具被投掷。服务器接收到该投掷指令,可以获取该互动道具的第二目标运动轨迹。
在一种可能实现方式中,该投掷指令中可以包括互动道具被投掷时所在位置、投掷角度,服务器也可以从该投掷指令中提取该位置和投掷角度,根据该位置和投掷角度,获取第二目标运动轨迹。该第二目标运动轨迹的获取过程与上述步骤201中终端获取第一目标运动轨迹的过程同理,在此不多做赘述。
302、服务器接收终端发送的该互动道具与障碍物碰撞时的碰撞信息和运动信息。
在终端中,互动道具按照第一目标运动轨迹进行运动,互动道具与该第一目标运动轨迹上的障碍物可能会发生碰撞,在发生碰撞时终端能够执行上述步骤202和203,将碰撞信息和互动道具的运动信息发送至服务器,实现了碰撞相关信息的同步。这样该服务器能够接收到该碰撞信息和运动信息,根据这两种信息来确定互动道具碰撞后的第二目标运动轨迹,根据这两种信息确定的第二目标运动轨迹可能与步骤301中的第二目标运动轨迹不同,因而,可以执行下述步骤303,以终端同步的信息作为第二目标运动轨迹的修正依据。
在一种可能实现方式中,服务器在执行步骤301之后,也可以根据该第二目标运动轨迹与虚拟场景来确定该第二目标运动轨迹上是否包括障碍物,进而确定该互动道具是否会与第二目标运动轨迹上的障碍物发生碰撞,并在确定发生碰撞时获取上述碰撞信息和运动信息。
在该实现方式中,服务器接收到终端同步的碰撞信息和运动信息,可以与自身获取的碰撞信息和运动信息进行对比,以确定二者是否一致。如果二者一致,服务器可以不执行下述步骤303,而是根据该碰撞信息和运动信息,直接获取碰撞后的第二目标运动轨迹。如果二者不一致,再执行下述步骤303,重新确定第二目标运动轨迹,对原本的第二目标运动轨迹进行修正。
服务器还可以对自身获取的碰撞信息和运动信息进行更新,这样终端和服务器中该互动道具的碰撞信息和运动信息一致,该互动道具的目标运动轨迹也即一致,因而,后续根据目标运动轨迹确定的目标形变位置也就一致。
303、服务器根据该碰撞信息和该运动信息,对该第二目标运动轨迹进行修正。
通过上述步骤,服务器接收到终端同步的碰撞信息和运动信息,可以根据该两种信息来确定互动道具碰撞后的运动轨迹,也即是对第二目标运动轨迹进行修正。该第二目标运动轨迹基于终端同步的碰撞信息和运动信息修正,这样终端和服务器中该互动道具的碰撞信息和运动信息一致,该互动道具的第一目标运动轨迹和第二目标运动轨迹也即一致。后续通过该目标运动轨迹确定的目标形变位置也就一致。
在一种可能实现方式中,在通过本申请实施例提供的方法进行数据同步后,服务器可以基于修正后的第二目标运动轨迹确定目标形变位置,又第一目标运动轨迹与第二目标运动轨迹一致,互动道具能够按照第一目标运动轨迹进行运动至目标形变位置处,这样终端也就可以根据该目标形变位置显示形变动画。显示形变动画的位置与互动道具所在位置一致,提高了显示位置的准确性,提高了互动道具形变的显示效果。
在一种可能实现方式中,互动道具在按照第一目标运动轨迹进行运动时可能与多个障碍物发生碰撞,每次碰撞终端均可以将碰撞信息和运动信息同步给服务器,服务器均可以根据终端同步的碰撞信息和运动信息对互动道具的第二目标运动轨迹进行修正,这样服务器和终端中该互动道具的第二目标运动轨迹与第一目标运动轨迹保持一致。具体地,每次对第二目标运动轨迹的过程均与上述步骤303同理,本申请实施例对碰撞次数不作限定。
本申请实施例中,在对互动道具进行投掷后,可以获取该互动道具的第二目标运动轨迹,互动道具在运动的过程中与该障碍物发生碰撞时,可以向服务器同步碰撞信息和互动道具的运动信息,服务器可以根据同步的碰撞信息和运动信息来修正自身获取的第二目标运动轨迹,上述数据同步方法中,通过接收终端同步的碰撞相关信息,将服务器中互动道具的运动轨迹进行修正,从而与终端中的运动轨迹同步,这样服务器与终端中互动道具的运动轨迹一致,提高了互动道具的运动轨迹的准确性。另外,二者得到的运动轨迹相同,通过相同的运动轨迹计算的落点也即一致,可以避免出现***效果的显示位置与落点不一致的现象。
图4是本申请实施例提供的一种数据同步方法的流程图,在本实施例中,通过终端和服务器交互的形式对两种方法流程进行了说明。参见图4,该方法可以包括以下步骤:
401、终端响应于对互动道具的投掷操作,控制该互动道具按照第一目标运动轨迹在虚拟场景中进行运动。
用户可以通过操作控制虚拟对象获取该互动道具,终端可以在虚拟场景中该虚拟对象的对应位置上显示互动道具。例如,该互动道具为手雷,用户可以控制虚拟对象获得手雷,终端可以在虚拟对象的腰间显示有手雷。
其中,该互动道具可以包括两种获取方式,具体如下:
获取方式一、虚拟对象拾取获得。
在获取方式一中,终端可以在虚拟场景中显示多种虚拟道具,该多种虚拟道具中可以包括互动道具和固定道具。其中,该互动道具可以为能够与虚拟对象进行互动的道具,例如,手雷、烟雾弹、燃烧瓶等。固定道具可以为无法与虚拟对象进行互动的道具,例如,桌子、箱子、废旧车辆等。用户看到互动道具时,可以通过拾取操作,来控制虚拟对象拾取互动道具。
具体的,该互动道具可以显示于虚拟场景的地面或虚拟物品上,当终端所对应的虚拟对象与该互动道具之间的距离小于目标阈值时,在该虚拟场景中显示该互动道具的拾取选项,当检测到对该拾取选项的触发操作时,终端可以控制该虚拟对象拾取该互动道具,当拾取完毕后,在虚拟场景中的虚拟对象的目标部位上显示该互动道具,从而象征该虚拟对象装备了该互动道具。
其中,该目标部位可以是手部、肩部、背部等,本申请实施例对目标部位不作限定。该目标阈值可以由相关技术人员根据需求进行设置,本申请实施例对此不作限定。
获取方式二、虚拟对象呼唤获得。
在该获取方式二中,终端可以在该虚拟场景中,显示呼唤控件,当用户要呼唤互动道具时,可以对呼唤控件进行触发操作,则终端会接收到对该呼唤控件的触发信号,生成创建指令,从而可以响应于该创建指令,创建互动道具。其中,该呼唤控件用于呼唤该互动道具进入该虚拟场景,呼唤控件的形态可以是在虚拟场景中悬浮显示的一个按钮。
对于该互动道具,用户可以通过操作,控制虚拟对象使用互动道具。在一种可能实现方式中,该终端还可以在用户图形界面上显示互动道具的触发控件,该触发控件用于检测用户的投掷操作,以控制虚拟对象通过该投掷控件来控制互动道具的投掷。
下面通过一个具体示例,对互动道具的投掷过程进行说明。如图5所示,终端可以在用户图形界面中互动道具的显示项501中,显示该虚拟对象装备有互动道具,如果用户想要使用互动道具,可以选中互动道具,并对触发控件502进行触控操作,来完成投掷操作。该触控控件502的数量可以为一个,也可以为两个及两个以上,本申请实施例对此不作限定。
需要说明的是,该触发控件502在用户选中投掷类互动道具之前可以为其他互动道具的触发控件,或者其他动作的触发控件。例如,如果用户选中的为枪械类互动道具,则该触发控件502也可以称为开枪控件。如果用户未选中任何互动道具,则该触发控件502可以为挥拳控件。而如果用户选中的为上述投掷类互动道具,则该触控控件502可以称为投掷控件。
在一种可能实现方式中,终端可以根据当前控制互动道具的状态,按照该状态对应的显示样式,显示该触控控件502。例如,该触控控件502为开枪控件时,该触控控件502的显示样式为:按钮中心显示有子弹。如果该触控控件为投掷控件,该触控控件502的显示样式为:按钮中心显示有手雷。如果该触控控件502为挥拳控件,该触控控件502的显示样式为:按钮中心显示有拳头。
在一种可能实现方式中,在互动道具处于被选中状态时,终端还可以根据当前虚拟场景的视角方向,获取并显示该互动道具的候选运动轨迹。具体的,终端可以根据当前虚拟场景的视角方向,确定该互动道具的投掷角度,根据该投掷角度,获取并显示该互动道具的候选运动轨迹。
例如,如图6所示,用户选中互动道具,则终端可以显示该互动道具的显示项501处于高亮状态,如果终端检测到对触控控件502的触发操作,该触发操作也即是投掷操作,终端可以根据当前视角对应的投掷角度,显示候选运动轨迹504。如果用户想要调整,则可以进行视角调整操作,终端可以根据视角调整操作,调整该候选运动轨迹504,直至用户满意时可以停止对触控控件502的触发操作,从而控制互动道具投掷出去。投掷出去时的候选运动轨迹504即为第一目标运动轨迹。在用户停止触发操作之前,终端还可以显示取消投掷按钮503,如果用户想要停止投掷操作,可以通过对取消投掷按钮503的触发操作实现。
在一种可能实现方式中,该互动道具还可以具有固定的使用时间,当该互动道具的已使用时间达到时间阈值时,该互动道具会发生形变。具体的,终端在检测到对触控控件的触发操作时,还可以在用户图形界面中显示该互动道具的剩余使用时长,例如,如图7所示,用户按住触控控件502后,可以在界面中显示剩余使用时长505,该剩余使用时长4s用于表示4s后该互动道具将会发生形变。
需要说明的是,在用户停止按住触控控件502时,该互动道具被投掷出去,终端还可以继续显示上述剩余使用时长505。如图8所示,如果虚拟对象所装备的互动道具的数量为一个,则可以将虚拟对象的状态切换回控制枪械类互动道具的状态,并在界面中显示该剩余使用时长505,该互动道具的剩余使用时长为1s。如果虚拟对象所装备的互动道具的数量为多个,终端可以显示该虚拟对象处于使用下一个互动道具的状态,这种情况可以如图5或者图6所示,在此不多做赘述。
在一种可能实现方式中,该步骤401中,终端还可以对互动道具的第一目标运动轨迹进行显示,这样用户能够更直观地、清晰地观察到互动道具的运动情况。具体的,终端可以响应于对互动道具的投掷操作,获取并显示该互动道具的第一目标运动轨迹,显示该互动道具沿着该第一目标运动轨迹在虚拟场景中进行运动。
402、终端向服务器发送投掷指令。
终端还可以响应于投掷操作,向服务器发送投掷指令,该投掷指令用于告知服务器互动道具被投掷时的相关信息。该投掷指令中的信息可以作为服务器确定互动道具的第二目标运动轨迹的数据依据。
在一种可能实现方式中,该投掷指令可以包括互动道具被投掷时所在位置、投掷角度。该互动道具被投掷时所在位置、投掷角度可以用于确定互动道具的第一目标运动轨迹或第二目标运动轨迹。
403、服务器响应于对互动道具的投掷指令,获取该互动道具的第二目标运动轨迹。
服务器也可以从该投掷指令中提取该位置和投掷角度,根据该位置和投掷角度,获取第二目标运动轨迹。该第二目标运动轨迹的获取过程与上述步骤201中终端获取第一目标运动轨迹的过程同理,在此不多做赘述。
需要说明的是,第一目标运动轨迹和第二目标运动轨迹分别为终端和服务器获取得到的该互动道具的目标运动轨迹,由于终端和服务器中某些虚拟场景和角度可能不完全一致,二者获取得到的第一目标运动轨迹和第二目标运动轨迹可能不一致,因而,终端和服务器可以执行下述步骤404至步骤407,来将二者修正为一致的目标运动轨迹。
404、终端响应于该互动道具与该第一目标运动轨迹上的障碍物发生碰撞,获取碰撞信息和该互动道具的运动信息。
405、终端向服务器发送碰撞信息和该互动道具的运动信息。
如果该互动道具与第一目标运动轨迹上的障碍物发生碰撞,终端可以获取该碰撞信息和互动道具的运动信息,将其同步给服务器。通过该步骤404和步骤405,终端和服务器中互动道具的碰撞信息和运动信息一致,计算得到的第一目标运动轨迹也即一致,后续确定的目标形变位置也就一致,因而,通过该同步的步骤,后续互动道具形变动画的显示位置准确,显示效果好。
在一种可能实现方式中,互动道具可以包括多种类型,有些互动道具与障碍物发生碰撞后会反弹,例如,手雷、烟雾弹等。另一些互动道具与障碍物发生碰撞后不会反弹,例如,粘雷。对于不会发生反弹的互动道具,也就不会终端与服务器计算得到的目标形变位置不一致的情况,因而,该方法可以仅在互动道具为会反弹的这一类互动道具中。在此可以将会反弹的这一类互动道具的类型信息为目标类型。
在该实现方式中,终端可以获取该互动道具的类型信息,判断当前控制的互动道具的类型信息是否为目标类型,如果是,终端可以执行步骤405,如果否,终端则无需执行该步骤405。
具体的,终端可以响应于该互动道具的类型信息与该第一目标运动轨迹上的障碍物发生碰撞,执行该向服务器发送碰撞信息和该互动道具的运动信息的步骤。
可选的,终端也可以响应于该互动道具的类型信息不是目标类型,在该碰撞位置信息处,显示该互动道具的形变动画。例如,如图9所示,用户控制虚拟对象投掷出一个粘雷900,该粘雷900与虚拟场景中的墙壁发生了碰撞后粘在该墙壁上,终端可以在该位置处显示形变动画。
406、服务器接收终端发送的该互动道具与障碍物碰撞时的碰撞信息和运动信息。
407、服务器根据该碰撞信息和该运动信息,对该第二目标运动轨迹进行修正。
服务器接收到终端同步的碰撞相关信息,可以根据二者来重新获取第二目标运动轨迹,修正了原有的第二目标运动轨迹。
对于碰撞信息,该碰撞信息可以包括不同的信息,在一种可能实现方式中,该碰撞信息可以包括碰撞位置信息,可以理解的,互动道具碰撞后,会从该碰撞位置信息出发向某个方向继续运动。因而,通过同步碰撞位置信息,即可同步该互动道具碰撞后运动的出发点。
在另一种可能实现方式中,该碰撞信息除了碰撞位置信息之外,还可以包括其他信息,例如,障碍物的类型信息。在该实现方式中,不同类型信息的障碍物的反弹系数不同。通过同步障碍物的类型信息,可以确定互动道具反弹时的反弹系数,从而可以反弹系数计算反弹后的速度。
对于运动信息,该运动信息可以为该互动道具发生碰撞时的运动速度信息,也可以为该互动道具碰撞后的运动速度信息。其中,该运动速度信息可以为运动速度,两种运动速度均为矢量,既包括大小,也包括方向。通过碰撞时的运动速度信息和上述碰撞位置信息,可以计算碰撞后的运动速度信息以及第二目标运动轨迹,通过碰撞后的运动速度信息和碰撞位置信息也可以计算得到碰撞后的第二目标运动轨迹。本申请实施例对碰撞信息和运动信息具体为哪种信息不作限定。
下面针对碰撞信息和运动信息的不同,提供了三种确定第二目标运动轨迹的可能情况:
情况一、该碰撞信息包括碰撞位置信息;该运动信息包括该互动道具碰撞时该互动道具的运动速度信息。相应地,第二目标运动轨迹的确定过程可以为:服务器根据该碰撞位置信息以及该互动道具碰撞时该互动道具的运动速度信息,获取该互动道具碰撞后的运动速度信息,以该碰撞位置信息为起点,该碰撞后的运动速度信息为初始运动速度信息,获取该互动道具碰撞后的第二目标运动轨迹。
在该情况一中,终端向服务器同步的信息为碰撞时的信息,服务器需要根据该碰撞时的信息,获取互动道具碰撞后的信息。可以理解的,该碰撞位置信息即为第二目标运动轨迹的起点,碰撞后的运动速度信息可以基于碰撞前的运动速度信息计算得到。在起点确定,初始运动速度信息确定的情况下,即可计算得到第二目标运动轨迹。其中,该互动道具碰撞后的运动速度信息也可以称之为反弹速度,反映了反弹后的运动方向和速度大小。
情况二、该碰撞信息包括碰撞位置信息和该障碍物的类型信息,该运动信息包括该互动道具碰撞时的运动速度信息。相应地,该第二目标运动轨迹的确定过程可以为:服务器根据该障碍物的类型信息获取该互动道具对应的反弹信息,根据该碰撞位置信息、该反弹信息和该互动道具碰撞时该互动道具的运动速度信息,确定该互动道具碰撞后的运动速度信息。
在该情况二中,不同类型信息的障碍物对应于不同的反弹信息,碰撞前的运动速度信息相同,反弹信息不同时,则获取得到碰撞后的运动速度信息也就不同。
在一种可能实现方式中,该反弹信息可以为反弹系数,为计算碰撞后的运动速度信息的计算方式中的一个系数。在一个具体的可能实施例中,该障碍物的类型信息可以包括第一类型信息和第二类型信息,第一类型信息对应第一反弹系数,第二类型信息对应第二反弹系数。相应的,上述步骤一中,服务器响应于障碍物的类型信息为第一类型信息,获取第一类型信息对应的第一反弹系数,根据该碰撞位置信息、第一反弹系数以及碰撞前的运动速度信息,获取碰撞后的运动速度信息。服务器以该碰撞位置信息为起点,该碰撞后的运动速度信息为初始运动速度信息,获取该互动道具碰撞后的第二目标运动轨迹。
例如,对于障碍物的类型信息,如图10和图11所示,第一类型信息的障碍物可以为虚拟场景中的虚拟物品1001,例如,墙壁、地面等。第二类型信息的障碍物可以为虚拟场景中的虚拟对象1002。在一个具体的可能实施例中,该第一类型信息对应的第一反弹系数可以大于第二类型信息对应的第二反弹系数,当然,也可以包括其他情况,例如,第一反弹系数小于第二反弹系数,本申请实施例对此不作限定。
情况三、该碰撞信息包括碰撞位置信息;该运动信息包括该互动道具碰撞后该互动道具的运动速度信息。相应的,该第二目标运动轨迹的确定过程可以为:服务器以该碰撞位置信息为起点,该碰撞后该互动道具的运动速度信息为初始运动速度信息,获取该互动道具碰撞后的第二目标运动轨迹。
在该情况三中,终端直接向服务器同步碰撞后互动道具的运动速度信息,再结合碰撞位置信息,即可根据二者计算得到第二目标运动轨迹。
408、服务器根据修正后的第二目标运动轨迹,确定该互动道具的目标形变位置。
其中,该目标形变位置可以由服务器基于该互动道具的第二目标运动轨迹确定。该目标形变位置由服务器基于第二目标形变位置确定,在一种可能实现方式中,终端也可以基于该互动道具的第一目标运动轨迹确定目标形变位置,该确定过程与服务器确定目标形变位置的过程同理,在此不多做赘述。
在该实现方式中,终端还可以将自身确定的目标形变位置与服务器确定的目标形变位置进行对比。如果二者一致,则终端可以执行下述步骤411;如果二者不一致,则终端以服务器确定的目标形变位置为准,执行下述步骤411。
需要说明的是,通过上述步骤404和步骤405,终端在互动道具发生碰撞时向服务器同步了碰撞信息和运动信息,终端和服务器确定该互动道具的运动轨迹一致,用于确定目标形变位置所依据的信息一致,确定出的目标形变位置也就一致,因而,基于上述方式确定出的目标形变位置,执行下述步骤411,互动道具能够在到达目标形变位置时,在目标形变位置处显示形变动画,其到达的位置与形变位置一致,显示位置准确,显示效果好。
对于该目标形变位置的确定过程,该目标道具可以包括多种发生形变的触发方式,例如,该目标道具落地时会发生形变,又例如,该目标道具的已使用时间达到时间阈值时发生形变。下面针对该触发方式,提供了确定目标形变位置的四种可能实现方式:
方式一、服务器根据修正后的该第二目标运动轨迹与虚拟场景中地面的位置,确定该互动道具的落点,将该落点确定为目标形变位置。在该方式一中,该目标道具落地时会发生形变,该目标形变位置也即是该互动道具的落点。
方式二、服务器根据修正后的该第二目标运动轨迹与该互动道具的已使用时间,将该第二目标运动轨迹上该互动道具的已使用时间达到时间阈值的位置确定为该目标形变位置。在该方式二中,该目标道具的已使用时间达到时间阈值时发生形变,服务器可以统计该互动道具的已使用时间,将已使用时间与时间阈值比较,将二者相同时互动道具所在位置作为目标形变位置。
方式三、服务器根据修正后的该第二目标运动轨迹与虚拟场景中地面的位置,确定该互动道具的落点,响应于该互动道具位于该互动道具的落点且该互动道具的已使用时间小于时间阈值,将该落点确定为该目标形变位置。
方式四、服务器根据修正后的该第二目标运动轨迹与虚拟场景中地面的位置,确定该互动道具的落点,响应于该互动道具未到达该落点且该互动道具的已使用时间达到时间阈值,将该第二目标运动轨迹上该互动道具的已使用时间达到时间阈值的位置确定为该目标形变位置。
在该方式三和四中,该目标道具有两种触发方式,落地时会发生形变,已使用时间达到时间阈值时也会发生形变。因而,服务器可以判断互动道具是先落地,还是已使用时间达到时间阈值在落地前。一旦满足任一项,均可以确定目标形变位置。
其中,在上述方式一、三和四中,服务器确定互动道具的落点的过程具体可以为:服务器获取修正后的该第二目标运动轨迹与该虚拟场景中地面的交点,将该交点作为该互动道具的落点。
需要说明的是,上述互动道具的第一目标运动轨迹和第二目标运动轨迹为抛物线,终端可以检测互动道具在按照第一目标运动轨迹运动时是否会与障碍物发生碰撞,该检测过程可以通过射线检测的方式实现。具体的,互动道具可以在运动过程中向第一目标运动轨迹上互动道具所在位置所对应的切线方向发射目标长度的射线,当该射线穿过障碍物对于上述发生碰撞,其中,该目标长度可以由相关技术人员根据需求进行设置,例如,该目标长度可以为一个较小的值,1厘米(cm)。本申请实施例对此不作限定。
例如,如图12所示,互动道具按照第一目标运动轨迹1200进行运动,在运动到当前位置时可以向前发射一个很短的射线AB,如果该射线AB穿过了障碍物,则该互动道具与障碍物发生碰撞,如果未穿过障碍物,则互动道具不会发生碰撞。
在一种可能实现方式中,终端可能会与第一目标运动轨迹上的障碍物发生一次碰撞,也可以发生两次,甚至两次以上的碰撞,也即是,该互动道具与该第一目标运动轨迹上的障碍物发生碰撞的次数为至少一次。如图13所示,互动道具可能与虚拟场景中的多个障碍物发生多次碰撞。互动道具在与一个障碍物发生碰撞反弹后,可能再次与其他障碍物发生碰撞再反弹。
在该实现方式中,终端均可以执行步骤405,向服务器发送碰撞信息和运动信息,服务器与终端同步该至少一次碰撞时的该碰撞信息和该运动信息,从而根据这些信息修正第二目标运动轨迹。也即是,该第二目标运动轨迹基于至少一次碰撞时的该碰撞信息和该运动信息进行修正。这样一旦发生了碰撞,终端和服务器均同步了碰撞信息和运动信息,终端和服务器中互动道具的目标运动轨迹一直一致,确定的目标运动轨迹的准确性好。
409、服务器向该终端发送该目标形变位置。
410、终端接收该服务器发送的目标形变位置。
其中,该目标形变位置基于第二目标运动轨迹确定,由于该第二目标形变位置基于终端同步的碰撞信息和该互动道具的运动信息确定,也可以理解为该目标形变位置基于终端同步的碰撞信息和互动道具的运动信息确定,具体确定过程可以参见上述步骤408。
411、终端响应于该互动道具位于该目标形变位置,在该目标形变位置上,显示该互动道具的形变动画。
其中,该形变动画用于表示该互动道具发生形变的效果。在一种可能实现方式中,不同的互动道具对应不同的形变动画,例如,如果互动道具为手雷,该形变动画可以为***效果。如果互动道具为烟雾弹,该形变动画可以为烟雾效果。如果该互动道具为震爆弹,该形变动画可以为震爆效果。
服务器确定了目标形变位置,则通过上述步骤409和步骤410,向终端同步了确定的目标形变位置,终端可以继续控制该互动道具按照第一目标运动轨迹进行运动,直至该互动道具位于该目标形变位置时,可以在该目标形变位置上,显示该互动道具的形变动画。这样用户看到的显示效果为:互动道具到达某个位置,并在该位置上发生了形变。这样互动道具所在位置与形变动画显示位置一致,显示位置准确,显示效果更好。
上述步骤中,终端在互动道具发生碰撞后,可以继续控制该互动道具按照碰撞后的第一目标运动轨迹进行运动,由于终端与服务器同步了碰撞信息和运动信息,二者确定出互动道具碰撞后的目标运动轨迹则相同,通过该第二目标运动轨迹确定出的目标形变位置即为该第一目标运动轨迹上的一个位置,从而在控制互动道具运动的过程中,该互动道具运动到该目标形变位置上时,终端可以在该目标形变位置上显示形变动画,来体现该互动道具运动到该位置时发生了形变。
在一种可能实现方式中,该互动道具发生形变还可以对虚拟场景中的其他虚拟物品造成影响,例如,手雷发生***时可以将虚拟场景中的箱子炸毁,将虚拟场景中的车辆引爆等。则上述步骤409中,终端显示形变动画时,还可以显示其他虚拟物品受到该互动道具形变影响的效果。
具体的,终端可以根据该目标形变位置,获取该互动道具的形变范围,在该形变范围内播放目标动画,该目标动画用于表示该虚拟场景中位于该形变范围内的虚拟物品随着该互动道具发生形变而发生变化。通过该形变范围的获取和目标动画的播放,真实模拟了手雷等武器在真实场景中使用的情况,更具真实感,显示效果更好。
本申请实施例中,通过在互动道具在按照第一目标运动轨迹进行运动的过程中,与该第一目标运动轨迹上的障碍物发生碰撞时,向服务器同步碰撞信息和互动道具的运动信息,从而服务器可以根据同步的碰撞信息和运动信息来修正自身获取的第二目标运动轨迹,上述数据同步方法中,通过同步碰撞信息和碰撞相关的互动道具的运动信息,将服务器中互动道具的运动轨迹进行修正,从而与终端中的运动轨迹同步,这样服务器与终端中互动道具的运动轨迹一致,提高了互动道具的运动轨迹的准确性。另外,二者得到的运动轨迹相同,通过相同的运动轨迹计算的落点也即一致,可以避免出现***效果的显示位置与落点不一致的现象。
下面提供一个具体示例,如图14所示,该方法的具体流程如下述步骤:
步骤一:在本游戏中投掷物类型的武器(也即是上述目标类型的互动道具)才会有该功能,因此首先需要切换出投掷物类型的武器,当玩家切换出投掷物类型的武器后就可以按下开火键(也即是触控控件502)进入预瞄准状态,这时候会显示出一条红色抛物线(也即是候选运动轨迹504),该抛物线是显示给玩家该投掷物即将要飞行的轨迹,而该抛物线是通过当前的位置,反向,以及配置的飞行速度在一帧内计算出来的,然后每个一小段位置可以收集一个点(也即是每一小段位置可以计算得到一个点)。把所有收集的点传递给一条特效线,然后该特效线就会根据这些点来形成一个轨迹(也即是该候选运动轨迹504)。
步骤二:用户松开手后投掷物武器即可飞出去,这是因为松开手指后,屏幕的手指触摸信息发生变化,然后就会计算出一个弹起消息,弹起来即触发开火事件,然后把投掷物(也即是互动道具)投掷出去,投掷出去后,如果玩家有一个手雷,可以切换回原来的武器(也即是枪械类互动道具)。
步骤三:投掷物在飞行的过程中可能会碰撞到很多东西(也即是障碍物),投掷物在飞行的过程中都会往前发射一条小距离的射线。AB线段即是发射的射线检测,因为投掷物是沿着抛物线轨迹飞行的,因此,每一帧对应的AB线段的方向和速度都在变化,而AB线段的方向即是抛物线的切线方向。
当根据射线检测,检测到物体时,即可获知所碰撞的物体信息(也即是障碍物的类型信息),然后把碰撞的位置(也即是碰撞信息)和计算后的反弹方向(也即是运动信息)全部同步给服务器,服务器就会按照新的位置,方向,速度(也即是碰撞后的运动信息)来改变服务器的轨迹。
步骤四:当投掷物落地后就会***(发生形变,显示形变动画),以服务器的***信息(也即是包括目标形变位置)为准,服务器会下发***信息给客户端,客户端只有收到***信息的时候才会***。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
图15是本申请实施例提供的一种数据同步装置的结构示意图,请参考图15,该装置包括:
控制模块1501,用于响应于对互动道具的投掷操作,控制该互动道具按照第一目标运动轨迹在虚拟场景中进行运动;
获取模块1502,用于响应于该互动道具与该第一目标运动轨迹上的障碍物发生碰撞,获取碰撞信息和该互动道具的运动信息;
发送模块1503,用于向服务器发送该碰撞信息和该互动道具的运动信息,该碰撞信息和该互动道具的运动信息用于指示该服务器根据该碰撞信息和该运动信息修正第二目标运动轨迹,该第二目标运动轨迹为该服务器获取得到的该互动道具的目标运动轨迹。
在一种可能实现方式中,该碰撞信息包括碰撞位置信息;该运动信息包括该互动道具碰撞时该互动道具的运动速度信息;
该根据该碰撞信息和该运动信息修正第二目标运动轨迹,包括:
根据该碰撞位置信息以及该互动道具碰撞时该互动道具的运动速度信息,获取该互动道具碰撞后的运动速度信息;
以该碰撞位置信息为起点,该碰撞后的运动速度信息为初始运动速度信息,获取该互动道具碰撞后的第二目标运动轨迹。
在一种可能实现方式中,该碰撞信息还包括障碍物的类型信息;
该根据该碰撞位置信息以及该互动道具碰撞时该互动道具的运动速度信息,获取该互动道具碰撞后的运动速度信息,包括:
根据该障碍物的类型信息获取该互动道具对应的反弹信息;
根据该碰撞位置信息、该反弹信息和该互动道具碰撞时该互动道具的运动速度信息,确定该互动道具碰撞后的运动速度信息。
在一种可能实现方式中,该碰撞信息包括碰撞位置信息;该运动信息包括该互动道具碰撞后该互动道具的运动速度信息;
该根据该碰撞信息和该运动信息修正第二目标运动轨迹包括:
以该碰撞位置信息为起点,该碰撞后该互动道具的运动速度信息为初始运动速度信息,获取该互动道具碰撞后的第二目标运动轨迹。
在一种可能实现方式中,该装置还包括:
接收模块,用于接收该服务器发送的目标形变位置,该目标形变位置基于修正后的该第二目标运动轨迹确定;
显示模块,用于响应于该互动道具位于该目标形变位置,在该目标形变位置上,显示该互动道具的形变动画。
在一种可能实现方式中,该目标形变位置基于修正后的该第二目标运动轨迹确定,包括下述任一项:
根据修正后的该第二目标运动轨迹与虚拟场景中地面的位置,确定该互动道具的落点,将该落点确定为目标形变位置;
根据修正后的该第二目标运动轨迹与该互动道具的已使用时间,将该第二目标运动轨迹上该互动道具的已使用时间达到时间阈值的位置确定为该目标形变位置;
根据修正后的该第二目标运动轨迹与虚拟场景中地面的位置,确定该互动道具的落点,响应于该互动道具位于该互动道具的落点且该互动道具的已使用时间小于时间阈值,将该落点确定为该目标形变位置;
根据修正后的该第二目标运动轨迹与虚拟场景中地面的位置,确定该互动道具的落点,响应于该互动道具未到达该落点且该互动道具的已使用时间达到时间阈值,将该第二目标运动轨迹上该互动道具的已使用时间达到时间阈值的位置确定为该目标形变位置。
在一种可能实现方式中,该根据修正后的该第二目标运动轨迹与虚拟场景中地面的位置,确定该互动道具的落点,包括:
获取修正后的该第二目标运动轨迹与该虚拟场景中地面的交点,将该交点作为该互动道具的落点。
在一种可能实现方式中,该获取模块1502还用于根据该目标形变位置,获取该互动道具的形变范围;
该装置还包括:
播放模块,用于在该形变范围内播放目标动画,该目标动画用于表示该虚拟场景中位于该形变范围内的虚拟物品随着该互动道具发生形变而发生变化。
在一种可能实现方式中,该发送模块1503用于响应于该互动道具的类型信息为目标类型,执行该向服务器发送碰撞信息和该互动道具的运动信息的步骤。
在一种可能实现方式中,该互动道具与该第一目标运动轨迹上的障碍物发生碰撞的次数为至少一次;该第二目标运动轨迹基于至少一次碰撞时的该碰撞信息和该运动信息进行修正。
在一种可能实现方式中,该控制模块1501用于:
响应于对互动道具的投掷操作,获取并显示该互动道具的第一目标运动轨迹;
显示该互动道具沿着该第一目标运动轨迹在虚拟场景中进行运动。
本申请实施例中,通过在互动道具在按照第一目标运动轨迹进行运动的过程中,与该第一目标运动轨迹上的障碍物发生碰撞时,向服务器同步碰撞信息和互动道具的运动信息,从而服务器可以根据同步的碰撞信息和运动信息来修正自身获取的第二目标运动轨迹,上述数据同步方法中,通过同步碰撞信息和碰撞相关的互动道具的运动信息,将服务器中互动道具的运动轨迹进行修正,从而与终端中的运动轨迹同步,这样服务器与终端中互动道具的运动轨迹一致,提高了互动道具的运动轨迹的准确性。另外,二者得到的运动轨迹相同,通过相同的运动轨迹计算的落点也即一致,可以避免出现***效果的显示位置与落点不一致的现象。
需要说明的是:上述实施例提供的数据同步装置在进行数据同步时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据同步装置与数据同步方法实施例属于同一构思,其具体实现过程详见数据同步方法实施例,这里不再赘述。
图16是本申请实施例提供的一种数据同步装置的结构示意图,请参考图16,该装置包括:
获取模块1601,用于响应于对互动道具的投掷指令,获取该互动道具的第二目标运动轨迹;
接收模块1602,用于接收终端发送的该互动道具与障碍物碰撞时的碰撞信息和运动信息;
修正模块1603,用于根据该碰撞信息和该运动信息,对该第二目标运动轨迹进行修正。
本申请实施例中,在对互动道具进行投掷后,可以获取该互动道具的第二目标运动轨迹,互动道具在运动的过程中与该障碍物发生碰撞时,可以向服务器同步碰撞信息和互动道具的运动信息,服务器可以根据同步的碰撞信息和运动信息来修正自身获取的第二目标运动轨迹,上述数据同步方法中,通过接收终端同步的碰撞相关信息,将服务器中互动道具的运动轨迹进行修正,从而与终端中的运动轨迹同步,这样服务器与终端中互动道具的运动轨迹一致,提高了互动道具的运动轨迹的准确性。另外,二者得到的运动轨迹相同,通过相同的运动轨迹计算的落点也即一致,可以避免出现***效果的显示位置与落点不一致的现象。
需要说明的是:上述实施例提供的数据同步装置在进行数据同步时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据同步装置与数据同步方法实施例属于同一构思,其具体实现过程详见数据同步方法实施例,这里不再赘述。
上述电子设备可以被提供为下述图17所示的终端,也可以被提供为下述图18所示的服务器,本申请实施例对此不作限定。
图17是本申请实施例提供的一种终端1700的结构示意图,该终端1700可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1700包括有:处理器1701和存储器1702。
处理器1701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1701所执行以实现本申请中各个实施例提供的数据同步方法中终端侧的方法步骤。
在一些实施例中,终端1700还可选包括有:***设备接口1703和至少一个***设备。处理器1701、存储器1702和***设备接口1703之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1703相连。具体地,***设备包括:射频电路1704、触摸显示屏1705、摄像头组件1706、音频电路1707和电源1709中的至少一种。
***设备接口1703可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1701和存储器1702。在一些实施例中,处理器1701、存储器1702和***设备接口1703被集成在同一芯片或电路板上;在一些其他实施例中,处理器1701、存储器1702和***设备接口1703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1704包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1705是触摸显示屏时,显示屏1705还具有采集在显示屏1705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1701进行处理。此时,显示屏1705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1705可以为一个,设置终端1700的前面板;在另一些实施例中,显示屏1705可以为至少两个,分别设置在终端1700的不同表面或呈折叠设计;在再一些实施例中,显示屏1705可以是柔性显示屏,设置在终端1700的弯曲表面上或折叠面上。甚至,显示屏1705还可以设置成非矩形的不规则图形,也即异形屏。显示屏1705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1706用于采集图像或视频。可选地,摄像头组件1706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1701进行处理,或者输入至射频电路1704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1701或射频电路1704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1707还可以包括耳机插孔。
电源1709用于为终端1700中的各个组件进行供电。电源1709可以是交流电、直流电、一次性电池或可充电电池。当电源1709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1700还包括有一个或多个传感器1710。该一个或多个传感器1710包括但不限于:加速度传感器1711、陀螺仪传感器1712、压力传感器1713、光学传感器1715以及接近传感器1716。
加速度传感器1711可以检测以终端1700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1711可以用于检测重力加速度在三个坐标轴上的分量。处理器1701可以根据加速度传感器1711采集的重力加速度信号,控制触摸显示屏1705以横向视图或纵向视图进行用户界面的显示。加速度传感器1711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1712可以检测终端1700的机体方向及转动角度,陀螺仪传感器1712可以与加速度传感器1711协同采集用户对终端1700的3D动作。处理器1701根据陀螺仪传感器1712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1713可以设置在终端1700的侧边框和/或触摸显示屏1705的下层。当压力传感器1713设置在终端1700的侧边框时,可以检测用户对终端1700的握持信号,由处理器1701根据压力传感器1713采集的握持信号进行左右手识别或快捷操作。当压力传感器1713设置在触摸显示屏1705的下层时,由处理器1701根据用户对触摸显示屏1705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1715用于采集环境光强度。在一个实施例中,处理器1701可以根据光学传感器1715采集的环境光强度,控制触摸显示屏1705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1705的显示亮度;当环境光强度较低时,调低触摸显示屏1705的显示亮度。在另一个实施例中,处理器1701还可以根据光学传感器1715采集的环境光强度,动态调整摄像头组件1706的拍摄参数。
接近传感器1716,也称距离传感器,通常设置在终端1700的前面板。接近传感器1716用于采集用户与终端1700的正面之间的距离。在一个实施例中,当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变小时,由处理器1701控制触摸显示屏1705从亮屏状态切换为息屏状态;当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变大时,由处理器1701控制触摸显示屏1705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图17中示出的结构并不构成对终端1700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图18是本申请实施例提供的一种服务器1800的结构示意图,该服务器1800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(CentralProcessing Units,CPU)1801和一个或一个以上的存储器1802,其中,该存储器1802中存储有至少一条程序代码,该至少一条程序代码由该处理器1801加载并执行以实现上述各个实施例提供的数据同步方法中服务器侧的方法步骤。当然,该服务器1800还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1800还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条程序代码的存储器,上述至少一条程序代码可由电子设备中的处理器执行以完成上述实施例中数据同步方法。例如,该计算机可读存储介质可以是ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-OnlyMemory,只读光盘)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (22)
1.一种数据同步方法,其特征在于,所述方法包括:
响应于对互动道具的投掷操作,控制所述互动道具按照第一目标运动轨迹在虚拟场景中进行运动;
响应于所述互动道具与所述第一目标运动轨迹上的障碍物发生碰撞,获取碰撞信息和所述互动道具的运动信息,所述碰撞信息包括碰撞位置信息和所述障碍物的类型信息,所述运动信息包括碰撞发生时所述互动道具的运动速度信息;
向服务器发送所述碰撞信息和所述互动道具的运动信息,所述碰撞信息和所述互动道具的运动信息用于指示所述服务器根据所述障碍物的类型信息获取所述互动道具对应的反弹信息,根据所述碰撞位置信息、所述反弹信息和碰撞发生时所述互动道具的运动速度信息,确定所述互动道具碰撞后的运动速度信息,以所述碰撞位置信息为起点,所述碰撞后的运动速度信息为初始运动速度信息,获取所述互动道具碰撞后的第二目标运动轨迹,所述第二目标运动轨迹为所述服务器获取得到的所述互动道具的目标运动轨迹。
2.根据权利要求1所述的方法,其特征在于,所述碰撞信息包括碰撞位置信息;所述运动信息包括所述互动道具碰撞后所述互动道具的运动速度信息;
所述方法还包括:
以所述碰撞位置信息为起点,所述碰撞后所述互动道具的运动速度信息为初始运动速度信息,获取所述互动道具碰撞后的第二目标运动轨迹。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述服务器发送的目标形变位置,所述目标形变位置基于修正后的所述第二目标运动轨迹确定;
响应于所述互动道具位于所述目标形变位置,在所述目标形变位置上,显示所述互动道具的形变动画。
4.根据权利要求3所述的方法,其特征在于,所述目标形变位置基于修正后的所述第二目标运动轨迹确定,包括下述任一项:
根据修正后的所述第二目标运动轨迹与虚拟场景中地面的位置,确定所述互动道具的落点,将所述落点确定为目标形变位置;
根据修正后的所述第二目标运动轨迹与所述互动道具的已使用时间,将所述第二目标运动轨迹上所述互动道具的已使用时间达到时间阈值的位置确定为所述目标形变位置;
根据修正后的所述第二目标运动轨迹与虚拟场景中地面的位置,确定所述互动道具的落点,响应于所述互动道具位于所述互动道具的落点且所述互动道具的已使用时间小于时间阈值,将所述落点确定为所述目标形变位置;
根据修正后的所述第二目标运动轨迹与虚拟场景中地面的位置,确定所述互动道具的落点,响应于所述互动道具未到达所述落点且所述互动道具的已使用时间达到时间阈值,将所述第二目标运动轨迹上所述互动道具的已使用时间达到时间阈值的位置确定为所述目标形变位置。
5.根据权利要求4所述的方法,其特征在于,所述根据修正后的所述第二目标运动轨迹与虚拟场景中地面的位置,确定所述互动道具的落点,包括:
获取修正后的所述第二目标运动轨迹与所述虚拟场景中地面的交点,将所述交点作为所述互动道具的落点。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述目标形变位置,获取所述互动道具的形变范围;
在所述形变范围内播放目标动画,所述目标动画用于表示所述虚拟场景中位于所述形变范围内的虚拟物品随着所述互动道具发生形变而发生变化。
7.根据权利要求1所述的方法,其特征在于,所述向服务器发送所述碰撞信息和所述互动道具的运动信息,包括:
响应于所述互动道具的类型信息为目标类型,执行所述向服务器发送所述碰撞信息和所述互动道具的运动信息的步骤。
8.根据权利要求1所述的方法,其特征在于,所述互动道具与所述第一目标运动轨迹上的障碍物发生碰撞的次数为至少一次;所述第二目标运动轨迹基于至少一次碰撞时的所述碰撞信息和所述运动信息进行修正。
9.根据权利要求1所述的方法,其特征在于,所述响应于对互动道具的投掷操作,控制所述互动道具按照第一目标运动轨迹在虚拟场景中进行运动,包括:
响应于对互动道具的投掷操作,获取并显示所述互动道具的第一目标运动轨迹;
显示所述互动道具沿着所述第一目标运动轨迹在虚拟场景中进行运动。
10.一种数据同步方法,其特征在于,所述方法包括:
响应于对互动道具的投掷指令,获取所述互动道具的第二目标运动轨迹;
接收终端发送的所述互动道具与障碍物碰撞时的碰撞信息和运动信息,所述碰撞信息包括碰撞位置信息和所述障碍物的类型信息,所述运动信息包括碰撞发生时所述互动道具的运动速度信息;
根据所述障碍物的类型信息获取所述互动道具对应的反弹信息,根据所述碰撞位置信息、所述反弹信息和碰撞发生时所述互动道具的运动速度信息,确定所述互动道具碰撞后的运动速度信息,以所述碰撞位置信息为起点,所述碰撞后的运动速度信息为初始运动速度信息,获取所述互动道具碰撞后的第二目标运动轨迹。
11.一种数据同步装置,其特征在于,所述装置包括:
控制模块,用于响应于对互动道具的投掷操作,控制所述互动道具按照第一目标运动轨迹在虚拟场景中进行运动;
获取模块,用于响应于所述互动道具与所述第一目标运动轨迹上的障碍物发生碰撞,获取碰撞信息和所述互动道具的运动信息,所述碰撞信息包括碰撞位置信息和所述障碍物的类型信息,所述运动信息包括碰撞发生时所述互动道具的运动速度信息;
发送模块,用于向服务器发送所述碰撞信息和所述互动道具的运动信息,所述碰撞信息和所述互动道具的运动信息用于指示所述服务器根据所述障碍物的类型信息获取所述互动道具对应的反弹信息,根据所述碰撞位置信息、所述反弹信息和碰撞发生时所述互动道具的运动速度信息,确定所述互动道具碰撞后的运动速度信息,以所述碰撞位置信息为起点,所述碰撞后的运动速度信息为初始运动速度信息,获取所述互动道具碰撞后的第二目标运动轨迹,所述第二目标运动轨迹为所述服务器获取得到的所述互动道具的目标运动轨迹。
12.根据权利要求11所述的装置,其特征在于,所述碰撞信息包括碰撞位置信息;所述运动信息包括所述互动道具碰撞后所述互动道具的运动速度信息;
所述装置还包括用于执行以下步骤的模块:以所述碰撞位置信息为起点,所述碰撞后所述互动道具的运动速度信息为初始运动速度信息,获取所述互动道具碰撞后的第二目标运动轨迹。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收所述服务器发送的目标形变位置,所述目标形变位置基于修正后的所述第二目标运动轨迹确定;
显示模块,用于响应于所述互动道具位于所述目标形变位置,在所述目标形变位置上,显示所述互动道具的形变动画。
14.根据权利要求13所述的装置,其特征在于,所述目标形变位置基于修正后的所述第二目标运动轨迹确定,包括下述任一项:
根据修正后的所述第二目标运动轨迹与虚拟场景中地面的位置,确定所述互动道具的落点,将所述落点确定为目标形变位置;
根据修正后的所述第二目标运动轨迹与所述互动道具的已使用时间,将所述第二目标运动轨迹上所述互动道具的已使用时间达到时间阈值的位置确定为所述目标形变位置;
根据修正后的所述第二目标运动轨迹与虚拟场景中地面的位置,确定所述互动道具的落点,响应于所述互动道具位于所述互动道具的落点且所述互动道具的已使用时间小于时间阈值,将所述落点确定为所述目标形变位置;
根据修正后的所述第二目标运动轨迹与虚拟场景中地面的位置,确定所述互动道具的落点,响应于所述互动道具未到达所述落点且所述互动道具的已使用时间达到时间阈值,将所述第二目标运动轨迹上所述互动道具的已使用时间达到时间阈值的位置确定为所述目标形变位置。
15.根据权利要求14所述的装置,其特征在于,所述根据修正后的所述第二目标运动轨迹与虚拟场景中地面的位置,确定所述互动道具的落点,包括:
获取修正后的所述第二目标运动轨迹与所述虚拟场景中地面的交点,将所述交点作为所述互动道具的落点。
16.根据权利要求13所述的装置,其特征在于,所述获取模块还用于根据所述目标形变位置,获取所述互动道具的形变范围;
所述装置还包括:
播放模块,用于在所述形变范围内播放目标动画,所述目标动画用于表示所述虚拟场景中位于所述形变范围内的虚拟物品随着所述互动道具发生形变而发生变化。
17.根据权利要求11所述的装置,其特征在于,所述发送模块用于响应于所述互动道具的类型信息为目标类型,执行所述向服务器发送所述碰撞信息和所述互动道具的运动信息的步骤。
18.根据权利要求11所述的装置,其特征在于,所述互动道具与所述第一目标运动轨迹上的障碍物发生碰撞的次数为至少一次;所述第二目标运动轨迹基于至少一次碰撞时的所述碰撞信息和所述运动信息进行修正。
19.根据权利要求11所述的装置,其特征在于,所述控制模块用于:
响应于对互动道具的投掷操作,获取并显示所述互动道具的第一目标运动轨迹;
显示所述互动道具沿着所述第一目标运动轨迹在虚拟场景中进行运动。
20.一种数据同步装置,其特征在于,所述装置包括:
获取模块,用于响应于对互动道具的投掷指令,获取所述互动道具的第二目标运动轨迹;
接收模块,用于接收终端发送的所述互动道具与障碍物碰撞时的碰撞信息和运动信息,所述碰撞信息包括碰撞位置信息和所述障碍物的类型信息,所述运动信息包括碰撞发生时所述互动道具的运动速度信息;
修正模块,用于根据所述障碍物的类型信息获取所述互动道具对应的反弹信息,根据所述碰撞位置信息、所述反弹信息和碰撞发生时所述互动道具的运动速度信息,确定所述互动道具碰撞后的运动速度信息,以所述碰撞位置信息为起点,所述碰撞后的运动速度信息为初始运动速度信息,获取所述互动道具碰撞后的第二目标运动轨迹。
21.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求10任一项所述的数据同步方法所执行的操作。
22.一种存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至权利要求10任一项所述的数据同步方法所执行的操作。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010268946.1A CN111475573B (zh) | 2020-04-08 | 2020-04-08 | 数据同步方法、装置、电子设备及存储介质 |
JP2022529073A JP7311711B2 (ja) | 2020-04-08 | 2021-02-23 | データ同期方法、装置、端末、サーバ及びコンピュータプログラム |
PCT/CN2021/077446 WO2021203856A1 (zh) | 2020-04-08 | 2021-02-23 | 数据同步方法、装置、终端、服务器及存储介质 |
US17/701,061 US11944904B2 (en) | 2020-04-08 | 2022-03-22 | Data synchronization method and apparatus, terminal, server, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010268946.1A CN111475573B (zh) | 2020-04-08 | 2020-04-08 | 数据同步方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111475573A CN111475573A (zh) | 2020-07-31 |
CN111475573B true CN111475573B (zh) | 2023-02-28 |
Family
ID=71750141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010268946.1A Active CN111475573B (zh) | 2020-04-08 | 2020-04-08 | 数据同步方法、装置、电子设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11944904B2 (zh) |
JP (1) | JP7311711B2 (zh) |
CN (1) | CN111475573B (zh) |
WO (1) | WO2021203856A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475573B (zh) | 2020-04-08 | 2023-02-28 | 腾讯科技(深圳)有限公司 | 数据同步方法、装置、电子设备及存储介质 |
CN112044071B (zh) * | 2020-09-04 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 虚拟物品的控制方法、装置、终端及存储介质 |
CN112090070B (zh) * | 2020-09-18 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 虚拟道具的交互方法、装置及电子设备 |
CN112587930B (zh) * | 2020-12-25 | 2022-09-02 | 珠海金山数字网络科技有限公司 | 一种碰撞效果渲染方法、装置及*** |
CN115454313A (zh) * | 2021-06-09 | 2022-12-09 | 脸萌有限公司 | 触碰动画显示方法、装置、设备及介质 |
CN113609218A (zh) * | 2021-07-20 | 2021-11-05 | 深圳市爱都科技有限公司 | 数据同步方法、终端设备以及计算机可读存储介质 |
CN114155605B (zh) * | 2021-12-03 | 2023-09-15 | 北京字跳网络技术有限公司 | 一种控制方法、装置以及计算机存储介质 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6666766B2 (en) * | 2001-09-28 | 2003-12-23 | Igt | Gaming device having outcomes which replicate the laws of physics |
US7918730B2 (en) * | 2002-06-27 | 2011-04-05 | Igt | Trajectory-based 3-D games of chance for video gaming machines |
JP4794343B2 (ja) * | 2006-03-30 | 2011-10-19 | 株式会社バンダイナムコゲームス | 画像生成システム、プログラム及び情報記憶媒体 |
JP5282315B2 (ja) * | 2007-06-19 | 2013-09-04 | エヌエイチエヌ コーポレーション | オブジェクト表示同期制御方法及びオンラインシステム |
JP2011113127A (ja) * | 2009-11-24 | 2011-06-09 | Ntt Docomo Inc | オブジェクト位置決め装置及びオブジェクト位置決め方法 |
CN101947385B (zh) * | 2010-10-12 | 2012-09-12 | 刘铮 | 在斯诺克运动中获取台球碰撞关系和完整运动轨迹的方法 |
CN103439972B (zh) * | 2013-08-06 | 2016-06-29 | 重庆邮电大学 | 一种动态复杂环境下的移动机器人路径规划方法 |
CN103957224B (zh) * | 2014-05-21 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 一种在线游戏中的人物移动方法和*** |
US20170148256A1 (en) * | 2015-11-23 | 2017-05-25 | Casino Game Maker, Inc. | Physics engine configuration for an electronic game of chance |
US20180082535A1 (en) * | 2016-09-22 | 2018-03-22 | Igt | Gaming system and method providing a physics-based game including objects that have gameplay-altering features |
CN107368071B (zh) * | 2017-07-17 | 2020-11-06 | 纳恩博(北京)科技有限公司 | 一种异常恢复方法及电子设备 |
CN108260021B (zh) * | 2018-03-08 | 2021-02-05 | 香港乐蜜有限公司 | 直播互动方法和装置 |
CN108540454B (zh) * | 2018-03-16 | 2020-09-15 | 武汉微派网络科技有限公司 | 碰撞同步方法、客户端及存储介质 |
CN108786108B (zh) * | 2018-06-11 | 2022-01-25 | 腾讯科技(深圳)有限公司 | 目标对象控制方法、装置、存储介质及设备 |
US20200005587A1 (en) * | 2018-06-27 | 2020-01-02 | Adp Gauselmann Gmbh | Game including a physics-based game for determining a bonus game |
CN109200582A (zh) * | 2018-08-02 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 控制虚拟对象与投掷物交互的方法、装置及存储介质 |
CN110170169B (zh) * | 2019-06-05 | 2021-03-26 | 腾讯科技(深圳)有限公司 | 信息的展示方法和装置、存储介质、电子装置 |
CN110262488B (zh) * | 2019-06-18 | 2021-11-30 | 重庆长安汽车股份有限公司 | 自动驾驶的局部路径规划方法、***及计算机可读存储介质 |
CN111475573B (zh) * | 2020-04-08 | 2023-02-28 | 腾讯科技(深圳)有限公司 | 数据同步方法、装置、电子设备及存储介质 |
CN112221135B (zh) * | 2020-11-06 | 2022-07-29 | 腾讯科技(深圳)有限公司 | 画面显示方法、装置、设备以及存储介质 |
US20230033885A1 (en) * | 2022-03-14 | 2023-02-02 | Khalid Khamis | ATHLETIC SPORT GAME, EQUIPMENT, and METHOD |
-
2020
- 2020-04-08 CN CN202010268946.1A patent/CN111475573B/zh active Active
-
2021
- 2021-02-23 WO PCT/CN2021/077446 patent/WO2021203856A1/zh active Application Filing
- 2021-02-23 JP JP2022529073A patent/JP7311711B2/ja active Active
-
2022
- 2022-03-22 US US17/701,061 patent/US11944904B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2023503874A (ja) | 2023-02-01 |
US11944904B2 (en) | 2024-04-02 |
CN111475573A (zh) | 2020-07-31 |
US20220212109A1 (en) | 2022-07-07 |
WO2021203856A1 (zh) | 2021-10-14 |
JP7311711B2 (ja) | 2023-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111475573B (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN111282275B (zh) | 虚拟场景中的碰撞痕迹展示方法、装置、设备及存储介质 | |
CN110917619B (zh) | 互动道具控制方法、装置、终端及存储介质 | |
CN110585710B (zh) | 互动道具控制方法、装置、终端及存储介质 | |
CN111589150B (zh) | 虚拟道具的控制方法、装置、电子设备及存储介质 | |
CN110721468B (zh) | 互动道具控制方法、装置、终端及存储介质 | |
CN112221141B (zh) | 控制虚拟对象使用虚拟道具的方法及装置 | |
CN110507990B (zh) | 基于虚拟飞行器的互动方法、装置、终端及存储介质 | |
CN112057857B (zh) | 互动道具处理方法、装置、终端及存储介质 | |
CN111389005B (zh) | 虚拟对象的控制方法、装置、设备及存储介质 | |
CN110585706B (zh) | 互动道具控制方法、装置、终端及存储介质 | |
CN111760284A (zh) | 虚拟道具控制方法、装置、设备及存储介质 | |
CN112717410B (zh) | 虚拟对象控制方法、装置、计算机设备及存储介质 | |
US20230405466A1 (en) | Method and apparatus for operating virtual prop in virtual environment, device and readable medium | |
CN113713382A (zh) | 虚拟道具控制方法、装置、计算机设备及存储介质 | |
CN112933601A (zh) | 虚拟投掷物的操作方法、装置、设备及介质 | |
CN113713383A (zh) | 投掷道具控制方法、装置、计算机设备及存储介质 | |
CN111659122B (zh) | 虚拟资源显示方法、装置、电子设备及存储介质 | |
CN112704875B (zh) | 虚拟道具控制方法、装置、设备及存储介质 | |
CN114130031A (zh) | 虚拟道具的使用方法、装置、设备、介质及程序产品 | |
CN114100128B (zh) | 道具特效显示方法、装置、计算机设备及存储介质 | |
CN112755518B (zh) | 互动道具控制方法、装置、计算机设备及存储介质 | |
CN112807680A (zh) | 虚拟场景中虚拟对象的控制方法、装置、设备及存储介质 | |
CN111744188B (zh) | 互动道具处理方法、装置、终端及存储介质 | |
CN116832443A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40026144 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |