WO2018201935A1 - 多化身位置同步系统、方法、装置及电子设备和存储介质 - Google Patents

多化身位置同步系统、方法、装置及电子设备和存储介质 Download PDF

Info

Publication number
WO2018201935A1
WO2018201935A1 PCT/CN2018/084307 CN2018084307W WO2018201935A1 WO 2018201935 A1 WO2018201935 A1 WO 2018201935A1 CN 2018084307 W CN2018084307 W CN 2018084307W WO 2018201935 A1 WO2018201935 A1 WO 2018201935A1
Authority
WO
WIPO (PCT)
Prior art keywords
avatar
location
client
server
information
Prior art date
Application number
PCT/CN2018/084307
Other languages
English (en)
French (fr)
Inventor
魏知晓
Original Assignee
广州爱九游信息技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 广州爱九游信息技术有限公司 filed Critical 广州爱九游信息技术有限公司
Publication of WO2018201935A1 publication Critical patent/WO2018201935A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Definitions

  • the present application relates to online communication, and in particular, to a multi-avatar position synchronization system, method, device, and electronic device and storage medium.
  • an avatar can contain any type of recognizable identification information. But in a typical application, the avatar usually includes an image that can be as simple as a two-dimensional icon or as complex as a detailed three-dimensional image, such as a detailed rendering of a character. For example, in a networked game such as Second Life, each avatar of a three-dimensional image generated by a computer represents an entity controlled by a different user.
  • each user controls a virtual character (avatar) on the client.
  • avatar virtual character
  • the most basic behavior of the control is the walking of the character, and the user wants to see the position of each other. , the need to report their mobile information to the server, and then forwarded to other clients by the server, this process can be called location synchronization between players.
  • Players usually see the real-time position of themselves and other players on the client side, and the player's own position is controlled by himself. The player reports to the server its own location on its own client, called synchronization to the server.
  • the player receives the location of other players sent by the server, and moves the roles of other players to the specified location on the client side, called synchronization from the server.
  • synchronization from the server.
  • the player is shifting most of the time, that is, switching between walking and stopping, so it takes a long time to synchronize the displacement of different players between different clients.
  • the player position is in the role-playing online game. Network synchronization is the most important and frequent information.
  • location synchronization faces many problems.
  • the present disclosure provides an optimized multiple avatar location synchronization scheme.
  • Each client uses a strategy to estimate its position in the server, and only synchronizes to the server when there is a certain distance between the avatar that it controls and the estimated location of the server.
  • it is preferable to smooth the position jump of the server due to network instability through a policy.
  • One aspect of the present disclosure is capable of reducing unnecessary network traffic while ensuring the required synchronization accuracy while enhancing the mobile performance of other client avatars seen.
  • a multiple avatar location synchronization system including at least one server and a plurality of clients each having an avatar that controls its actions in a space scenario, the server being in the space Synchronizing the avatars in the scenario, wherein the client reports the location and the mobile information of the avatar in the space scenario to the server; the server delivers the location and the mobile information reported by the client to other clients; And the client re-reports the location and movement information of the avatar to the server when the distance between the current location of the avatar and the current estimated location under the previously reported location and the mobile information exceeds the distance threshold.
  • the client only reports the current location and the mobile information when the current location of the avatar is different from the estimated location reported last time, thereby avoiding a large amount of unnecessary network transmission while ensuring the accuracy of the location synchronization, saving Network traffic and improved display fluency.
  • the other client may receive the location and movement information of the client delivered by the server, and the avatar of the client delivered by the server and the current location of the avatar of the client currently displayed by the server
  • the avatar of the client is moved to the delivery position. Therefore, in the prior art, the position of the character suddenly jumps due to the difference in the position of the avatar and the position of the delivery, thereby improving the naturalness of the game.
  • the above movement may be a uniform linear motion toward the delivery position, and its moving speed may be related to the current speed and/or the delivery speed of the avatar. This makes the avatar movement more natural and easy to implement.
  • the client controls its avatar to change from mobile to stationary, or from stationary to mobile
  • the location and movement information of the avatar within the spatial scene is immediately reported to the server. This ensures that important motion changes such as transitions between stop and start are synchronized immediately between clients.
  • the position and movement information may include two-dimensional or three-dimensional position coordinates of the avatar within the spatial scene, and a moving direction and a moving speed of the avatar. This makes it easy to estimate the subsequent trajectory of the avatar.
  • the client can report its current location and mobile information when it reports the time threshold exceeded.
  • the client can report its current location and mobile information when it reports the time threshold exceeded.
  • a method for multiple avatar location synchronization in a spatial scenario including: a client controlling an action of an avatar within the spatial scenario and reporting location and movement information of the avatar to the server; And the client re-reports the location and movement information of the avatar to the server when the distance between the current location of the avatar and the current estimated location under the previously reported location and the mobile information exceeds the distance threshold.
  • the synchronization method may further include that the other client receives the location and mobility information of the client that is sent by the server, and the current location of the avatar of the client that is currently displayed, and other When the delivery position of the avatar of the client is different, the avatar of the client is moved to the delivery position.
  • a multi-avatar position synchronization device in a spatial scene, comprising: an avatar control unit for controlling an action of an avatar in the spatial scene; and an information reporting unit for The server reports the location and mobile information of its avatar.
  • the information reporting unit re-reports the location and movement of the avatar to the server when the distance between the current location of the avatar and the current estimated location under the previously reported location and the mobile information exceeds the first distance threshold. information.
  • the synchronization device may further comprise an information receiving unit, configured to receive location and movement information of other avatars sent by the server.
  • the avatar control unit causes the other avatars to be sent to the avatar control unit when the distance between the current location of the other avatars currently displayed and the location of the other avatars received by the information receiving unit is greater than the second distance threshold. Position moves.
  • an electronic device comprising: a display screen; a processor; and a memory having executable code stored thereon, when the executable code is executed by the processor, The processor performs the multi-avatar position synchronization method described above to implement multiple avatar position synchronization in a spatial scene displayed by the display screen.
  • a non-transitory machine readable storage medium having stored thereon executable code that, when executed by a processor of an electronic device, causes the processor The multi-avatar position synchronization method described above is performed.
  • the avatar delivery position is different from the display position, the avatar is moved toward the delivery position to avoid unnaturalness caused by direct jumping.
  • the above means can also reduce the influence of information errors on position synchronization.
  • FIG. 1 shows a system block diagram of a synchronization system in which the present disclosure can be implemented.
  • FIG. 2 shows a flow chart of a synchronization method in accordance with one embodiment of the present disclosure.
  • FIG. 3 shows a schematic diagram of one specific implementation of a synchronization scheme in the present disclosure.
  • FIG. 4 shows a structural block diagram of a synchronization device according to an embodiment of the present disclosure.
  • FIG. 5 shows a schematic block diagram of an electronic device in accordance with one embodiment of the present disclosure.
  • the present disclosure proposes a multiple avatar location synchronization scheme.
  • the solution includes optimizing the client-to-server synchronization process. This is mainly achieved by minimizing the number of location synchronizations.
  • the server shadow hereinafter referred to as the server shadow, not drawn
  • the client reports its own displacement information to the server.
  • This strategy can avoid a lot of useless synchronization while ensuring accuracy (for example, traveling in a fixed direction, with only a small curve in the process of travel, etc.), thereby reducing unnecessary consumption of network traffic.
  • the client can only report the position at most once in a short time, regardless of whether the displacement exceeds the distance threshold, which can avoid many In this case, the user deliberately and frequently changes the large amount of network traffic consumption caused by the displacement in a very short time, because usually in many cases, other clients do not need to see the real position of an avatar in a very short time.
  • the network traffic and accuracy can be adjusted by properly setting the distance threshold and the time threshold.
  • the threshold is set low, the accuracy is increased, the network traffic is increased, and when the threshold is high, the accuracy is decreased and the network traffic is also reduced. Therefore, it is convenient to dynamically adjust the distance threshold and the time threshold according to specific conditions, that is, different precisions can be selected in different situations.
  • a synchronization scheme in the present disclosure may also include optimizing the process of synchronizing from the server.
  • Other clients eg, client B
  • the location of A received by B is susceptible to network instability, resulting in the location information of the received A may be discrete, the distance difference is large.
  • the scheme also generates two objects for client A on client B, one is the entity of A, and the other is called the shadow of A (not drawn).
  • the entity of A continues to move from the current position of A's entity to the shadow position of A every frame, so that the position of A's avatar is always smooth and natural, and will not move due to network instability. Jumping (only the shadow of A that is not drawn may have displacement discontinuities). Even in the case of unstable network, the entity of A will always coincide with the shadow of A in a short time, that is, the entity of A will always reach the correct server-defined position, but the performance is more natural.
  • the system includes at least one server 20 and a plurality of terminal devices 10.
  • the terminal device 10 can implement information transceiving with the server 20 via the network 40.
  • the server 20 can acquire the content required by the terminal device 10 by accessing the database 30, and provide a shared space scenario in which each client can control its avatar.
  • Network 40 may be a network for information transfer in a broad sense, and may include one or more communication networks, such as a wireless communication network, the Internet, a private area network, a local area network, a metropolitan area network, a wide area network, or a cellular data network.
  • the terminal device 10 is any suitable electronic device that can be used to access a server (eg, a client installed to access a particular networked game), including but not limited to a smart phone, a notebook computer, or a desktop computer.
  • a server eg, a client installed to access a particular networked game
  • a plurality of terminal devices 10-1...N and a single server 20 and database 30 are shown in the figure, one or a part of the terminal devices are selected for description (for example, the terminal device 10-1) in the following description.
  • the above 1...N terminal devices are intended to represent a large number of terminal devices existing in a real network
  • the illustrated single server 20 and database 30 are intended to indicate that the technical solution of the present disclosure relates to a server and a database. Operation.
  • the specific numbered terminal devices, as well as the individual servers and databases, are described at least for convenience of description, and do not imply limitations on specific types or locations.
  • the system shown in FIG. 1 can be implemented as a multi-avatar location synchronization system, including at least one server and a plurality of clients, each having an avatar that controls its actions in a space scenario, the server being in the space Synchronize each avatar in the scene.
  • Any client for example, client A
  • client A can report the location and mobile information of the avatar in the space scenario to the server, and the server can deliver the location and mobile information reported by A to other clients (for example, the client).
  • B) The client A re-reports the location and movement information of the avatar to the server when the distance between the current location of the avatar and the current estimated location under the previously reported location and the mobile information exceeds the distance threshold.
  • the spatial scene involved in the present disclosure may be, for example, a two-dimensional or three-dimensional networked game scene, and the avatar may correspondingly be a virtual character controlled by a user (player), or may be another virtual or AR environment, for example, multiple implementations under a map application.
  • the direction of movement and the speed of movement may be represented by a vector velocity (ie, represented by a vector having three or two components, the direction of the vector representing the current direction of motion, the modulo of the vector representing the speed of movement), position Represented by a three-dimensional or two-dimensional coordinate representing the position of an avatar in a three-dimensional scene or a two-dimensional scene.
  • a vector velocity ie, represented by a vector having three or two components, the direction of the vector representing the current direction of motion, the modulo of the vector representing the speed of movement
  • the synchronous reporting may preferably be triggered immediately without being limited by the above distance threshold. That is, each time the movement state itself changes (moving to standing, standing to moving) triggers an escalation. This is because in most application scenarios, the transition between stop and start is considered to be a very important and sensitive change in motion, requiring immediate synchronization between clients.
  • an additional time threshold T can also be set. Each time the synchronization is triggered, it is checked whether the time of the last synchronization and the current time exceed T, and if not, it is not synchronized.
  • the priority of the above-mentioned time threshold control may be higher than that of the aforementioned motion state change. For example, when the user frequently changes the motion state of the avatar in a short time (ie, standing still or stationary to stand), the above change can be regarded as, for example, an operation that is meaningless to the progress of the game without being reported. By adding time threshold control, meaningless network transmission and avatar reproduction can be avoided in games where the user is not sensitive to fast moving changes.
  • other clients receive location and mobility information of the client (eg, client A) delivered by the server, and are currently displayed
  • client e.g., client A
  • the threshold may be 0, that is, the movement is triggered as long as the current position and the delivery position are different; or may be a smaller value according to actual needs, that is, the system tolerates a position error within a certain range.
  • the movement of the A avatar may be a uniform linear motion toward the delivery position, the speed of which is related to the current speed and/or the speed of the avatar.
  • the movement of the above A avatar can also refer to other attributes of the A avatar, such as the control habits of the user of the client A.
  • FIG. 2 illustrates a flow chart of a method of multiple avatar location synchronization in a spatial scene, in accordance with one embodiment of the present disclosure.
  • the method can be implemented by the synchronization system shown in FIG.
  • the client eg, client A
  • the client can control the actions of its avatar in the space scene and report the location and movement information of its avatar to the server; in step S220, the client (eg, client A) And re-reporting the location and movement information of the avatar to the server when the distance between the current position of the avatar and the current estimated position under the previously reported position and the movement information exceeds the first distance threshold.
  • the server is responsible for delivering the location and mobile information reported by each client to other clients.
  • other clients may receive the location and movement information of the client (eg, client A) delivered by the server, and the client currently displayed at the client
  • the client eg, client A
  • client A when the distance between the current location of the avatar (eg, client A) and the delivery location of the avatar of the client delivered by the server is greater than a second distance threshold
  • client A may also receive location and mobility information of other clients (eg, client B), and is currently displayed in it.
  • the other client When the distance between the current location of the avatar of the other client (eg, client B) and the delivery location of the avatar of the other client delivered by the server is greater than the second distance threshold, the other client is caused The avatar of the end (eg, client B) moves to the down position.
  • the location and movement information of the avatar within the spatial scene is immediately reported to the server if the client controls its avatar to change from mobile to stationary, or from stationary to mobile. Also preferably, the client can report its current location and movement information when it is reported above its previous time threshold.
  • first and second are intended to distinguish distance thresholds, and do not imply a prioritization or interrelationship between the thresholds in any sense.
  • FIG. 3 A specific application of a location synchronization scheme of the present disclosure in a network game scenario will be described with reference to FIG. 3 as follows.
  • the two players can respectively control the movement of the virtual characters in the client A and the client B in the shared space, and need to communicate with the server S to see the moving state and position of each other in real time.
  • the process of synchronization is reported by the client A to the server S and the server S sends the information to the client B.
  • the client B processes the processing of the sent information.
  • the same reason can be applied to the player B or other players to the server S.
  • other servers report information and the server S processes the information after sending the information to the client A or other players.
  • the information m synchronized between the client and the server includes two parts, one is a position p represented by a vector, and the other is a moving speed v with a direction indicated by a vector.
  • the player will trigger the movement control of the virtual character in the client A.
  • the control mainly includes walking and standing in a certain direction in the scene.
  • client A will trigger the reporting of the mobile information of the virtual character in client A to the server (as shown on the left side of Figure 3).
  • the timing of reporting is determined by the following algorithm steps:
  • Client A has a visible virtual character A1 drawn, A1 is moved by the player of client A in the scene, and client A can also create a virtual object A2, A2 is not drawn, only the location is recorded. Information and mobility, A1 is called the actual role, and A2 is called the server shadow of A1. Both A1 and A2 have a position data p and a moving speed data v. Initially, the data of A1 and A2 are set to be the same, that is, the moving state is consistent and the positions are overlapped.
  • the positions of A1 and A2 can be calculated periodically at each frame or at other time intervals.
  • the speed and direction of the movement may change, ie the trajectory may change.
  • the player controls the movement speed of the virtual character in client A to change only the speed of A1 is changed, and A2 does not change.
  • the distance D between the positions of the current A1 and A2 is detected every frame or timing.
  • the client A uploads the current information position p 1 and the moving speed v 1 of the current A1 to the server.
  • the speed of A2 is set to v 1
  • the position p 2 of A2 is set to the same position as A1.
  • the server S After receiving the mobile information reported by the client A, the server S needs to send the mobile terminal A's mobile information to the client B that can see A. After receiving the client B, the client B needs to process the A to be processed on the client B.
  • the moving state of the object is the same as that of client A (as shown on the right side of Figure 3). The method steps are as follows:
  • an object A1 of the role of the client A is initially established.
  • This A1 is a visible object drawn, which reflects the mobile state of the client A in real time, and a client B is also established.
  • the virtual objects A2 and A2 are not drawn, only the location information and the movement are recorded.
  • A1 is called the actual role, and A2 is called the server shadow of A1.
  • Both A1 and A2 have a position data p and a moving speed data v. Initially, the data of A1 and A2 are set to be the same, that is, the moving state is consistent and the positions are overlapped.
  • the positions of A1 and A2 are calculated every frame or timing.
  • p 1 F'(p 1_0 , v 1 ,t,p 2 ), where p 1_0 is the position of A1 calculated last time, v 1 is the moving speed, and t is the time interval from the last calculated position.
  • p 2 is the current position of A2
  • F' is a function of the movement mode. This function is designed to continuously move from the current position of A1 to the end position of A2, which is different for different movement modes F'. Realize, for example, for the simplest uniform linear motion:
  • a multiple avatar position synchronization scheme of the present disclosure can also be implemented by a multi-avatar position synchronization device in a spatial scene.
  • 4 is a block diagram showing the structure of a synchronizing apparatus in accordance with an embodiment of the present disclosure.
  • the functional modules of the synchronization device 400 may be implemented by hardware, software, or a combination of hardware and software that implements the principles of the present invention.
  • the functional blocks depicted in FIG. 4 can be combined or divided into sub-modules to implement the principles of the above described invention. Accordingly, the description herein may support any possible combination, or division, or further limitation of the functional modules described herein.
  • the synchronization device 400 shown in FIG. 4 can be used to implement the multi-avatar position synchronization method shown in FIG. 2, and only the function modules that the synchronization device 400 can have and the operations that can be performed by the function modules are briefly described. For details, please refer to the description above in conjunction with FIG. 2, and details are not described herein again.
  • a synchronization device 400 of the present disclosure may include an avatar control unit 410 and an information reporting unit 420.
  • the avatar control unit 410 can be used to control the actions of the avatar in the spatial scene, and the information reporting unit 420 can be used to report the location and movement information of the avatar to the server.
  • the information reporting unit 420 re-reports the location and movement information of the avatar to the server when the distance between the current location of the avatar and the current estimated location under the previously reported location and the mobile information exceeds the first distance threshold.
  • the synchronization device 400 may further include an information receiving unit 430.
  • the information receiving unit 430 can be configured to receive location and movement information of other avatars sent by the server. And the avatar control unit 410 moves the other avatars to the delivery position when the distance between the current position of the other avatar currently displayed and the delivery position of the other avatars received by the information receiving unit 430 is greater than the second distance threshold. .
  • the information reporting unit 420 immediately reports the position and movement information of the avatar in the spatial scene to the server.
  • the information reporting unit 420 can report its current location and mobile information when it reports the time threshold exceeded.
  • FIG. 5 shows a schematic block diagram of an electronic device 500 in accordance with one embodiment of the present disclosure.
  • the electronic device 500 can be the mobile terminal shown in FIG. 1.
  • the electronic device 500 of the present disclosure may include a display screen 510, a processor 520, and a memory 530.
  • the executable code is stored on the memory 530.
  • the processor 520 is caused to perform the multi-avatar position synchronization method described above to implement multi-avatar position synchronization in the spatial scene displayed by the display screen 510.
  • the plurality of electronic devices 500 described above may also be combined with a server and its corresponding database to form a multiple avatar location synchronization system in accordance with the present disclosure.
  • the environment shown in FIG. 1 can also be considered as a specific configuration implementation of the synchronization system of the present disclosure.
  • the plurality of electronic devices each have an avatar that controls their actions in the space scenario, and the server synchronizes the avatars in the spatial scene, and reports the location information only when the difference from the estimated position is large, thereby greatly reducing unnecessary network transmission.
  • the avatar delivery position is different from the display position, the avatar is moved toward the delivery position to avoid unnaturalness caused by direct jumping.
  • each client estimates its location in the server, and only synchronizes to the server when there is a certain distance between the role it controls and the estimated location of the server, while displaying the roles of other clients.
  • a strategy to smooth the server's location jump due to network instability it can reduce unnecessary network traffic while ensuring the required synchronization accuracy, and can improve the mobile performance of other client roles that are seen. .
  • the method according to the present disclosure may also be embodied as a computer program comprising computer program code instructions for performing the various steps defined above in the above methods of the present disclosure.
  • the present disclosure may also be embodied as a non-transitory machine readable storage medium (or computer readable storage medium) having executable code (or computer program, or computer instruction code) stored thereon
  • the code or computer program or computer instruction code
  • the method according to the present disclosure may also be embodied as a computer program product comprising a computer readable medium having stored thereon a computer for performing the above-described functions defined in the above method of the present disclosure program.
  • a computer program product comprising a computer readable medium having stored thereon a computer for performing the above-described functions defined in the above method of the present disclosure program.
  • each block of the flowchart or block diagram can represent a module, a program segment, or a portion of code that includes one or more of the Executable instructions.
  • the functions noted in the blocks may also occur in a different order than the ones in the drawings. For example, two consecutive blocks may be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented in a dedicated hardware-based system that performs the specified function or operation. Or it can be implemented by a combination of dedicated hardware and computer instructions.

Abstract

公开了一种多化身位置同步系统、方法、装置及电子设备和存储介质。该系统包括至少一个服务器和多个客户端,多个客户端在空间场景中各自拥有控制其行动的化身,客户端向服务器上报其化身在空间场景内的位置和移动信息;服务器将所述信息下发到其他客户端;客户端在其化身的当前位置与按照前次上报信息下的当前估计位置之间的距离超过第一阈值时,重新上报其化身的位置和移动信息。根据一个实施例,可以减少不必要的网络流量。

Description

多化身位置同步系统、方法、装置及电子设备和存储介质 技术领域
本申请涉及在线通信,尤其涉及一种多化身位置同步系统、方法、装置及电子设备和存储介质。
背景技术
在虚拟环境和现今流行的增强现实(AR)环境中,人和软件代理都会表现为化身(avatar)。化身可以包含任何类型的可认识的识别信息。但是在典型的应用中,化身通常包括图像,该图像可以像二维图标那样简单,或者像详细的三维图像那样复杂,例如角色的详细渲染。例如在第二人生(Second Life)之类的联网游戏中,由计算机产生的三维图像的各个化身代表由不同用户控制的实体。
在上述环境中,时常需要在一个共享空间场景内同步各用户的不同化身的位置。例如,在角色扮演性网络游戏中,每个用户(玩家)都会在客户端控制一个虚拟角色(化身),控制的最基本行为就是角色的行走,而用户之间想要看到彼此角色的位置,则需要将各自的移动信息上报给服务器,再由服务器转发给其他客户端,这一过程可被称作是玩家之间的位置同步。玩家在客户端通常要看到自己和其他玩家的实时位置,玩家自己的位置由自己控制。玩家在自己的客户端上报给服务器自己的位置,叫做向服务器同步。玩家收到服务器发来的其他的玩家的位置,并且在本客户端将其他玩家的角色移动到指定位置,叫做从服务器同步。在游戏过程中,玩家大部分时间都在产生位移,即在行走和停止的不断切换,所以需要长时间大量的在不同客户端之间同步不同玩家的位移,玩家位置是角色扮演型网络游戏中网络同步最重要和频繁的信息。
然而在实际应用中,位置同步面临着诸多问题。首先,由于位置同步的频繁,通常会导致耗费相当多的网络流量,而在很多条件下网络流量是 一种较稀缺的资源。其次,因为不同的玩家的位置是通过网络信息同步的,信息的误差会导致同步的不精确。最后,由于同步的不精确以及网络不稳定等因素的影响,很可能会在客户端接收到其他玩家的位置时在时序上产生跳跃,虚拟角色的突然位移与人的自然移动相违背,会降低游戏的真实性和玩家的乐趣。
为此,需要一种能够解决上述至少一个问题的多化身位置同步方案。
发明内容
本公开提供了一种优化的多化身位置同步方案。每个客户端采用一种策略估计自己在服务器中的位置,只在自己控制的化身和估计的自己在服务器的位置之间有一定距离时才同步给服务器。在显示其他客户端的化身时,优选通过一种策略平滑服务器因为网络不稳定而产生的位置跳跃。本公开中的一个方案能够在保证所需的同步精确性的情况下减少不必要的网络流量,同时能够提升所看到的其他客户端化身的移动表现。
根据本公开的一个方面,提供了一种多化身位置同步系统,包括至少一个服务器和多个客户端,多个客户端在空间场景中各自拥有控制其行动的化身,所述服务器在所述空间场景中同步各化身,其中,客户端向所述服务器上报其化身在所述空间场景内的位置和移动信息;所述服务器将所述客户端上报的位置和移动信息下发到其他客户端;以及所述客户端在其化身的当前位置与按照前次上报的位置和移动信息下的当前估计位置之间的距离超过距离阈值时,重新向所述服务器上报其化身的位置和移动信息。
由此,客户端仅在化身当前位置与根据前次上报的估计位置偏差较大时才上报当前的位置和移动信息,由此在确保位置同步精度的同时避免了大量不必要的网络传输,节省了网络流量并且提升了显示的流畅程度。
优选地,其他客户端可以接收所述服务器下发的所述客户端的位置和移动信息,并且在其当前显示的所述客户端的化身的当前位置与所述服务器下发的所述客户端的化身的下发位置的距离大于第二阈值时,使得所述客户端的化身向所述下发位置移动。由此能够现有技术中由于化身位置和下发位置不同而导致的角色位置突然跳动,提升了游戏的自然性。上述移 动可以是朝向所述下发位置的匀速直线运动,并且其移动速度可以与所述化身的当前速度和/或下发速度相关。由此使得化身移动更加自然且易于实现。
优选地,当所述客户端控制其化身从移动改为静止,或从静止改为移动的情况下,立刻向所述服务器上报化身在所述空间场景内的位置和移动信息。这样能够确保停止和启动之间转换这类重要运动变化得以在客户端间立即同步。
优选地,位置和移动信息可以包括所述化身在所述空间场景内的二维或三维位置坐标,以及所述化身的移动方向与移动速度。由此能够方便对化身随后的运动轨迹进行估算。
优选地,客户端在距离其前次上报超过时间阈值时才能上报其当前的位置和移动信息。由此,在用户对快速移动变化不敏感的游戏中,可以避免无意义的网络传输和再现。
根据本公开的另一个方面,提供了一种空间场景中多化身位置同步方法,包括:客户端控制其化身在所述空间场景内的行动并向所述服务器上报其化身的位置和移动信息;以及所述客户端在其化身的当前位置与按照前次上报的位置和移动信息下的当前估计位置之间的距离超过距离阈值时,重新向所述服务器上报其化身的位置和移动信息。
优选地,该同步方法还可以包括其他客户端接收所述服务器下发的所述客户端的位置和移动信息,并且在其当前显示的所述客户端的化身的当前位置与所述服务器下发的其他客户端的化身的下发位置不同时,使得所述客户端的化身向所述下发位置移动。
根据本公开的又一方面,还提供了一种空间场景中多化身位置同步装置,包括:化身控制单元,用于控制化身在所述空间场景内的行动;以及信息上报单元,用于向所述服务器上报其化身的位置和移动信息。其中,所述信息上报单元在化身的当前位置与按照前次上报的位置和移动信息下的当前估计位置之间的距离超过第一距离阈值时,重新向所述服务器上报其化身的位置和移动信息。
优选地,该同步装置还可以包括信息接收单元,用于接收所述服务器 下发的其他化身的位置和移动信息。并且,所述化身控制单元在当前显示的其他化身的当前位置与所述信息接收单元接收到的其他化身的下发位置的距离大于第二距离阈值时,使得所述其他化身向所述下发位置移动。
根据本公开的又一方面,还提供了一种电子设备,包括:显示屏幕;处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行上述的多化身位置同步方法,以在所述显示屏幕显示的空间场景中实现多化身位置同步。
根据本公开的又一方面,还提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行上述的多化身位置同步方法。
通过仅在与预估位置相差较大时才上报位置信息,能够大量减少不必要的网络传输。相应地,在其他客户端上发现化身下发位置与显示位置不同时,使得化身向着下发位置移动,以避免直接跳跃导致的不自然。上述手段还能够降低信息误差对位置同步的影响。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了可以实现本公开中的一个同步系统的系统框图。
图2示出了根据本公开一个实施例的同步方法的流程图。
图3示出了本公开中的一个同步方案的一个具体实现的示意图。
图4示出了根据本公开一个实施例的同步装置的结构框图。
图5示出了根据本公开一个实施例的电子设备的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使 本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
随着虚拟现实和增强现实(Augmented Reality,简称AR)技术的发展,共享空间的应用场景变得愈发丰富和复杂。在实际应用中,位置同步主要面临网络流量耗费巨大、高精度位置同步困难以及客户端玩家自然表现的问题。首先,如果位置需要频繁同步,通常会导致耗费相当多的网络流量,而在很多网络条件下(如手机游戏在4G等移动网络下)网络流量是一种较稀缺的资源,尽可能的节省网络流量可以减轻用户的负担,同时也可以减轻服务器网络带宽的压力;其次,因为不同的玩家的位置是通过网络信息同步的,信息的误差(如网络不稳定,同步信息的不及时以及其他难以预计的错误)会导致同步的不精确,而要想进一步提高精确度同时也要求更频繁的同步,对网络流量造成负担;最后由于同步的不精确以及网络不稳定等因素的影响,很可能会在客户端接收到其他玩家的位置时在时序上产生跳跃,即在短时间内,客户端收到的服务器的同步信息让其他玩家的虚拟角色产生一个很大的位移,这在表现上是和人的自然移动违背的,这种表现的不自然会降低游戏的真实性和玩家的乐趣。这三点是相辅相成的,很多现有方案存在解决了其中某一点,却加大了另一点的问题。
有鉴于此,本公开提出了一种多化身位置同步方案。该方案包括优化客户端向服务器的同步过程。这主要通过尽量减少位置同步次数实现。首先在每个客户端模拟一个服务器中自己的位置(下文称为服务器影子,不绘制出来),不管客户端中的化身产生怎样的移动,只有当化身实际位置和模拟的服务器中的位置的距离超过一定距离阈值时,客户端才向服务器上报一次自己的位移信息。这种策略能够在确保精度的同时避免相当多的无用同步(例如,沿固定方向行进,行进的过程只有较小的弯曲等),从而减少对网络流量的无谓消耗。
此外优选在同步之前,考察本次同步和上次同步的时间差是否在一个时间阈值内,也就是说在短时间内客户端最多只能上报一次位置,不管位移是否超过距离阈值,这可以避免很多情况下用户在极短时间内故意频繁改变位移造成的大量网络流量消耗,因为通常在很多情况下,其他客户端 不需要在非常短的时间内看到某一化身的真实位置。
通过合理设置距离阈值和时间阈值可以在网络流量和精确度之间进行调节。当阈值设置很低时,精确度提高,网络流量上升,当阈值很高时,精确度下降,网络流量也减少。由此方便根据具体情况,对距离阈值和时间阈值进行动态调节,即,可以在不同的情况下选择不同的精确度。但是对于从静止状态改为移动状态以及从移动状态改为静止状态这两种情况,优选为了移动状态的准确性,立即将当前状态同步给服务器。
本公开中的一个同步方案还可以包括优化从服务器同步的过程。其他客户端(例如,客户端B)需要服务器的告知才能够获知客户端(例如,客户端A)的位置变化。在这个过程中,B收到的A的位置易受网络不稳定的影响,导致收到的A的位置信息可能是离散的、距离相差较大的点。为了避免B看到的A的位置发生跳跃,本方案在客户端B对客户端A也产生两个对象,一个是A的实体,另一个称为A的影子(不绘制出来)。每次客户端B收到服务器发来的A的位置移动信息,B客户端都将A的影子实时的移动到服务器告知的位置,并让A的影子按照服务器告知的移动信息移动(如按照一定的方向、速度等)。而A的实体则每一帧持续不断地从A的实体的当前位置朝A的影子位置行进,这样B看到的A的化身的位置移动永远平滑自然,不会因为网络的不稳定而导致移动的跳跃(只有那个不绘制的A的影子有可能发生位移不连续)。即使在网络不稳定的情况下,在短时间内A的实体最终也总是会同A的影子重合,即A的实体总会达到正确的服务器制定的位置,但是表现上更加自然。
下面将参照图1至图3来具体地描述本公开的实施例。首先将结合用于实现本公开的一个实施例的系统框图1来进行描述。
如图1所示,系统包括至少一个服务器20和多个终端设备10。终端设备10可以经由网络40实现与服务器20的信息收发。服务器20可以通过访问数据库30来获取终端设备10所需的内容,并且提供各客户端能够在其中控制其化身的共享空间场景。网络40可以是广义上的用于信息传递的网络,可以包括一个或多个通信网络,诸如无线通信网络、因特网、私域网、局域网、城域网、广域网或是蜂窝数据网络等。
终端设备10是可用来访问服务器(例如,安装有用于访问特定联网游戏的客户端)的任何合适的电子设备,包括但不限于智能电话、笔记本计算机或是台式计算机等。图中虽然示出了多个终端设备10-1…N以及单个服务器20和数据库30,并且在随后的描述中会选择其中的一个或部分终端设备加以描述(例如,终端设备10-1),但是本领域技术人员应该了解的是,上述1…N个终端设备旨在表示真实网络中存在的大量终端设备,示出的单个服务器20和数据库30旨在表示本公开的技术方案涉及服务器及数据库的操作。对特定编号的终端设备以及单个服务器和数据库加以详述至少为了说明方便,而非暗示对具体类型或是位置等具有限制。
图1所示的系统可以实现为一种多化身位置同步系统,包括至少一个服务器和多个客户端,多个客户端在空间场景中各自拥有控制其行动的化身,所述服务器在所述空间场景中同步各化身。任一客户端(例如,客户端A)可以向服务器上报其化身在所述空间场景内的位置和移动信息,服务器可以将A上报的位置和移动信息下发到其他客户端(例如,客户端B)。客户端A在其化身的当前位置与按照前次上报的位置和移动信息下的当前估计位置之间的距离超过距离阈值时,重新向服务器上报其化身的位置和移动信息。
本公开所涉及的空间场景可以是例如二维或三维联网游戏场景,化身相应地可以是用户(玩家)控制的虚拟角色,也可以是其他虚拟或是AR环境,例如,地图应用下实现多个用户的位置共享,真实环境下的虚拟角色叠加等。由于物体的移动信息包括位置、朝向和移动速度三个要素,因此需要上报的信息包括化身的移动方向、速度和位置。在一个实施例中,移动方向和移动速度可以用一个向量速度表示(即用一个具有三个或两个分量的向量表示,向量的方向表示当前移动方向,向量的模表示移动的速度),位置用一个三维或者二维坐标来表示,表示化身在三维场景或二维场景中的位置。通过这两个信息可以确定当前化身的移动状态。当化身静止时,通过位置和最近同步的移动速度确定当前的位置和朝向。当化身移动时,通过最近同步的位置(即起始位置)和移动速度来确定当前的位置和朝向。
在一个实施例中,对于物体从立定状态转为移动状态以及从移动状态转为立定状态,可以不受上述距离阈值限制而优选立即触发同步上报。即,每次运动状态本身的变化(移动至立定,立定至移动)触发一次上报。这是因为在大部分应用场景中,在停止和启动之间的转换被认为是非常重要敏感的运动变化,需要在客户端间立即同步。
在一个实施例中,还可以额外设置一个时间阈值T,每次触发同步的时候,要检查上一次同步的时间和当前时间是否超过了T,如果没有超过则不同步。上述时间阈值控制的优先级可以高于前述运动状态变化而导致的立刻上报。例如,当用户在短时间内频繁地改变化身的运动状态(即,立定到静止或是静止到立定)时,可以将上述改变视为例如对游戏进程无意义的操作而不进行上报。通过加入时间阈值控制,在用户对快速移动变化不敏感的游戏中,可以避免无意义的网络传输和化身再现。
对于从服务器同步过程的优化而言,其他客户端(例如,客户端B)接收所述服务器下发的所述客户端(例如,客户端A)的位置和移动信息,并且在其当前显示的A化身的当前位置与服务器下发的客户端A的化身的下发位置的距离大于某一阈值时,使得A化身向下发位置移动。上述阈值可以是0,即,只要当前位置和下发位置不同就触发移动;也可以是根据实际需要的较小的值,即,系统容忍一定范围内的位置误差。上述A化身的移动可以是朝向下发位置的匀速直线运动,其移动速度与化身的当前速度和/或下发速度相关。上述A化身的移动也可以参考A化身的其他属性,例如客户端A的用户的控制习惯等。
图2示出了根据本公开一个实施例的空间场景中多化身位置同步方法的流程图。该方法可由图1所示的同步系统实施。
具体地,在步骤S210,客户端(例如,客户端A)可以控制其化身在空间场景内的行动并向服务器上报其化身的位置和移动信息;在步骤S220,客户端(例如,客户端A)在其化身的当前位置与按照前次上报的位置和移动信息下的当前估计位置之间的距离超过第一距离阈值时,重新向所述服务器上报其化身的位置和移动信息。相应地,服务器负责将各个客户端上报的位置和移动信息下发到其他客户端。
对于下发位置而言,其他客户端(例如,客户端B)可以接收服务器下发的所述客户端(例如,客户端A)的位置和移动信息,并且在其当前显示的所述客户端(例如,客户端A)的化身的当前位置与所述服务器下发的所述客户端的化身的下发位置之间的距离大于第二距离阈值时,使得所述客户端(例如,客户端A)的化身向下发位置移动。从客户端A接收服务器下发的其他客户端位置和移动信息的角度而言,也可以是客户端A接收其他客户端(例如,客户端B)的位置和移动信息,并且在其当前显示的所述其他客户端(例如,客户端B)的化身的当前位置与所述服务器下发的所述其他客户端的化身的下发位置之间的距离大于第二距离阈值时,使得所述其他客户端(例如,客户端B)的化身向下发位置移动。
在一个优选实施例中,在客户端控制其化身从移动改为静止,或从静止改为移动的情况下,立刻向所述服务器上报化身在所述空间场景内的位置和移动信息。同样优选地,所述客户端在距离其前次上报超过时间阈值时才能上报其当前的位置和移动信息。
应该理解的是,上文中关于“第一”和“第二”的描述旨在对距离阈值加以区分,而非在任何意义上暗示上述阈值间的先后或是相互关系。
如下将结合图3描述本公开的一个位置同步方案在网络游戏场景中的具体应用。在一个网络游戏的运行环境中,包括至少一台服务器S和至少两个客户端A和B。两个玩家分别可以控制客户端A和客户端B中的虚拟角色在共享空间中的移动,并且需要通过与服务器S的通信来实时看到彼此的移动状态和位置。这个同步的过程由客户端A向服务器S上报信息和服务器S向客户端B下发信息后客户端B对下发信息的处理两部分组成,同理可以应用于玩家B或其他玩家向服务器S或其他服务器上报信息以及服务器S向客户端A或其他玩家下发信息后这些客户端对信息的处理中。客户端和服务器之间同步的信息m包括两个部分,一个是用向量表示的位置p,一个是用向量表示的带方向的移动速度v。
玩家在游戏的过程中会触发对客户端A中的虚拟角色的移动控制,控制主要包括在场景地中朝某个方向行走和立定。在这个过程中客户端A会触发向服务器上报客户端A中的虚拟角色的移动信息(如图3左侧所示), 上报的时机由按照以下算法步骤决定:
1)客户端A有一个绘制出来的可见的虚拟角色A1,A1受客户端A的玩家的控制在场景中移动,同时客户端A还可以建立一个虚拟对象A2,A2不被绘制出来,只记录位置信息和移动,A1称为实际角色,A2称为A1的服务器影子。A1和A2都拥有一个位置数据p和一个移动速度数据v。初始的时候将A1和A2的数据设为相同,即移动状态一致,位置重叠。
2)每次用户通过客户端A控制客户端A中的虚拟角色移动,都驱动A1产生移动,而A2不响应用户的移动操作按照原有的方式移动。在游戏的运行过程中,可以每帧或以其他时间间隔定时计算A1和A2的位置。他们的当前位置p的计算方式是p=F(p 0,v,t),其中p 0是上一次计算得到的位置,v是移动速度,t是距离上一次计算位置的时间间隔,F是移动方式的函数,对于不同的移动方式有不同的实现,例如对于最简单的匀速直线运动,F(p 0,v,t)=p 0+v*t。当客户端一直处于立定状态时,不触发任何同步操作。在客户端从立定状态转变为行走状态的情况下,获取当前玩家控制的客户端A中的虚拟角色的移动速度v 1,将A1的速度v设置为v 1,然后向服务器上报A1当前的移动信息位置p 1和移动速度v 1,同时将A2的速度设置为v 1,将A2的位置p 2设置为同A1同样的位置,即在从立定状态转为行走状态时向服务器同步一次运动信息,以便其他玩家立即观察到A的行走启动过程。
3)当客户端A中的虚拟角色一直处于运动状态时,移动的速度和方向可能发生改变,即轨迹可能发生改变。每次玩家控制客户端A中的虚拟角色的移动速度改变,只是改变A1的速度,A2不发生改变。每帧或定时的检测当前A1和A2的位置之间的距离D,当这个距离D大于一个阈值距离D max时,客户端A向服务器上传当前A1的移动信息位置p 1和移动速度v 1,同时将A2的速度设置为v 1,将A2的位置p 2设置为同A1同样的位置。
4)在客户端A中的虚拟角色从移动状态改为立定状态的情况下,将A1的速度置0,并将A1的运动静止,向服务器上传当前A1的移动信息位置p 1和移动速度v 1,同时将A2的速度置0,将A2的位置p 2设置为同A1同样的位置。
服务器S收到客户端A上报的移动信息后,需要向可以看到A的客户端B下发客户端A的移动信息,客户端B收到后要进行处理以使客户端B上绘制的A对象的移动状态和客户端A一致(如图3右侧所示),处理的方法步骤如下:
1)在客户端B中会初始建立一个客户端A的角色的对象A1,这个A1是绘制出来的可见的对象,它实时反映了客户端A的移动状态,同时客户端B中还会建立一个虚拟对象A2,A2并不绘制出来,只记录位置信息和移动,A1称为实际角色,A2称为A1的服务器影子。A1和A2都拥有一个位置数据p和一个移动速度数据v。初始的时候将A1和A2的数据设为相同,即移动状态一致,位置重叠。
2)在游戏的运行过程中,会每帧或定时的计算A1和A2的位置。对于A2的位置,他的当前位置p 2的计算方式是p 2=F(p 2_0,v 2,t),其中p 2_0是上一次计算得到的位置,v 2是移动速度,t是距离上一次计算位置的时间间隔,F是移动方式的函数,对于不同的移动方式有不同的实现,例如对于最简单的匀速直线运动F(p 2_0,v 2,t)=p 2_0+v 2*t。对于A1的位置,如果当前A1和A2的位置相同(或小于一个微小的阈值D min),则不改变A1的位置,并设定它为立定状态,如果不同则他的当前位置p 1的计算方式是p 1=F’(p 1_0,v 1,t,p 2),其中p 1_0是上一次计算得到的A1的位置,v 1是移动速度,t是距离上一次计算位置的时间间隔,p 2是当前A2的位置,F’是移动方式的函数,这个函数设计为不断地以A1当前的位置为起点,以A2的当前位置为终点进行运动,对于不同的移动方式F’有不同的实现,例如对于最简单的匀速直线运动:
Figure PCTCN2018084307-appb-000001
(其中Normalized为求向量的归一化向量,||表示向量的模)。
至此已经结合图2-3详细描述本公开的多化身位置同步方法及应用例。
另外,本公开的一个多化身位置同步方案还可以由一种空间场景中多 化身位置同步装置实现。图4示出了跟本公开一个实施例的同步装置的结构框图。其中,同步装置400的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图4所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
图4所示的同步装置400可以用来实现图2所示的多化身位置同步方法,下面仅就同步装置400可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文结合图2的描述,这里不再赘述。
如图4所示,本公开的一个同步装置400可以包括化身控制单元410和信息上报单元420。化身控制单元410可以用于控制化身在空间场景内的行动,信息上报单元420可以用于向服务器上报其化身的位置和移动信息。其中,信息上报单元420在化身的当前位置与按照前次上报的位置和移动信息下的当前估计位置之间的距离超过第一距离阈值时,重新向服务器上报其化身的位置和移动信息。
优选地,同步装置400还可以包括信息接收单元430。信息接收单元430可以用于接收服务器下发的其他化身的位置和移动信息。并且,化身控制单元410在当前显示的其他化身的当前位置与信息接收单元430接收到的其他化身的下发位置的距离大于第二距离阈值时,使得所述其他化身向所述下发位置移动。
在所述化身控制单元410控制化身从移动改为静止,或从静止改为移动的情况下,信息上报单元420立刻向服务器上报化身在空间场景内的位置和移动信息。或者,信息上报单元420在距离其前次上报超过时间阈值时才能上报其当前的位置和移动信息。
本公开的多化身位置同步方法还可以由一种电子设备实现。图5示出了根据本公开一个实施例的电子设备500的示意性框图。其中,电子设备500可以是图1所示的移动终端。
如图5所示,本公开的电子设备500可以包括显示屏幕510、处理器 520以及存储器530。存储器530上存储有可执行代码,当可执行代码被处理器520执行时,使处理器520执行上述的多化身位置同步方法,以在显示屏幕510显示的空间场景中实现多化身位置同步。
上述多个电子设备500还可以与服务器及其相应的数据库组成根据本公开的多化身位置同步系统。换句话说,图1所示环境也可以看作是本公开的同步系统的一个具体配置实现。多个电子设备在空间场景中各自拥有控制其行动的化身,服务器在空间场景中同步各化身,通过仅在与预估位置相差较大时才上报位置信息,大量减少不必要的网络传输。相应地,在其他电子设备上发现化身下发位置与显示位置不同时,使得化身向着下发位置移动,以避免直接跳跃导致的不自然。
上文中已经参考附图详细描述了根据本公开的多化身位置同步系统、方法及其优选实施例。在本方案中,每个客户端估计自己在服务器中的位置,只在自己控制的角色和估计的自己在服务器的位置之间有一定距离时才同步给服务器,同时在显示其他客户端的角色时,通过一种策略平滑服务器因为网络不稳定而产生的位置跳跃,能够在保证所需的同步精确性的情况下减少不必要的网络流量,同时能够提升所看到的其他客户端角色的移动表现。
此外,根据本公开的方法还可以实现为一种计算机程序,该计算机程序包括用于执行本公开的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本公开还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序或计算机指令代码)被电子设备的处理器执行时,使所述处理器执行根据本公开的上述多化身位置同步方法。
或者,根据本公开的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本公开的上述方法中限定的上述功能的计算机程序。本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算 法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本公开的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (16)

  1. 一种多化身位置同步系统,包括至少一个服务器和多个客户端,多个客户端在空间场景中各自拥有控制其行动的化身,所述服务器在所述空间场景中同步各化身,其中,
    客户端向所述服务器上报其化身在所述空间场景内的位置和移动信息;
    所述服务器将所述客户端上报的位置和移动信息下发到其他客户端;以及
    所述客户端在其化身的当前位置与按照前次上报的位置和移动信息下的当前估计位置之间的距离超过第一距离阈值时,重新向所述服务器上报其化身的位置和移动信息。
  2. 如权利要求1所述的同步系统,其中,其他客户端接收所述服务器下发的所述客户端的位置和移动信息,并且在其当前显示的所述客户端的化身的当前位置与所述服务器下发的所述客户端的化身的下发位置的距离大于第二距离阈值时,使得所述客户端的化身向所述下发位置移动。
  3. 如权利要求2所述的同步系统,其中,所述移动是朝向所述下发位置的匀速直线运动,其移动速度与所述化身的当前速度和/或下发速度相关。
  4. 如权利要求1-3中任一项所述的同步系统,其中,在所述客户端控制其化身从移动改为静止,或从静止改为移动的情况下,立刻向所述服务器上报化身在所述空间场景内的位置和移动信息。
  5. 如权利要求1-4中任一项所述的同步系统,其中,所述位置和移动信息包括所述化身在所述空间场景内的二维或三维位置坐标,以及所述化身的移动方向与移动速度。
  6. 如权利要求1-5中任一项所述的同步系统,其中,所述客户端在距离其前次上报超过时间阈值时才能上报其当前的位置和移动信息。
  7. 一种空间场景中多化身位置同步方法,包括:
    客户端控制其化身在所述空间场景内的行动并向所述服务器上报其 化身的位置和移动信息;以及
    所述客户端在其化身的当前位置与按照前次上报的位置和移动信息下的当前估计位置之间的距离超过第一距离阈值时,重新向所述服务器上报其化身的位置和移动信息。
  8. 如权利要求7所述的同步方法,还包括:
    所述客户端接收所述服务器下发的其他客户端的位置和移动信息,并且在其当前显示的所述其他客户端的化身的当前位置与所述服务器下发的其他客户端的化身的下发位置的距离大于第二距离阈值时,使得所述其他客户端的化身向所述下发位置移动。
  9. 如权利要求7或8所述的同步方法,其中,在所述客户端控制其化身从移动改为静止,或从静止改为移动的情况下,立刻向所述服务器上报化身在所述空间场景内的位置和移动信息。
  10. 如权利要求7-9中任一项所述的同步方法,其中,所述客户端在距离其前次上报超过时间阈值时才能上报其当前的位置和移动信息。
  11. 一种空间场景中多化身位置同步装置,包括:
    化身控制单元,用于控制化身在所述空间场景内的行动;以及
    信息上报单元,用于向所述服务器上报其化身的位置和移动信息,
    其中,所述信息上报单元在化身的当前位置与按照前次上报的位置和移动信息下的当前估计位置之间的距离超过第一距离阈值时,重新向所述服务器上报其化身的位置和移动信息。
  12. 如权利要求11所述的同步装置,还包括:
    信息接收单元,用于接收所述服务器下发的其他化身的位置和移动信息,并且
    所述化身控制单元在当前显示的其他化身的当前位置与所述信息接收单元接收到的其他化身的下发位置的距离大于第二距离阈值时,使得所述其他化身向所述下发位置移动。
  13. 如权利要求11或12所述的同步装置,其中,在所述化身控制单元控制化身从移动改为静止,或从静止改为移动的情况下,所述信息上报单元立刻向所述服务器上报化身在所述空间场景内的位置和移动信息。
  14. 如权利要求11-13中任一项所述的同步装置,其中,所述信息上报单元在距离其前次上报超过时间阈值时才能上报其当前的位置和移动信息。
  15. 一种电子设备,包括:
    显示屏幕;
    处理器;以及
    存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求7-10中任何一项所述的多化身位置同步方法,以在所述显示屏幕显示的空间场景中实现多化身位置同步。
  16. 一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求7-10中任何一项所述的多化身位置同步方法。
PCT/CN2018/084307 2017-05-02 2018-04-25 多化身位置同步系统、方法、装置及电子设备和存储介质 WO2018201935A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710301594.3 2017-05-02
CN201710301594.3A CN107124416B (zh) 2017-05-02 2017-05-02 多化身位置同步系统、方法、装置及电子设备和存储介质

Publications (1)

Publication Number Publication Date
WO2018201935A1 true WO2018201935A1 (zh) 2018-11-08

Family

ID=59726620

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/084307 WO2018201935A1 (zh) 2017-05-02 2018-04-25 多化身位置同步系统、方法、装置及电子设备和存储介质

Country Status (2)

Country Link
CN (1) CN107124416B (zh)
WO (1) WO2018201935A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110166519A (zh) * 2018-11-20 2019-08-23 腾讯数码(天津)有限公司 一种信息同步的方法以及相关装置
CN111966216A (zh) * 2020-07-17 2020-11-20 杭州易现先进科技有限公司 空间位置的同步方法、装置、系统、电子装置和存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124416B (zh) * 2017-05-02 2020-10-16 阿里巴巴(中国)有限公司 多化身位置同步系统、方法、装置及电子设备和存储介质
CN109587188B (zh) * 2017-09-28 2021-10-22 阿里巴巴集团控股有限公司 确定终端设备之间相对位置关系的方法、装置及电子设备
CN108022286B (zh) * 2017-11-30 2019-08-13 腾讯科技(深圳)有限公司 画面渲染方法、装置及存储介质
CN109568948B (zh) * 2019-01-16 2022-05-20 网易(杭州)网络有限公司 网络游戏中对象的运动状态同步方法及装置
CN112755528A (zh) * 2019-11-01 2021-05-07 阿里巴巴集团控股有限公司 游戏中角色的移动同步方法及装置、电子设备和存储介质
CN110830521B (zh) * 2020-01-13 2020-04-28 南昌市小核桃科技有限公司 Vr多人同屏数据同步处理方法及装置
CN115494948B (zh) * 2022-09-30 2024-04-02 领悦数字信息技术有限公司 用于使多个数字分身联动的方法、装置及介质
CN117046102B (zh) * 2023-07-17 2024-02-13 广州三七极耀网络科技有限公司 一种游戏中对象坐标的同步方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101065171A (zh) * 2004-11-26 2007-10-31 世嘉股份有限公司 信息处理装置、数据处理方法、程序及记录介质
CN103701918A (zh) * 2013-12-31 2014-04-02 北京像素软件科技股份有限公司 客户端和服务器同步方法和装置
CN104954349A (zh) * 2014-03-31 2015-09-30 北京畅游天下网络技术有限公司 一种2d游戏中客户端的同步方法、装置和系统
CN106385408A (zh) * 2016-09-01 2017-02-08 网易(杭州)网络有限公司 运动状态变化的指示、处理方法及装置
CN107124416A (zh) * 2017-05-02 2017-09-01 广州爱九游信息技术有限公司 多化身位置同步系统、方法、装置及电子设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100589499C (zh) * 2005-09-26 2010-02-10 腾讯科技(深圳)有限公司 一种联网游戏中角色的移动方法
US20170092000A1 (en) * 2015-09-25 2017-03-30 Moshe Schwimmer Method and system for positioning a virtual object in a virtual simulation environment
CN106302679B (zh) * 2016-08-08 2018-10-02 腾讯科技(深圳)有限公司 一种虚拟对象移动同步方法、客户端及服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101065171A (zh) * 2004-11-26 2007-10-31 世嘉股份有限公司 信息处理装置、数据处理方法、程序及记录介质
CN103701918A (zh) * 2013-12-31 2014-04-02 北京像素软件科技股份有限公司 客户端和服务器同步方法和装置
CN104954349A (zh) * 2014-03-31 2015-09-30 北京畅游天下网络技术有限公司 一种2d游戏中客户端的同步方法、装置和系统
CN106385408A (zh) * 2016-09-01 2017-02-08 网易(杭州)网络有限公司 运动状态变化的指示、处理方法及装置
CN107124416A (zh) * 2017-05-02 2017-09-01 广州爱九游信息技术有限公司 多化身位置同步系统、方法、装置及电子设备和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110166519A (zh) * 2018-11-20 2019-08-23 腾讯数码(天津)有限公司 一种信息同步的方法以及相关装置
CN110166519B (zh) * 2018-11-20 2022-09-23 腾讯数码(天津)有限公司 信息同步的方法、客户端、服务器、终端设备与存储介质
CN111966216A (zh) * 2020-07-17 2020-11-20 杭州易现先进科技有限公司 空间位置的同步方法、装置、系统、电子装置和存储介质
CN111966216B (zh) * 2020-07-17 2023-07-18 杭州易现先进科技有限公司 空间位置的同步方法、装置、系统、电子装置和存储介质

Also Published As

Publication number Publication date
CN107124416B (zh) 2020-10-16
CN107124416A (zh) 2017-09-01

Similar Documents

Publication Publication Date Title
WO2018201935A1 (zh) 多化身位置同步系统、方法、装置及电子设备和存储介质
CN111167116B (zh) 一种平滑显示的方法、终端和计算机存储介质
US11235234B2 (en) Method for movement synchronization of virtual object, client, server, and storage medium
US20200244723A1 (en) Edge Compute Systems and Methods
WO2021143324A1 (zh) 一种目标对象的位置纠正方法、装置、设备及介质
US11314776B2 (en) Location sharing using friend list versions
CN111659120B (zh) 虚拟角色位置同步方法、装置、介质及电子设备
US9333430B2 (en) Gaming system for updating a presentation of a virtual game environment
CN112639731A (zh) 应用共享
US10338879B2 (en) Synchronization object determining method, apparatus, and system
WO2019105377A1 (zh) 一种业务处理方法、装置及存储介质
KR101731971B1 (ko) 앱 관련 요청에 대한 응답을 처리하는 사용자 단말 및 앱 관련 요청에 대한 응답을 제공하는 컴퓨터 프로그램
US20230046042A1 (en) Picture display method and apparatus, terminal device, and storage medium
CN112206511A (zh) 游戏中的动作同步方法、装置、电子设备及存储介质
JP2021090601A (ja) サーバ、処理システム、処理方法及びプログラム
US9444867B2 (en) Systems and methods for data synchronization in a network application
CN114095785A (zh) 视频播放方法、装置及计算机设备
WO2019213879A1 (zh) 输出内容处理方法、输出方法、电子设备及存储介质
CN114522416A (zh) 一种虚拟角色的移动控制方法和装置
CN113542846B (zh) Ar弹幕显示方法及装置
US10967267B2 (en) Changing a camera view in an electronic game
US20230342877A1 (en) Cached cloud rendering
US20240062456A1 (en) Variable update adaptation and simulation delay in multiuser virtual reality application
Athrij et al. Dynamic Load Distribution in web-based AR
CN115761092A (zh) 画面绘制方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18794441

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18794441

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 18794441

Country of ref document: EP

Kind code of ref document: A1