CN116688491A - 虚拟场景中的对象位置同步系统、方法、装置及电子设备 - Google Patents
虚拟场景中的对象位置同步系统、方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116688491A CN116688491A CN202310685995.9A CN202310685995A CN116688491A CN 116688491 A CN116688491 A CN 116688491A CN 202310685995 A CN202310685995 A CN 202310685995A CN 116688491 A CN116688491 A CN 116688491A
- Authority
- CN
- China
- Prior art keywords
- subspace
- virtual scene
- client
- synchronization information
- control object
- 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 51
- 230000001360 synchronised effect Effects 0.000 claims abstract description 32
- 230000008859 change Effects 0.000 claims abstract description 5
- 238000001514 detection method Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 18
- 238000006073 displacement reaction Methods 0.000 claims description 12
- 238000007667 floating Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 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
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- 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/65—Methods for processing data by generating or executing the game program for computing the condition of a game character
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了虚拟场景中的对象位置同步系统、方法、装置及电子设备,涉及游戏技术领域。位置同步系统包括多个客户端和服务器;每个客户端检测控制对象的当前所处位置;在检测到当前所处位置与上一所处位置发生变化时,检测当前所处位置所属的第一子空间与上一所处位置所属的第二子空间是否相同;若相同,将控制对象与第一子空间的中心点的位置关系确定为位置同步信息;否则,将位置关系与第一子空间的标识信息确定为位置同步信息;服务器接收位置同步信息并将位置同步信息下发给其他客户端;每个客户端接收位置同步信息并在位置同步信息所指示的位置显示控制对象。应用本申请实施例提供的方案,可以减少进行位置同步所占用的数据资源。
Description
技术领域
本申请涉及游戏技术领域,特别是涉及虚拟场景中的对象位置同步系统、方法、装置及电子设备。
背景技术
在游戏中,用户所控制的游戏人物在虚拟场景中所处的位置可以随着用户的操作指令发生改变。其中,在多人游戏中,该游戏的同一虚拟场景中可以包括由不同用户所控制的多个游戏人物,而各个不同用户所使用的客户端所显示的场景画面均为该虚拟场景的场景画面,即每个用户所使用的客户端均可以显示该虚拟场景中的每个游戏人物的当前位置。在虚拟场景中的某个游戏人物的位置改变时,用于对该游戏人物进行控制的客户端需要确定该游戏人物的当前位置,并将该游戏人物的当前位置上报给服务器。之后,服务器可以接收该客户端所上报的该游戏人物的当前位置,并将该游戏人物的当前位置下发给其他客户端。接着,其他客户端在接收该游戏人物的当前位置后,可以在自身所显示的场景画面中显示该游戏人物所处的当前位置。这样,针对该虚拟场景中的各个游戏人物,可以通过将该游戏人物的当前位置同步给其他客户端,使得各个客户端中所显示的该游戏人物的当前位置是一致的。
然而,由于虚拟场景中的游戏人物较多且每个游戏人物的移动较为频繁,因此,导致服务器和各个客户端在进行位置同步的过程中所需传输的数据量较大,进而,导致对虚拟场景中的各个对象进行位置同步过程所需占用的数据资源较多。
发明内容
本申请实施例的目的在于提供虚拟场景中的对象位置同步系统、方法、装置及电子设备,以减少对虚拟场景中的各个对象进行位置同步所占用的数据资源。具体技术方案如下:
第一方面,本申请实施例提供了一种虚拟场景中的对象位置同步系统,所述系统包括多个客户端和服务器;
每个客户端,用于按照预设同步周期,检测该客户端的控制对象在虚拟场景中的当前所处位置;在检测到所述当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时,检测所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间是否相同;若相同,将所述控制对象与所述第一子空间的中心点的位置关系,确定为位置同步信息;否则,将所述位置关系与所述第一子空间的标识信息,确定为位置同步信息;向所述服务器上报所述位置同步信息;其中,所述虚拟场景为三维场景;
所述服务器,用于接收每个客户端上报的所述位置同步信息,并将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端;
每个客户端,用于接收所述服务器下发的各个位置同步信息;在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
可选的,一种具体实现方式中,
所述服务器,还用于将所述虚拟场景的场景空间划分为多个子空间;确定每个子空间的空间信息,并将每个子空间的空间信息下发给所述多个客户端;其中,每个子空间的空间信息包括:该子空间的中心点的位置信息;
每个客户端,还用于接收所述服务器下发的每个子空间的空间信息。
可选的,一种具体实现方式中,所述服务器将所述虚拟场景的场景空间划分为多个子空间,包括:
所述服务器确定待划分的子空间的预设边长,并按照所述预设边长,将所述虚拟场景的场景空间划分为多个立方体,作为多个子空间。
可选的,一种具体实现方式中,所述服务器确定待划分的子空间的预设边长,包括:
所述服务器确定所述客户端进行位置检测的预设频率、所述虚拟场景中的各个控制对象的平均移动速度以及预设的子空间标识信息所占用的第一位数;
所述服务器确定基于待划分的子空间的预设边长所表征的所述位置关系所占用的第二位数;
所述服务器基于所述预设频率、所述平均移动速度、所述第一位数、以及所述第二位数,构建关于所述多个客户端在所述单位时长内所上报的位置同步信息的平均数据量与所述预设边长的关联关系;
所述服务器基于所述关联关系,确定使得所述平均数据量满足预设条件的所述预设边长。
可选的,一种具体实现方式中,所述位置关系通过浮点数表示,且所述位置关系包括:整数部分和小数部分;
所述服务器确定基于待划分的子空间的预设边长所表征的所述位置关系所占用的第二位数,包括:
所述服务器确定基于待划分的子空间的预设边长所表征的所述位置关系的所述整数部分的第一子位数,以及基于预设位移精度所确定的所述位置关系的所述小数部分的第二子位数;
所述服务器确定通过所述第一子位数和所述第二子位数的和所表征的所述位置关系所占用的第二位数。
第二方面,本申请实施例提供了一种虚拟场景中的对象位置同步方法,应用于虚拟场景中的对象位置同步系统中的每个客户端,所述系统还包括服务器和多个客户端;所述方法包括:
按照预设同步周期,检测该客户端的控制对象在虚拟场景中的当前所处位置;其中,所述虚拟场景为三维场景;
在检测到所述当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时,检测所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间是否相同;
若相同,将所述控制对象与所述第一子空间的中心点的位置关系,确定为位置同步信息;
否则,将所述位置关系与所述第一子空间的标识信息,确定为位置同步信息;
向所述服务器上报所述位置同步信息,以使所述服务器接收所述客户端上报的所述位置同步信息,并将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端;
接收所述服务器下发的各个位置同步信息,并在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
可选的,一种具体实现方式中,在所述按照预设同步周期,检测该客户端的控制对象在虚拟场景中的当前所处位置之前,所述方法还包括:
接收每个子空间的空间信息;其中,所述每个子空间的空间信息是所述服务器在将所述所述虚拟场景的场景空间划分为多个子空间,并确定每个子空间的空间信息后,下发给每个客户端的。
第三方面,本申请实施例提供了一种虚拟场景中的对象位置同步方法,应用于虚拟场景中的对象位置同步系统中的服务器,所述系统还包括多个客户端;所述方法包括:
接收每个客户端上报的位置同步信息;其中,所述位置同步信息是每个客户端在检测到该客户端的控制对象在虚拟场景中的当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时上报的,若每个客户端检测到所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间相同,则所上报的位置同步信息包括所述控制对象与所述第一子空间的中心点的位置关系;若每个客户端检测到所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间不同,则所上报的位置同步信息包括所述位置关系与所述第一子空间的标识信息;所述虚拟场景为三维场景;
将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端,以使所述每个客户端接收所述服务器下发的各个位置同步信息,并在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
可选的,一种具体实现方式中,所述方法还包括:
将所述虚拟场景的场景空间划分为多个子空间;
确定每个子空间的空间信息,并将每个子空间的空间信息下发给所述多个客户端,以使每个客户端接收所述服务器下发的每个子空间的空间信息;其中,每个子空间的空间信息包括:该子空间的中心点的位置信息。
可选的,一种具体实现方式中,所述将所述虚拟场景的场景空间划分为多个子空间,包括:
确定待划分的子空间的预设边长,并按照所述预设边长,将所述虚拟场景的场景空间划分为多个立方体,作为多个子空间。
可选的,一种具体实现方式中,所述确定待划分的子空间的预设边长,包括:
确定所述客户端进行位置检测的预设频率、所述虚拟场景中的各个控制对象的平均移动速度以及预设的子空间标识信息所占用的第一位数;
确定基于待划分的子空间的预设边长所表征的所述位置关系所占用的第二位数;
基于所述预设频率、所述平均移动速度、所述第一位数、以及所述第二位数,构建关于所述多个客户端在所述单位时长内所上报的位置同步信息的平均数据量与所述预设边长的关联关系;
基于所述关联关系,确定使得所述平均数据量满足预设条件的所述预设边长。
可选的,一种具体实现方式中,所述位置关系通过浮点数表示,且所述位置关系包括:整数部分和小数部分;
所述确定基于待划分的子空间的预设边长所表征的所述位置关系所占用的第二位数,包括:
确定基于待划分的子空间的预设边长所表征的所述位置关系的所述整数部分的第一子位数,以及基于预设位移精度所确定的所述位置关系的所述小数部分的第二子位数;
确定通过所述第一子位数和所述第二子位数的和所表征的所述位置关系所占用的第二位数。
第四方面,本申请实施例提供了一种虚拟场景中的对象位置同步装置,应用于虚拟场景中的对象位置同步系统中的每个客户端,所述系统还包括服务器和多个客户端;所述装置包括:
第一检测模块,用于按照预设同步周期,检测该客户端的控制对象在虚拟场景中的当前所处位置;其中,所述虚拟场景为三维场景;
第二检测模块,用于在检测到所述当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时,检测所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间是否相同;若相同,触发第一确定模块;否则,触发第二确定模块;
所述第一确定模块,用于将所述控制对象与所述第一子空间的中心点的位置关系,确定为位置同步信息;
所述第二确定模块,用于将所述位置关系与所述第一子空间的标识信息,确定为位置同步信息;
上报模块,用于向所述服务器上报所述位置同步信息,以使所述服务器接收每个客户端上报的所述位置同步信息,并将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端;
显示模块,用于接收所述服务器下发的各个位置同步信息,并在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
可选的,一种具体实现方式中,所述装置还包括:
空间信息接收模块,用于在按照预设同步周期,检测该客户端的控制对象在虚拟场景中的当前所处位置之前,接收每个子空间的空间信息;其中,所述每个子空间的空间信息是所述服务器在将所述所述虚拟场景的场景空间划分为多个子空间,并确定每个子空间的空间信息后,下发给每个客户端的。
第五方面,本申请实施例提供了一种虚拟场景中的对象位置同步装置,应用于虚拟场景中的对象位置同步系统中的服务器,所述系统还包括多个客户端;所述装置包括:
同步信息接收模块,用于接收每个客户端上报的位置同步信息;其中,所述位置同步信息是每个客户端在检测到该客户端的控制对象在虚拟场景的当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时上报的,若每个客户端检测到所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间相同,则所上报的位置同步信息包括所述控制对象与所述第一子空间的中心点的位置关系;若每个客户端检测到所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间不同,则所上报的位置同步信息包括所述位置关系与所述第一子空间的标识信息;
下发模块,用于将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端,以使每个客户端接收所述服务器下发的各个位置同步信息,并在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
可选的,一种具体实现方式中,所述装置还包括:
子空间划分模块,用于将所述虚拟场景的场景空间划分为多个子空间;
空间信息确定模块,用于确定每个子空间的空间信息,并将每个子空间的空间信息下发给所述多个客户端,以使每个客户端接收所述服务器下发的每个子空间的空间信息;其中,每个子空间的空间信息包括:该子空间的中心点的位置信息。
可选的,一种具体实现方式中,所述子空间划分模块,包括:
预设边长确定子模块,用于确定待划分的子空间的预设边长,并按照所述预设边长,将所述虚拟场景的场景空间划分为多个立方体,作为多个子空间。
可选的,一种具体实现方式中,所述预设边长确定子模块,包括:
第一确定单元,用于确定所述客户端进行位置检测的预设频率、所述虚拟场景中的各个控制对象的平均移动速度以及预设的子空间标识信息所占用的第一位数;
第二确定单元,用于确定基于待划分的子空间的预设边长所表征的所述位置关系所占用的第二位数;
第三确定单元,用于基于所述预设频率、所述平均移动速度、所述第一位数、以及所述第二位数,构建关于所述多个客户端在所述单位时长内所上报的位置同步信息的平均数据量与所述预设边长的关联关系;
第四确定单元,用于基于所述关联关系,确定使得所述平均数据量满足预设条件的所述预设边长。
可选的,一种具体实现方式中,所述位置关系通过浮点数表示,且所述位置关系包括:整数部分和小数部分;
所述第二确定单元,具体用于:
确定基于待划分的子空间的预设边长所表征的所述位置关系的所述整数部分的第一子位数,以及基于预设位移精度所确定的所述位置关系的所述小数部分的第二子位数;确定通过所述第一子位数和所述第二子位数的和所表征的所述位置关系所占用的第二位数。
第六方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一方法实施例的步骤。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例的步骤。
第八方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一方法实施例的步骤。
本申请实施例有益效果:
以上可见,应用本申请实施例提供的方案,通过将虚拟场景的场景空间划分为各个子空间,将所要传输的控制对象的同步位置信息,由该控制对象在大的虚拟场景的场景空间中的位置信息转化为该控制对象在小的子空间中与子空间的中心点的相对位置信息,或者,转化为该控制对象所在子空间的标识和该控制对象与子空间的中心点的相对位置信息。由于子空间的范围明显小于虚拟场景的场景空间的范围,从而,控制对象在子空间中的位置信息的数值变化范围明显小于控制对象在虚拟场景的场景空间中的位置信息的数值变化范围,并且,由于与子空间的中心点的相对位置信息的数值变化范围小于控制对象在子空间中的位置信息的数值变化范围,从而,将与子空间的中心点的相对位置信息,作为该控制对象的同步位置信息,客户端每次所需传输的位置同步信息的数据量可以明显减少,进而,服务器和各个客户端进行位置同步所需传输的总的数据量可以明显减少,这样,对虚拟场景中的各个对象进行位置同步所占用的数据资源也将随之减少。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本申请实施例提供的子空间的示意图;
图2为本申请实施例提供的一种虚拟场景中的对象位置同步系统的结构示意图;
图3为本申请实施例提供的一种虚拟场景中的对象位置同步系统的信令交互示意图;
图4为本申请实施例提供的一种虚拟场景中的对象位置同步方法的流程示意图;
图5为本申请实施例提供的另一种虚拟场景中的对象位置同步方法的流程示意图;
图6为本申请实施例提供的一种虚拟场景中的对象位置同步装置的结构示意图;
图7为本申请实施例提供的另一种虚拟场景中的对象位置同步装置的结构示意图;
图8为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
由于游戏场景中的游戏人物较多且每个游戏人物的移动较为频繁,因此,可以导致服务器和各个客户端在进行位置同步的过程中所需传输的数据量较大,进而,导致进行位置同步过程所需占用的数据资源较多。
为了解决上述技术问题,本申请实施例提供了一种虚拟场景中的对象位置同步系统,该系统包括服务器和多个客户端。
其中,该虚拟场景中的对象位置同步系统适用于需要对虚拟场景中的对象位置进行同步的各类场景;例如,需要对游戏场景中的各个游戏人物进行位置同步;又例如,需要对进行位置共享的各个用户,进行位置同步等。
该虚拟场景中的对象位置同步系统中的客户端可以是各类可以进行数据处理的各类电子设备,例如,手机、平板电脑、笔记本电脑等,并且,该电子设备可以运行各类需要进行位置同步的应用程序;而该系统中的服务器是可以是为各个客户端提供位置同步服务的服务器,并且,该服务器可以是独立的电子设备,也可以是由多台电子设备构成的集群。
基于此,本申请实施例不对该系统的应用场景和各个执行主体进行具体限定。
其中,在本申请实施例提供的虚拟场景中的对象位置同步系统中,
每个客户端,用于按照预设同步周期,检测该客户端的控制对象在虚拟场景中的当前所处位置;在检测到所述当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时,检测所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间是否相同;若相同,将所述控制对象与所述第一子空间的中心点的位置关系,确定为位置同步信息;否则,将所述位置关系与所述第一子空间的标识信息,确定为位置同步信息;向所述服务器上报所述位置同步信息;其中,所述虚拟场景为三维场景;
所述服务器,用于接收每个客户端上报的所述位置同步信息,并将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端;
每个客户端,用于接收所述服务器下发的各个位置同步信息;在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
以上可见,应用本申请实施例提供的方案,通过将虚拟场景的场景空间划分为各个子空间,将所要传输的控制对象的同步位置信息,由该控制对象在大的虚拟场景的场景空间中的位置信息转化为该控制对象在小的子空间中与子空间的中心点的相对位置信息,或者,转化为该控制对象所在子空间的标识和该控制对象与子空间的中心点的相对位置信息。由于子空间的范围明显小于虚拟场景的场景空间的范围,从而,控制对象在子空间中的位置信息的数值变化范围明显小于控制对象在虚拟场景的场景空间中的位置信息的数值变化范围,并且,由于与子空间的中心点的相对位置信息的数值变化范围小于控制对象在子空间中的位置信息的数值变化范围,从而,将与子空间的中心点的相对位置信息,作为该控制对象的同步位置信息,客户端每次所需传输的位置同步信息的数据量可以明显减少,进而,服务器和各个客户端进行位置同步所需传输的总的数据量可以明显减少,这样,对虚拟场景中的各个对象进行位置同步所需占用的数据资源也将随之减少。
为了便于理解本申请实施例提供的一种虚拟场景中的对象位置同步系统,下面首先对本申请实施例提供的子空间进行介绍。
通常,用户可以向所使用的客户端发送针对该客户端所显示的三维虚拟场景中的控制对象的控制指令。这样,客户端在接收到用户的控制指令时,可以响应于上述控制指令,控制该控制对象进行移动。
进而,各个客户端在检测到控制对象在虚拟场景中的位置发生变化时,可以将该控制对象的当前位置同步给其他客户端。
由于虚拟场景的空间范围较大,从而,每个控制对象在该虚拟场景中移动,其位置变化范围较大,进而,该控制对象在该虚拟场景中的位置信息的数据量较大;而将该虚拟场景划分为多个小的三维子空间后,由于各个子空间的空间范围均小于虚拟场景的空间范围,从而,每个控制对象在各个子空间中移动,其位置变化范围减小,进而,该控制对象在子空间中的位置信息的数据量随之减小。
例如,三维虚拟场景的场景空间A为60*60*60的立方体空间,控制对象在该场景空间A中的三维坐标为(46,46,46)。在将该场景空间A划分为多个边长为15的立方体子空间后,在该控制对象位于子空间a中时,其在该子空间a中的三维坐标为(1,1,1),显然,坐标(1,1,1)的数据量明显小于坐标(46,46,46)的数据量。
基于此,为了减小位置同步所需传输的数据量,可以预先将虚拟场景的场景空间划分为多个子空间。
进一步的,控制对象与子空间的中心点的相对位置的数据量,小于该控制对象在子空间中的位置信息的数据量。
例如,子空间为边长为50的立方体子空间,控制对象在子空间中的坐标为(26,26,26),中心点坐标为(25,25,25),该控制对象与该子空间的中心点的相对位置关系为(1,1,1),坐标(1,1,1)的数据量明显小于坐标(26,26,26)的数据量。
基于此,为了进一步减小位置同步所需传输的数据量,可以将控制对象在子空间中与子空间的中心点的相对位置,作为该控制对象的同步位置信息。
从而,在进行位置同步之前,可以预先将虚拟场景的场景空间划分为多个子空间。
可选的,一种具体实现方式中,
服务器,用于将虚拟场景的场景空间划分为多个子空间;确定每个子空间的空间信息,并将每个子空间的空间信息下发给多个客户端;
其中,每个子空间的空间信息包括:该子空间的中心点的位置信息;
每个客户端,用于接收服务器下发的每个子空间的空间信息。
在本具体实现方式中,在进行位置同步前,服务器可以预先将虚拟场景的场景空间划分为多个子空间,并确定每个子空间的空间信息。之后,该服务器可以将每个子空间的空间信息进行存储,并将各个子空间的空间信息下发给各个客户端。
其中,每个子空间的空间信息可以包括该子空间的中心点的位置信息,还可以包括该子空间的标识、该子空间的各个边长和该子空间的各个顶点的位置信息等各种可以用于确定该子空间的空间位置范围的信息。
此外,可选的,所划分的各个子空间的空间大小可以是相同的,也可以是不同的。
由于虚拟场景的场景空间中可能存在一些各个对象均无法到达的位置,例如,该场景空间中摆放有物品的位置、场景空间中的建筑外墙所在的位置等。
基于此,可选的,在将虚拟场景的场景空间划分为多个子空间时,可以不对各个对象无法到达的场景空间进行划分,而将各个对象所能到达的场景空间划分为多个子空间。
通常,相比于其他形状,将虚拟场景的场景空间划分为多个立方体是更容易操作的,并且,立方体的中心点的位置信息也是更容易确定的,因此,可以将各个子空间均设置为立方体。
基于此,可选的,一种具体实现方式中,上述服务器将虚拟场景的场景空间划分为多个子空间,可以包括如下步骤11:
步骤11:服务器确定待划分的子空间的预设边长,并按照预设边长,将虚拟场景的场景空间划分为多个立方体,作为多个子空间。
在本具体实现方式中,服务器可以预先确定各个待划分的子空间的预设边长,并按照上述预设边长,将虚拟场景的场景空间划分为多个立方体,从而,将得到的多个立方体作为虚拟场景的多个子空间。
示例性的,虚拟场景的场景空间为立方体,服务器可以首先确定各个待划分立方体的预设边长,之后,将上述场景空间划分为多个小立方体。例如,如图1所示,图中小立方体1和小立方体2为对虚拟场景的场景空间进行子空间划分得到的两个子空间,并且,图中中心点1为小立方体1的中心点,中心点2为小立方体2的中心点。
其中,上述预设边长,可以按照实际需要进行设置,例如,5米、15米等,这都是合理的,在本申请实施例中不作具体限定。
可选的,一种具体实现方式中,上述服务器确定待划分的子空间的预设边长,可以包括如下步骤21-24:
步骤21:服务器确定客户端进行位置检测的预设频率、虚拟场景中的各个控制对象的平均移动速度以及预设的子空间标识信息所占用的第一位数;
步骤22:服务器确定基于待划分的子空间的预设边长所表征的位置关系所占用的第二位数;
步骤23:服务器基于预设频率、平均移动速度、第一位数、以及第二位数,构建关于多个客户端在单位时长内所上报的位置同步信息的平均数据量与预设边长的关联关系;
步骤24:服务器基于关联关系,确定使得平均数据量满足预设条件的预设边长。
在本具体实现方式中,在对虚拟场景中的各个对象进行位置同步时,多个客户端在单位时长内所上报的位置同步信息的平均数据量与虚拟场景所划分的各个子空间的预设边长有关。
在单位时间内,每个客户端在单位时长内所上报的位置同步信息的平均数据量可以包括该每个客户端在单位时长内所上报的位置关系的平均数据量和该客户端在单位时长内所上报的预设的子空间标识信息的平均数据量。
其中,每个客户端在单位时长内所上报的位置关系的平均数据量是根据在单位时长内,该客户端上报位置关系的频率和每次所上报的位置关系所占用的第二位数所确定的;而该客户端在单位时长内所上报的预设的子空间标识信息的平均数据量是根据该客户端上报预设的子空间标识信息的频率和预设的子空间标识信息所占用的第一位数所确定的。
可以将该客户端进行位置检测的预设频率作为上述该客户端上报位置关系的频率;并且,上述预设的子空间标识信息是已知数据,从而,上述预设的子空间标识信息所占用的第一位数是已知量。
此外,上述该客户端上报预设的子空间标识信息的频率可以是由控制对象从进入一个子空间移动到离开该子空间所需时长确定的;并且,上述所需时长可以根据待划分的子空间的预设边长和虚拟场景中的各个控制对象的平均移动速度确定。
而每个客户端每次所上报的位置关系所占用的第二位数与待划分的子空间的预设边长相关。
从而,上述该客户端上报预设的子空间标识信息的频率和上述每次所上报的位置关系所占用的第二位数均与待划分的子空间的预设边长有关,也就是说,在待划分的子空间的预设边长未知时,上述该客户端上报预设的子空间标识信息的频率和上述每次所上报的位置关系所占用的第二位数均是未知的。
基于此,上述多个客户端在单位时长内所上报的位置同步信息的平均数据量可以利用客户端进行位置检测的预设频率、虚拟场景中的各个控制对象的平均移动速度、预设的子空间标识信息所占用的第一位数、位置关系所占用的第二位数以及待划分的子空间的预设边长确定。
进而,服务器可以首先确定客户端进行位置检测的预设频率、虚拟场景中的各个控制对象的平均移动速度以及预设的子空间标识信息所占用的第一位数,之后,确定基于待划分的子空间的预设边长所表征的位置关系所占用的第二位数;接着,可以服务器可以基于预设频率、平均移动速度、第一位数、以及第二位数,构建关于多个客户端在单位时长内所上报的位置同步信息的平均数据量与预设边长的关联关系;进而,基于上述关联关系,可以确定使得平均数据量满足预设条件的预设边长。
其中,上述关于多个客户端在单位时长内所上报的位置同步信息的平均数据量W与预设边长S的关联关系可以表示为;
其中,为位置关系所占用的第二位数,并且,A为自然数;为客户端进行位置检测的预设频率;为虚拟场景中的各个控制对象的平均移动速度;为预设边长;为预设的子空间标识信息所占用的第一位数。
并且,上述客户端进行位置检测的预设频率F可以按照实际需要进行设定,例如,10次/秒、5次/秒等;
上述虚拟场景中的各个控制对象的平均移动速度V可以根据各个对象在该虚拟场景中的移动速度的历史数据确定的,也可以根据虚拟场景的类型设定的;在根据虚拟场景的类型设定上述虚拟场景中的各个控制对象的平均移动速度时,若虚拟场景不同,则该虚拟场景中各个控制对象的平均移动速度可以是不同的,例如,在该虚拟场景为各个对象均不使用交通工具的场景时,上述平均移动速度可以是3米/s;而在该虚拟场景为各个对象均驾驶汽车的场景时,上述平均移动速度可以是300米/s。
并且,位置关系所占用的第二位数A与待划分的子空间的预设边长S的关系可以表示为:
从而,可以基于待划分的子空间的预设边长表征位置关系所占用的第二位数:
A≥log2S-1
此外,为了提高位置同步信息的精度,上述位置关系通过浮点数表示,并且,上述位置关系可以包括:整数部分和小数部分;
基于此,可选的,一种具体实现方式中,上述步骤22,可以包括如下步骤221-222:
步骤221:服务器确定基于待划分的子空间的预设边长所表征的位置关系的整数部分的第一子位数,以及基于预设位移精度所确定的位置关系的小数部分的第二子位数;
步骤222:服务器确定通过第一子位数和第二子位数的和所表征的位置关系所占用的第二位数。
在本具体实现方式中,在用浮点数表示上述位置关系时,上述位置关系所占用的第二位数可以包括位置关系的整数部分的第一子位数和位置关系的小数部分的第二子位数。
其中,上述位置关系的整数部分的第一子位数可以基于待划分的子空间的预设边长确定,而上述位置关系的小数部分的第二子位数可以根据浮点数的精度确定。
基于此,在浮点数的精度为预设位移精度时,服务器可以确定基于待划分的子空间的预设边长所表征的位置关系的整数部分的第一子位数,以及基于预设位移精度所确定的位置关系的小数部分的第二子位数。
进而,服务器可以通过上述第一子位数和第二子位数的和,确定位置关系所占用的第二位数。
从而,上述位置关系所占用的第二位数A可以表示为:A=(log2S-1)+;
并且,上述位置关系的小数部分的第二子位数b,可以表示为:
其中,D为预设位移精度,单位为米;b为自然数。
在构建关于多个客户端在单位时长内所上报的位置同步信息的平均数据量与预设边长的关联关系后,可以基于上述关联关系,计算在平均数据量满足预设条件时,上述待划分子空间的预设边长。
其中,上述预设条件可以按照实际需要进行设定,例如,数值最小。
可选的,可以通过求导,计算在平均数据量满足预设条件时,上述待划分子空间的预设边长。
可选的,可以通过绘制关于关联关系所对应的数学公式的图形,确定在平均数据量满足预设条件时,上述待划分子空间的预设边长。
示例性的,上述同步位置信息可以用浮点数表示,客户端进行位置检测的预设频率为5次/秒;虚拟场景中的各个控制对象的平均移动速度为2米/秒;预设位移精度为0.1米,则基于预设位移精度所确定的位置关系的小数部分的第二子位数为4;预设的子空间标识信息所占用的第一位数为48bit(位)。
从而,上述关于多个客户端在单位时长内所上报的位置同步信息的平均数据量W与预设边长S的关联关系可以表示为:
从而,通过计算,上述关联关系可以表示为:
若上述预设条件为多个客户端在单位时长内所上报的位置同步信息的平均数据量最小,则通过计算,可以得到多个客户端在单位时长内所上报的位置同步信息的平均数据量最小时,预设边长S为16米。
由于S为16米,那么各个控制对象在各个子空间中的位置变化范围为[0,16],从而,位置关系的整数部分的第一子位数为4,即位置关系的整数部分占用4bit;位置关系的小数部分的第二子位数为4,即位置关系的小数部分占用4bit,故位置关系所占用的第二位数为8bit。此外,由于子空间的边长为16米,则按照用户的移动速度,用户进入该立方体至离开该立方体的时间至少为8秒,从而,用户可以每8秒上传一次预设的子空间标识信息,即平均每秒内所上传的预设的子空间标识信息为6bit。
可选的,服务器可以确定每个待划分子空间的各个顶点的位置信息,并按照所确定的每个待划分子空间的各个顶点的位置信息,将虚拟场景的场景空间划分为多个立方体,作为多个子空间。
这样,在将虚拟场景的场景空间划分为多个子空间后,便可以利用所划分的各个子空间,对虚拟场景中的各个对象进行位置同步。在位置同步的过程中,服务器可以预先确定该虚拟场景中的各个对象的标识,并记录各个对象的标识。
之后,针对每个客户端,在用户使用该客户端选择该虚拟场景中的一个对象作为控制对象时,客户端可以上报用户所选择的控制对象的标识,这样,服务器便可以接收上述标识,并建立该客户端与控制对象的标识的对应关系。
下面,结合附图,对本申请实施例提供的一种虚拟场景中的对象位置同步系统进行具体说明。
图2为本申请实施例提供的一种虚拟场景中的对象位置同步系统的结构示意图,如图2所示,该系统可以包括服务器100和多个客户端200。
每个客户端200,用于按照预设同步周期,检测该客户端200的控制对象在虚拟场景中的当前所处位置;在检测到当前所处位置与上一次所检测到的控制对象的上一所处位置发生变化时,检测当前所处位置在虚拟场景中所属的第一子空间与上一所处位置在虚拟场景中所属的第二子空间是否相同;若相同,将控制对象与第一子空间的中心点的位置关系,确定为位置同步信息;否则,将位置关系与第一子空间的标识信息,确定为位置同步信息;向服务器100上报位置同步信息;其中,虚拟场景为三维场景;
服务器100,用于接收每个客户端200上报的位置同步信息,并将位置同步信息下发给多个客户端200中除上报位置同步信息的客户端200之外的其他客户端200;
每个客户端200,用于接收服务器100下发的各个位置同步信息;在虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向服务器100上报该位置同步信息的客户端200的控制对象。
下面,结合上述虚拟场景中的对象位置同步系统中的服务器100和客户端200的信令交互过程,对图2所示的本申请实施例提供的虚拟场景中的对象位置同步系统进行具体说明。
图3为本申请实施例提供的虚拟场景中的对象位置同步系统的一种信令交互示意图,如图3所示,上述虚拟场景中的对象位置同步系统中的服务器100和客户端200的交互过程可以包括以下步骤S301-S309。
S301:每个客户端200按照预设同步周期,检测该客户端200的控制对象在虚拟场景中的当前所处位置;
其中,虚拟场景为三维场景;
S302:每个客户端200在检测到当前所处位置与上一次所检测到的控制对象的上一所处位置发生变化时,检测当前所处位置在虚拟场景中所属的第一子空间与上一所处位置在虚拟场景中所属的第二子空间是否相同;
S303:若相同,每个客户端200将控制对象与第一子空间的中心点的位置关系,确定为位置同步信息;
S304:否则,每个客户端200将位置关系与第一子空间的标识信息,确定为位置同步信息;
以虚拟场景为三维场景,且虚拟场景中包括多个游戏人物的游戏为例,用户可以在客户端200上运行该游戏的应用程序。之后,该客户端200可以展示该游戏的虚拟场景的场景画面,这样,该用户便可以对该客户端200所展示的虚拟场景中用于表征该用户的游戏人物进行控制。
由于该虚拟场景中可以包括多个游戏人物,而每个游戏人物均可以在一个客户端200的控制下在虚拟场景中进行移动,从而,在虚拟场景中的某个游戏人物的位置改变时,用于对该游戏人物进行控制的客户端200可以通过服务器100将该游戏人物的位置同步给其他客户端200,以使各个客户端200中所显示的该游戏人物的位置始终是一致的。
基于此,为了进行位置同步,可以预先设置一个对虚拟场景中的对象进行位置同步的位置同步周期,并将该客户端200所控制的游戏人物作为该客户端200的控制对象。
这样,各个客户端200可以按照上述预设位置同步周期,对该客户端200的控制对象在虚拟场景中的当前所处位置进行检测,以检测该客户端200的控制对象的当前所处位置与相比于上一次所检测到的控制对象的上一所处位置是否发生了变化。
其中,上述预设同步周期可以按照实际需要进行设定,例如,每秒同步5次、每秒同步10次等,这都是合理的,在本申请实施例中不做具体限定。
针对每个客户端200,在检测到所控制对象的当前所处位置相比于上一次所检测到的上一所处位置发生变化时,该客户端200可以进一步检测所控制对象的当前所处位置在虚拟场景中所属的第一子空间与上一所处位置在虚拟场景中所属的第二子空间是否相同。
进而,在检测到上述控制对象所在的第一子空间与该控制对象在上一所处位置所属的第二子空间相同时,即检测到该控制对象所在的子空间未发生变化时,该客户端200可以将控制对象与第一子空间的中心点的位置关系,确定为该控制对象的位置同步信息;
其中,上述控制对象与第一子空间的中心点的位置关系,即是该控制对象与第一子空间的中心点的相对位置信息。
可选的,可以以上述第一子空间的中心点作为坐标原点建立该第一子空间的子空间坐标系,从而,确定上述控制对象在该子空间坐标系中的坐标,所确定的坐标作为该控制对象与第一子空间的中心点的相对位置信息。
而在检测到上述控制对象所在的第一子空间与该控制对象在上一所处位置所属的第二子空间不同时,该客户端200可以将控制对象与第一子空间的中心点的位置关系与第一子空间的标识信息,确定为位置同步信息。
其中,上述第一子空间的标识信息,可以包括该子空间的标识,也可以包括该子空间的中心点的位置信息,还可以该子空间的标识和该空间点的中心点的位置信息,并且,上述中心点的位置信息为该中心点在虚拟场景中的位置信息。
可选的,针对每个客户端200,该客户端200在检测到控制对象的当前所处位置与相比于上一次所检测到的上一所处位置未发生变化时,可以发送携带有控制对象的标识的用于表征该客户端200的控制对象的当前位置未发生改变的通知消息。
可见,针对每个同步周期,若该客户端200的控制对象在该同步周期内未进行位置移动,则传输位置信息,若该控制对象在该同步周期内未跨越子空间,则仅需传输该控制对象与该子空间的中心点的位置关系,而该控制对象在该同步周期内为跨越子空间,则需传输所进入的新的子空间的标识信息和该控制对象与该子空间的中心点的位置关系。
S305:每个客户端200向服务器100上报位置同步信息;
S306:服务器100接收每个客户端200上报的位置同步信息;
S307:服务器100将位置同步信息下发给多个客户端200中除上报位置同步信息的客户端200之外的其他客户端200;
每个客户端200在确定控制对象的位置同步信息后,可以向服务器100上报该位置信息。这样,服务器100便可以接收各个客户端200所上报的虚拟场景中各个对象的位置同步信息,之后,将每个位置同步信息下发给多个客户端200中除上报该位置同步信息的客户端200之外的其他客户端200。
可选的,客户端200可以向服务器100发送携带有控制对象的标识的位置同步信息,这样,服务器100可以接收上述位置同步信息,获取上述标识,并根据自身所存储的客户端200标识与虚拟场景中各个对象的标识的对应关系,将该位置同步信息下发给除该客户端200标识所对应的客户端200之外的其他客户端200。
S308:每个客户端200接收服务器100下发的各个位置同步信息;
S309:每个客户端200在虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向服务器100上报该位置同步信息的客户端200的控制对象。
每个客户端200在接收到服务器100下发的各个位置同步信息后,可以将各个位置同步信息所指示的位置,确定为上报该位置同步信息的客户端200的控制对象在虚拟场景中的位置,并在该位置显示该控制对象。
可选的,服务器100接收的各个位置同步信息中携带有上报该位置同步信息的客户端200的控制对象的标识,并且,该服务器100所下发的各个位置同步信息中也携带有上报该位置同步信息的客户端200的控制对象的标识。这样,每个客户端200在接收到各个位置同步信息后,可以基于每个位置同步信息中所携带的控制对象的标识,确定该位置同步信息所指示的控制对象。进而,该客户端200可以根据每个控制对象的位置同步信息,确定位置同步信息所指示的该控制对象的位置,并在所确定的位置显示该控制对象。
这样,每个客户端200在接收到除该客户端200的控制对象之外的其他各个对象的位置同步信息后,便可以基于每个对象的位置同步信息,确定该对象在虚拟场景的场景画面中的位置,从而,在所确定的位置处显示该对象。
以上可见,应用本申请实施例提供的方案,通过将虚拟场景的场景空间划分为各个子空间,将所要传输的控制对象的同步位置信息,由该控制对象在大的虚拟场景的场景空间中的位置信息转化为该控制对象在小的子空间中与子空间的中心点的相对位置信息,或者,转化为该控制对象所在子空间的标识和该控制对象与子空间的中心点的相对位置信息。由于子空间的范围明显小于虚拟场景的场景空间的范围,从而,控制对象在子空间中的位置信息的数值变化范围明显小于控制对象在虚拟场景的场景空间中的位置信息的数值变化范围,并且,由于与子空间的中心点的相对位置信息的数值变化范围小于控制对象在子空间中的位置信息的数值变化范围,从而,将与子空间的中心点的相对位置信息,作为该控制对象的同步位置信息,客户端每次所需传输的位置同步信息的数据量可以明显减少,进而,服务器和各个客户端进行位置同步所需传输的总的数据量可以明显减少,这样,对虚拟场景中的各个对象进行位置同步所需占用的数据资源也将随之减少。
相应于上述虚拟场景中的对象位置同步系统,本申请实施例还提供了一种虚拟场景中的对象位置同步方法,应用于虚拟场景中的对象位置同步系统中的每个客户端,该系统还包括服务器和多个客户端。如图4所示,该方法可以包括如下步骤S401-S406:
S401:按照预设同步周期,检测该客户端的控制对象在虚拟场景中的当前所处位置;
其中,虚拟场景为三维场景;
S402:在检测到当前所处位置与上一次所检测到的控制对象的上一所处位置发生变化时,检测当前所处位置在虚拟场景中所属的第一子空间与上一所处位置在虚拟场景中所属的第二子空间是否相同;若是,则执行步骤S403;若否,执行步骤S404;
S403:将控制对象与第一子空间的中心点的位置关系,确定为位置同步信息;
S404:将位置关系与第一子空间的标识信息,确定为位置同步信息;
S405:向服务器上报位置同步信息,以使服务器接收每个客户端上报的位置同步信息,并将位置同步信息下发给多个客户端中除上报位置同步信息的客户端之外的其他客户端;
S406:接收服务器下发的各个位置同步信息,并在虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向服务器上报该位置同步信息的客户端的控制对象。
每个客户端可以按照预设同步周期,检测控制对象在虚拟场景中的当前所在位置相比于上一次所检测到的控制对象的上一所处位置是否发生变化。
在检测到控制对象的当前所处位置与相比于上一次所检测到的上一所处位置未发生变化时,可以发送携带有控制对象的标识的用于表征该客户端的控制对象的当前位置未发生改变的通知消息。
在检测到控制对象的当前所处位置与相比于上一次所检测到的上一所处位置发生了变化时,该客户端可以进一步检测控制对象的当前所处位置在虚拟场景中所属的第一子空间与上一所处位置在虚拟场景中所属的第二子空间是否相同。
进而,在检测到上述控制对象所在的第一子空间与该控制对象在上一所处位置所属的第二子空间相同时,该客户端可以将控制对象与第一子空间的中心点的位置关系,确定为该控制对象的位置同步信息;
而在检测到上述控制对象所在的第一子空间与该控制对象在上一所处位置所属的第二子空间不同时,该客户端可以将控制对象与第一子空间的中心点的位置关系与第一子空间的标识信息,确定为位置同步信息。
每个客户端在确定控制对象的位置同步信息后,可以向服务器上报该位置信息。这样,服务器便可以接收各个客户端所上报的虚拟场景中各个对象的位置同步信息,之后,将每个位置同步信息下发给多个客户端中除上报该位置同步信息的客户端之外的其他客户端。
每个客户端在接收到服务器下发的各个位置同步信息后,可以根据各个位置同步信息,确定上报该位置同步信息的客户端的控制对象在虚拟场景中的位置,并在该位置显示该控制对象。
以上可见,应用本申请实施例提供的方案,通过将虚拟场景的场景空间划分为各个子空间,将所要传输的控制对象的同步位置信息,由该控制对象在大的虚拟场景的场景空间中的位置信息转化为该控制对象在小的子空间中与子空间的中心点的相对位置信息,或者,转化为该控制对象所在子空间的标识和该控制对象与子空间的中心点的相对位置信息。由于子空间的范围明显小于虚拟场景的场景空间的范围,从而,控制对象在子空间中的位置信息的数值变化范围明显小于控制对象在虚拟场景的场景空间中的位置信息的数值变化范围,并且,由于与子空间的中心点的相对位置信息的数值变化范围小于控制对象在子空间中的位置信息的数值变化范围,从而,将与子空间的中心点的相对位置信息,作为该控制对象的同步位置信息,客户端每次所需传输的位置同步信息的数据量可以明显减少,进而,服务器和各个客户端进行位置同步所需传输的总的数据量可以明显减少,这样,对虚拟场景中的各个对象进行位置同步所需占用的数据资源也将随之减少。
可选的,一种具体实现方式中,本申请实施例提供的一种虚拟场景中的对象位置同步方法,在上述步骤S401之前,还可以包括如下步骤31:
步骤31:接收每个子空间的空间信息;其中,所述每个子空间的空间信息是所述服务器在将所述所述虚拟场景的场景空间划分为多个子空间,并确定每个子空间的空间信息后,下发给每个客户端的。
上述步骤31的具体实现方式如前所述,此处不再赘述。
相应于上述虚拟场景中的对象位置同步系统,本申请实施例还提供了一种虚拟场景中的对象位置同步方法,应用于虚拟场景中的对象位置同步系统中的服务器,该系统还包括多个客户端。如图5所示,该方法可以包括如下步骤S501-S502:
S501:接收每个客户端上报的位置同步信息;其中,位置同步信息是每个客户端在检测到该客户端的控制对象在虚拟场景中的当前所处位置与上一次所检测到的控制对象的上一所处位置发生变化时上报的,若每个客户端检测到当前所处位置在虚拟场景中所属的第一子空间与上一所处位置在虚拟场景中所属的第二子空间相同,则所上报的位置同步信息包括控制对象与第一子空间的中心点的位置关系;若每个客户端检测到当前所处位置在虚拟场景中所属的第一子空间与上一所处位置在虚拟场景中所属的第二子空间不同,则所上报的位置同步信息包括位置关系与第一子空间的标识信息;虚拟场景为三维场景;
S502:将位置同步信息下发给多个客户端中除上报位置同步信息的客户端之外的其他客户端,以使每个客户端接收服务器下发的各个位置同步信息,并在虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向服务器上报该位置同步信息的客户端的控制对象。
每个客户端可以按照预设同步周期,检测控制对象在虚拟场景中的当前所在位置相比于上一次所检测到的上一所处位置是否发生变化。
在检测到控制对象的当前所处位置与相比于上一次所检测到的上一所处位置未发生变化时,可以发送携带有控制对象的标识的用于表征该客户端的控制对象的当前位置未发生改变的通知消息。
在检测到控制对象的当前所处位置与相比于上一次所检测到的上一所处位置发生了变化时,该客户端可以进一步检测控制对象的当前所处位置在虚拟场景中所属的第一子空间与上一所处位置在虚拟场景中所属的第二子空间是否相同。
进而,在检测到上述控制对象所在的第一子空间与该控制对象在上一所处位置所属的第二子空间相同时,该客户端可以将控制对象与第一子空间的中心点的位置关系,确定为该控制对象的位置同步信息;
而在检测到上述控制对象所在的第一子空间与该控制对象在上一所处位置所属的第二子空间不同时,该客户端可以将控制对象与第一子空间的中心点的位置关系与第一子空间的标识信息,确定为位置同步信息。
每个客户端在确定控制对象的位置同步信息后,可以向服务器上报该位置信息。这样,服务器便可以接收各个客户端所上报的虚拟场景中各个对象的位置同步信息,之后,将每个位置同步信息下发给多个客户端中除上报该位置同步信息的客户端之外的其他客户端。
每个客户端在接收到服务器下发的各个位置同步信息后,可以根据各个位置同步信息,确定上报该位置同步信息的客户端的控制对象在虚拟场景中的位置,并在该位置显示该控制对象。
以上可见,应用本申请实施例提供的方案,通过将虚拟场景的场景空间划分为各个子空间,将所要传输的控制对象的同步位置信息,由该控制对象在大的虚拟场景的场景空间中的位置信息转化为该控制对象在小的子空间中与子空间的中心点的相对位置信息,或者,转化为该控制对象所在子空间的标识和该控制对象与子空间的中心点的相对位置信息。由于子空间的范围明显小于虚拟场景的场景空间的范围,从而,控制对象在子空间中的位置信息的数值变化范围明显小于控制对象在虚拟场景的场景空间中的位置信息的数值变化范围,并且,由于与子空间的中心点的相对位置信息的数值变化范围小于控制对象在子空间中的位置信息的数值变化范围,从而,将与子空间的中心点的相对位置信息,作为该控制对象的同步位置信息,客户端每次所需传输的位置同步信息的数据量可以明显减少,进而,服务器和各个客户端进行位置同步所需传输的总的数据量可以明显减少,这样,对虚拟场景中的各个对象进行位置同步所需占用的数据资源也将随之减少。
可选的,一种具体实现方式中,本申请实施例提供的一种虚拟场景中的对象位置同步方法,还可以包括如下步骤41-42:
步骤41:将所述虚拟场景的场景空间划分为多个子空间;
步骤42:确定每个子空间的空间信息,并将每个子空间的空间信息下发给所述多个客户端,以使每个客户端接收所述每个子空间的空间信息;其中,每个子空间的空间信息包括:该子空间的中心点的位置信息。
可选的,一种具体实现方式中,所述步骤41,可以包括如下步骤411:
步骤411:确定待划分的子空间的预设边长,并按照所述预设边长,将所述虚拟场景的场景空间划分为多个立方体,作为多个子空间。
可选的,一种具体实现方式中,上述步骤411,可以包括步骤51-54:
步骤51:确定所述客户端进行位置检测的预设频率、所述虚拟场景中的各个控制对象的平均移动速度以及预设的子空间标识信息所占用的第一位数;
步骤52:确定基于待划分的子空间的预设边长所表征的位置关系所占用的第二位数;
步骤53:基于所述预设频率、所述平均移动速度、所述第一位数、以及所述第二位数,构建关于所述多个客户端在所述单位时长内所上报的位置同步信息的平均数据量与所述预设边长的关联关系;
步骤54:基于所述关联关系,确定使得所述平均数据量满足预设条件的所述预设边长。
可选的,一种具体实现方式中,所述位置关系通过浮点数表示,且所述位置关系包括:整数部分和小数部分;
上述步骤52,可以包括步骤521-522:
步骤521:确定基于待划分的子空间的预设边长所表征的所述位置关系的所述整数部分的第一子位数,以及基于预设位移精度所确定的所述位置关系的所述小数部分的第二子位数;
步骤522:确定通过所述第一子位数和所述第二子位数的和所表征的所述位置关系所占用的第二位数。
上述各步骤的具体实现方式如前所述,此处不再赘述。
基于相同的发明构思,相应于上述本申请实施例提供的图4所示的一种虚拟场景中的对象位置同步方法,本申请实施例还提供了一种虚拟场景中的对象位置同步装置,应用于虚拟场景中的对象位置同步系统中的每个客户端,该系统还包括服务器和多个客户端。
图6为本申请实施例提供的一种应用于虚拟场景中的对象位置同步系统中的每个客户端的虚拟场景中的对象位置同步装置的结构示意图。如图6所示,该装置可以包括如下模块:
第一检测模块610,用于按照预设同步周期,检测该客户端的控制对象在虚拟场景中的当前所处位置;其中,所述虚拟场景为三维场景;
第二检测模块620,用于在检测到所述当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时,检测所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间是否相同;若相同,触发第一确定模块;否则,触发第二确定模块;
所述第一确定模块630,用于将所述控制对象与所述第一子空间的中心点的位置关系,确定为位置同步信息;
所述第二确定模块640,用于将所述位置关系与所述第一子空间的标识信息,确定为位置同步信息;
上报模块650,用于向所述服务器上报所述位置同步信息,以使所述服务器接收每个客户端上报的所述位置同步信息,并将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端;
显示模块660,用于接收所述服务器下发的各个位置同步信息,并在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
以上可见,应用本申请实施例提供的方案,通过将虚拟场景的场景空间划分为各个子空间,将所要传输的控制对象的同步位置信息,由该控制对象在大的虚拟场景的场景空间中的位置信息转化为该控制对象在小的子空间中与子空间的中心点的相对位置信息,或者,转化为该控制对象所在子空间的标识和该控制对象与子空间的中心点的相对位置信息。由于子空间的范围明显小于虚拟场景的场景空间的范围,从而,控制对象在子空间中的位置信息的数值变化范围明显小于控制对象在虚拟场景的场景空间中的位置信息的数值变化范围,并且,由于与子空间的中心点的相对位置信息的数值变化范围小于控制对象在子空间中的位置信息的数值变化范围,从而,将与子空间的中心点的相对位置信息,作为该控制对象的同步位置信息,客户端每次所需传输的位置同步信息的数据量可以明显减少,进而,服务器和各个客户端进行位置同步所需传输的总的数据量可以明显减少,这样,对虚拟场景中的各个对象进行位置同步所需占用的数据资源也将随之减少。
可选的,一种具体实现方式中,所述装置还包括:
空间信息接收模块,用于在按照预设同步周期,检测该客户端的控制对象在虚拟场景中的当前所处位置之前,接收每个子空间的空间信息;其中,所述每个子空间的空间信息是所述服务器在将所述所述虚拟场景的场景空间划分为多个子空间,并确定每个子空间的空间信息后,下发给每个客户端的。
基于相同的发明构思,相应于上述本申请实施例提供的图5所示的一种虚拟场景中的对象位置同步方法,本申请实施例还提供了一种虚拟场景中的对象位置同步装置,应用于虚拟场景中的对象位置同步系统中的服务器,该系统还包括多个客户端。
图7为本申请实施例提供的一种应用于虚拟场景中的对象位置同步系统中的服务器的虚拟场景中的对象位置同步装置的结构示意图。如图7所示,所述装置可以包括如下模块:
同步信息接收模块710,用于接收每个客户端上报的位置同步信息;其中,所述位置同步信息是每个客户端在检测到该客户端的控制对象在虚拟场景的当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时上报的,若每个客户端检测到所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间相同,则所上报的位置同步信息包括所述控制对象与所述第一子空间的中心点的位置关系;若每个客户端检测到所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间不同,则所上报的位置同步信息包括所述位置关系与所述第一子空间的标识信息;
下发模块720,用于将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端,以使每个客户端接收所述服务器下发的各个位置同步信息,并在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
以上可见,应用本申请实施例提供的方案,通过将虚拟场景的场景空间划分为各个子空间,将所要传输的控制对象的同步位置信息,由该控制对象在大的虚拟场景的场景空间中的位置信息转化为该控制对象在小的子空间中与子空间的中心点的相对位置信息,或者,转化为该控制对象所在子空间的标识和该控制对象与子空间的中心点的相对位置信息。由于子空间的范围明显小于虚拟场景的场景空间的范围,从而,控制对象在子空间中的位置信息的数值变化范围明显小于控制对象在虚拟场景的场景空间中的位置信息的数值变化范围,并且,由于与子空间的中心点的相对位置信息的数值变化范围小于控制对象在子空间中的位置信息的数值变化范围,从而,将与子空间的中心点的相对位置信息,作为该控制对象的同步位置信息,客户端每次所需传输的位置同步信息的数据量可以明显减少,进而,服务器和各个客户端进行位置同步所需传输的总的数据量可以明显减少,这样,对虚拟场景中的各个对象进行位置同步所占用的数据资源也将随之减少。
可选的,一种具体实现方式中,所述装置还包括:
子空间划分模块,用于将所述虚拟场景的场景空间划分为多个子空间;
空间信息确定模块,用于确定每个子空间的空间信息,并将每个子空间的空间信息下发给所述多个客户端,以使每个客户端接收所述服务器下发的每个子空间的空间信息;其中,每个子空间的空间信息包括:该子空间的中心点的位置信息。
可选的,一种具体实现方式中,所述子空间划分模块,包括:
预设边长确定子模块,用于确定待划分的子空间的预设边长,并按照所述预设边长,将所述虚拟场景的场景空间划分为多个立方体,作为多个子空间。
可选的,一种具体实现方式中,所述预设边长确定子模块,包括:
第一确定单元,用于确定所述客户端进行位置检测的预设频率、所述虚拟场景中的各个控制对象的平均移动速度以及预设的子空间标识信息所占用的第一位数;
第二确定单元,用于确定基于待划分的子空间的预设边长所表征的所述位置关系所占用的第二位数;
第三确定单元,用于基于所述预设频率、所述平均移动速度、所述第一位数、以及所述第二位数,构建关于所述多个客户端在所述单位时长内所上报的位置同步信息的平均数据量与所述预设边长的关联关系;
第四确定单元,用于基于所述关联关系,确定使得所述平均数据量满足预设条件的所述预设边长。
可选的,一种具体实现方式中,所述位置关系通过浮点数表示,且所述位置关系包括:整数部分和小数部分;
所述第二确定单元,具体用于:
确定基于待划分的子空间的预设边长所表征的所述位置关系的所述整数部分的第一子位数,以及基于预设位移精度所确定的所述位置关系的所述小数部分的第二子位数;确定通过所述第一子位数和所述第二子位数的和所表征的所述位置关系所占用的第二位数。
本申请实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现上述应用于虚拟场景中的对象位置同步系统中的多个客户端的虚拟场景中的对象位置同步方法,或者,上述应用于虚拟场景中的对象位置同步系统中的服务器的虚拟场景中的对象位置同步方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于虚拟场景中的对象位置同步系统中的多个客户端的虚拟场景中的对象位置同步方法的步骤,或者,上述应用于虚拟场景中的对象位置同步系统中的服务器的虚拟场景中的对象位置同步方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中应用于虚拟场景中的对象位置同步系统中的多个客户端的虚拟场景中的对象位置同步方法,或者,应用于虚拟场景中的对象位置同步系统中的服务器的虚拟场景中的对象位置同步方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例、装置实施例、电子设备实施例、计算机可读存储介质实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种虚拟场景中的对象位置同步系统,其特征在于,所述系统包括多个客户端和服务器;
每个客户端,用于按照预设同步周期,检测该客户端的控制对象在虚拟场景中的当前所处位置;在检测到所述当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时,检测所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间是否相同;若相同,将所述控制对象与所述第一子空间的中心点的位置关系,确定为位置同步信息;否则,将所述位置关系与所述第一子空间的标识信息,确定为位置同步信息;向所述服务器上报所述位置同步信息;其中,所述虚拟场景为三维场景;
所述服务器,用于接收每个客户端上报的所述位置同步信息,并将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端;
每个客户端,用于接收所述服务器下发的各个位置同步信息;在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
2.根据权利要求1所述的系统,其特征在于,
所述服务器,还用于将所述虚拟场景的场景空间划分为多个子空间;确定每个子空间的空间信息,并将每个子空间的空间信息下发给所述多个客户端;其中,每个子空间的空间信息包括:该子空间的中心点的位置信息;
每个客户端,还用于接收所述服务器下发的每个子空间的空间信息。
3.根据权利要求2所述的系统,其特征在于,所述服务器将所述虚拟场景的场景空间划分为多个子空间,包括:
所述服务器确定待划分的子空间的预设边长,并按照所述预设边长,将所述虚拟场景的场景空间划分为多个立方体,作为多个子空间。
4.根据权利要求3所述的系统,其特征在于,所述服务器确定待划分的子空间的预设边长,包括:
所述服务器确定所述客户端进行位置检测的预设频率、所述虚拟场景中的各个控制对象的平均移动速度以及预设的子空间标识信息所占用的第一位数;
所述服务器确定基于待划分的子空间的预设边长所表征的所述位置关系所占用的第二位数;
所述服务器基于所述预设频率、所述平均移动速度、所述第一位数以及所述第二位数,构建关于所述多个客户端在所述单位时长内所上报的位置同步信息的平均数据量与所述预设边长的关联关系;
所述服务器基于所述关联关系,确定使得所述平均数据量满足预设条件的所述预设边长。
5.根据权利要求4所述的系统,其特征在于,所述位置关系通过浮点数表示,且所述位置关系包括:整数部分和小数部分;
所述服务器确定基于待划分的子空间的预设边长所表征的所述位置关系所占用的第二位数,包括:
所述服务器确定基于待划分的子空间的预设边长所表征的所述位置关系的所述整数部分的第一子位数,以及基于预设位移精度所确定的所述位置关系的所述小数部分的第二子位数;
所述服务器确定通过所述第一子位数和所述第二子位数的和所表征的所述位置关系所占用的第二位数。
6.一种虚拟场景中的对象位置同步方法,其特征在于,应用于虚拟场景中的对象位置同步系统中的每个客户端,所述系统还包括服务器和多个客户端;所述方法包括:
按照预设同步周期,检测该客户端的控制对象在虚拟场景中的当前所处位置;其中,所述虚拟场景为三维场景;
在检测到所述当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时,检测所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间是否相同;
若相同,将所述控制对象与所述第一子空间的中心点的位置关系,确定为位置同步信息;
否则,将所述位置关系与所述第一子空间的标识信息,确定为位置同步信息;
向所述服务器上报所述位置同步信息,以使所述服务器接收所述客户端上报的所述位置同步信息,并将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端;
接收所述服务器下发的各个位置同步信息,并在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
7.一种虚拟场景中的对象位置同步方法,其特征在于,应用于虚拟场景中的对象位置同步系统中的服务器,所述系统还包括多个客户端;所述方法包括:
接收每个客户端上报的位置同步信息;其中,所述位置同步信息是每个客户端在检测到该客户端的控制对象在虚拟场景中的当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时上报的,若每个客户端检测到所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间相同,则所上报的位置同步信息包括所述控制对象与所述第一子空间的中心点的位置关系;若每个客户端检测到所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间不同,则所上报的位置同步信息包括所述位置关系与所述第一子空间的标识信息;所述虚拟场景为三维场景;
将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端,以使所述每个客户端接收所述服务器下发的各个位置同步信息,并在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
8.一种虚拟场景中的对象位置同步装置,其特征在于,应用于虚拟场景中的对象位置同步系统中的每个客户端,所述系统还包括服务器和多个客户端;所述装置包括:
第一检测模块,用于按照预设同步周期,检测该客户端的控制对象在虚拟场景中的当前所处位置;其中,所述虚拟场景为三维场景;
第二检测模块,用于在检测到所述当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时,检测所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间是否相同;若相同,触发第一确定模块;否则,触发第二确定模块;
所述第一确定模块,用于将所述控制对象与所述第一子空间的中心点的位置关系,确定为位置同步信息;
所述第二确定模块,用于将所述位置关系与所述第一子空间的标识信息,确定为位置同步信息;
上报模块,用于向所述服务器上报所述位置同步信息,以使所述服务器接收每个客户端上报的所述位置同步信息,并将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端;
显示模块,用于接收所述服务器下发的各个位置同步信息,并在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
9.一种虚拟场景中的对象位置同步装置,其特征在于,应用于虚拟场景中的对象位置同步系统中的服务器,所述系统还包括多个客户端;所述装置包括:
同步信息接收模块,用于接收每个客户端上报的位置同步信息;其中,所述位置同步信息是每个客户端在检测到该客户端的控制对象在虚拟场景的当前所处位置与上一次所检测到的所述控制对象的上一所处位置发生变化时上报的,若每个客户端检测到所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间相同,则所上报的位置同步信息包括所述控制对象与所述第一子空间的中心点的位置关系;若每个客户端检测到所述当前所处位置在所述虚拟场景中所属的第一子空间与所述上一所处位置在所述虚拟场景中所属的第二子空间不同,则所上报的位置同步信息包括所述位置关系与所述第一子空间的标识信息;
下发模块,用于将所述位置同步信息下发给所述多个客户端中除上报所述位置同步信息的客户端之外的其他客户端,以使每个客户端接收所述服务器下发的各个位置同步信息,并在所述虚拟场景的场景画面中,按照每个位置同步信息所指示的位置,显示向所述服务器上报该位置同步信息的客户端的控制对象。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求6-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310685995.9A CN116688491A (zh) | 2023-06-09 | 2023-06-09 | 虚拟场景中的对象位置同步系统、方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310685995.9A CN116688491A (zh) | 2023-06-09 | 2023-06-09 | 虚拟场景中的对象位置同步系统、方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116688491A true CN116688491A (zh) | 2023-09-05 |
Family
ID=87833513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310685995.9A Pending CN116688491A (zh) | 2023-06-09 | 2023-06-09 | 虚拟场景中的对象位置同步系统、方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116688491A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117560385A (zh) * | 2024-01-09 | 2024-02-13 | 北京万物镜像数据服务有限公司 | 一种虚拟对象的同步信息处理方法、装置及设备 |
-
2023
- 2023-06-09 CN CN202310685995.9A patent/CN116688491A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117560385A (zh) * | 2024-01-09 | 2024-02-13 | 北京万物镜像数据服务有限公司 | 一种虚拟对象的同步信息处理方法、装置及设备 |
CN117560385B (zh) * | 2024-01-09 | 2024-03-22 | 北京万物镜像数据服务有限公司 | 一种虚拟对象的同步信息处理方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3036557B1 (en) | System and method for selecting a wi-fi access point for position determination | |
CN105093178A (zh) | 终端定位方法、装置及系统 | |
CN108830093B (zh) | 终端设备操作权限的管理方法、服务器和终端设备 | |
CN116688491A (zh) | 虚拟场景中的对象位置同步系统、方法、装置及电子设备 | |
CN109144858B (zh) | 流畅度检测方法、装置、计算设备及存储介质 | |
CN109005514B (zh) | 用户位置信息的回填方法、装置、终端设备及存储介质 | |
CN105979489A (zh) | 一种楼层定位方法及装置 | |
CN110445667A (zh) | 一种链路延迟检测方法、装置、存储介质以及终端 | |
CN106161553B (zh) | 社区应用信息推送方法和系统 | |
CN110297938A (zh) | 一种音频播放方法、装置及终端 | |
CN108291954A (zh) | 电波状况地图的创建系统及其控制方法 | |
CN111565357B (zh) | 定位方法和终端 | |
CN112579244A (zh) | 在移动终端截取远程桌面中区域图片的方法及系统 | |
CN113747245A (zh) | 多媒体资源上传方法、装置、电子设备以及可读存储介质 | |
CN116817924A (zh) | 一种基于智能网关的室内定位方法、装置以及电子设备 | |
WO2020228592A1 (zh) | 渲染方法及装置 | |
CN105929851B (zh) | 一种采用摇杆设备控制云台方法和装置 | |
CN104167014A (zh) | 用于渲染三维表面的数据的方法 | |
CN108347355A (zh) | 一种应用状态的检测方法及其设备 | |
CN111262907A (zh) | 服务实例访问方法、装置和电子设备 | |
CN112050803B (zh) | 室内逃生方法及相关装置 | |
CN111065045B (zh) | 匹配定位方法、装置、电子设备及计算机可读介质 | |
CN112181577A (zh) | 显示控制系统、方法及装置 | |
CN111148220B (zh) | 一种定位方法及装置 | |
CN112181575A (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 |