Virtual object moving method and device and electronic equipment

By dividing the virtual scene into multiple space levels, when the virtual fleet collided in multi -player online games, it moves it to another space level, solving the problem of large changes in the winding path and extending time, and improved the player's instant control ability ability And game experience.

CN119367765APending Publication Date: 2025-01-28NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411274757.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-10
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

In multiplayer online games, especially in strategy games with space or ocean as the theme, virtual fleets need to detour when colliding, resulting in large changes in paths and prolonged time, distracting players from their attention and affecting tactical and strategic decisions.

Method used

By dividing the virtual scene into multiple high levels of space, when the virtual object is about to collide, move it to another space level to avoid collision and reduce changes and time of the winding path.

Benefits of technology

On the basis of ensuring visual authenticity, the trajectory changes and duration of virtual objects bypassing the winding of virtual objects will be effectively reduced, the needs of players to adjust their perspective and attention points, and improve the player's instant control ability and gaming experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119367765A_ABST
    Figure CN119367765A_ABST
Patent Text Reader

Abstract

The invention discloses a virtual object moving method and device, electronic equipment and a computer readable storage medium, and the method comprises the steps: displaying at least part of a virtual scene through a graphical user interface, the virtual scene comprises a plurality of spatial levels with different heights, a first space level in the space levels comprises a first virtual object and a second virtual object; in response to the situation that the first virtual object and the second virtual object are about to collide, displaying the first virtual object or the second virtual object to move from a height space corresponding to the first space level to a height space corresponding to the second space level through a graphical user interface, the second spatial hierarchy is a spatial hierarchy other than the first spatial hierarchy in each spatial hierarchy. According to the scheme provided by the invention, on the basis of ensuring visual authenticity, track change and duration delay caused by detour of the virtual object are effectively reduced, so that the attention of players is prevented from being dispersed, and the viscidity of the players is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method, device, electronic device and computer-readable storage medium for moving a virtual object. Background Art

[0002] In multiplayer online games, especially strategy games with space or ocean themes, players can usually control their own virtual fleets to perform various game activities, such as exploration, combat, etc. In the related art, for multiple fleets on the same plane, when two fleets collide, in order to make the game visually realistic, one fleet is usually controlled to move around the edge of another fleet.

[0003] Although the above method can realize the obstacle avoidance function in the game, the path of the fleet may change significantly, forcing the player to constantly adjust the perspective and focus, distracting the player's attention and causing the player to lose real-time control of the game situation. In addition, the detour path is usually long, which makes the fleet detour for a long time, which has a serious negative impact on the player's tactical arrangements and strategic decisions. Summary of the invention

[0004] This application provides a method, device, electronic device and computer-readable storage medium for moving a virtual object, which effectively reduces the trajectory change and time delay caused by the detour of the virtual object while ensuring visual authenticity, thereby avoiding distracting the player's attention and improving the player's stickiness. The specific solution is as follows:

[0005] In a first aspect, an embodiment of the present application provides a method for moving a virtual object, the method comprising:

[0006] Displaying at least a portion of a virtual scene through a graphical user interface, the virtual scene comprising a plurality of spatial levels of different heights, a first spatial level in each of the spatial levels comprising at least a plurality of virtual objects including a first virtual object and a second virtual object;

[0007] In response to the first virtual object and the second virtual object being about to collide, the first virtual object or the second virtual object is displayed through the graphical user interface to move from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level, wherein the second spatial level is a spatial level among the spatial levels except the first spatial level.

[0008] In a second aspect, an embodiment of the present application provides a device for moving a virtual object, the device comprising:

[0009] A first display unit, configured to display at least a portion of a virtual scene through a graphical user interface, wherein the virtual scene includes a plurality of spatial levels of different heights, and a first spatial level in each of the spatial levels includes at least a plurality of virtual objects including a first virtual object and a second virtual object;

[0010] A second display unit is used for displaying, through the graphical user interface, the movement of the first virtual object or the second virtual object from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level in response to the first virtual object and the second virtual object being about to collide, wherein the second spatial level is a spatial level among the spatial levels except the first spatial level.

[0011] In a third aspect, the present application further provides an electronic device, including:

[0012] Processor; and

[0013] The memory is used to store a data processing program. After the electronic device is powered on and the program is run by the processor, the method described in the first aspect is executed.

[0014] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium storing a data processing program, which is executed by a processor to perform the method described in the first aspect.

[0015] Compared with the prior art, this application has the following advantages:

[0016] The method for moving a virtual object provided in an embodiment of the present application includes the following steps: displaying at least part of a virtual scene through a graphical user interface, the virtual scene includes multiple spatial levels of different heights, and the first spatial level in each of the spatial levels includes multiple virtual objects including at least a first virtual object and a second virtual object; in response to the first virtual object and the second virtual object about to collide, displaying through the graphical user interface that the first virtual object or the second virtual object moves from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level, wherein the second spatial level is a spatial level other than the first spatial level in each of the spatial levels. It can be seen that in the method for moving a virtual object provided in an embodiment of the present application, the virtual scene is divided into multiple spatial levels, and when the first virtual object and the second virtual object located at the same spatial level are about to collide, the first virtual object or the second virtual object is moved to another new second spatial level, so that the first virtual object and the second virtual object will be in two spatial levels of different heights, thereby avoiding collision. From the player's perspective, compared with the virtual objects moving in a circular motion on the same plane, the changes in the detour path when the virtual objects move to spatial levels with different heights are minimal, and the detour time is also shorter. On the basis of ensuring visual authenticity, the trajectory changes and time delays caused by the virtual objects' detour are effectively reduced, which is conducive to players making tactical arrangements and strategic decisions in tense game situations, thereby avoiding distracting players' attention and improving player stickiness and the player's gaming experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 is a game system diagram for implementing a method for moving a virtual object provided in an embodiment of the present application;

[0018] Figure 2 is a flow chart of a method for moving a virtual object provided in an embodiment of the present application;

[0019] Figure 3 is a schematic diagram of an example of dividing a virtual scene into multiple spatial levels in a method for moving a virtual object provided in an embodiment of the present application;

[0020] Figure 4 It is a front view of overlapping virtual objects at different spatial levels in the method for moving a virtual object provided in an embodiment of the present application;

[0021] Figure 5 It is a top view of overlapping virtual objects at different spatial levels in the method for moving a virtual object provided in an embodiment of the present application;

[0022] Figure 6is a schematic diagram of an example in which the area to be overlapped in the method for moving a virtual object provided in an embodiment of the present application is a solid volume;

[0023] Figure 7 is a schematic diagram of an example of a virtual object performing a circumferential movement in a method for moving a virtual object provided in an embodiment of the present application;

[0024] Figure 8 is a schematic diagram of an example of a virtual object moving from one spatial level to another spatial level in a method for moving a virtual object provided in an embodiment of the present application;

[0025] Fig. 9 is a schematic diagram of an example of a first type of virtual object coming into contact with a second type of virtual object in the method for moving a virtual object provided in an embodiment of the present application;

[0026] Fig.10 is a structural block diagram of an example of a mobile device for a virtual object provided in an embodiment of the present application;

[0027] Fig.11 It is a structural block diagram of an example of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] Many specific details are described in the following description to facilitate a full understanding of the present application. However, the present application can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the connotation of the present application, so the present application is not limited by the specific implementation disclosed below.

[0029] It should be noted that the terms "first", "second", "third", etc. in the claims, description and drawings of the present application are used to distinguish similar objects and are not used to describe a specific order or sequence. The data used in this way are interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including", "having" and their variants are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0030] It should be understood that in the embodiments of the present application, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" is merely a way to describe the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship. "Including A, B and / or C" means including any one, any two, or any three of A, B, and C.

[0031] It should be understood that in the embodiments of the present application, "B corresponding to A", "B corresponding to A", "A corresponds to B", or "B corresponds to A" means that B is associated with A, and B can be determined according to A. Determining B according to A does not mean determining B only according to A, and B can also be determined according to A and / or other information.

[0032] Based on the above reasons mentioned in the relevant technology, in order to effectively reduce the trajectory changes and time delays caused by the detour of virtual objects on the basis of ensuring visual authenticity, thereby avoiding distracting the player's attention and improving player stickiness, the first embodiment of the present application provides a method for moving a virtual object. The method is applied to an electronic device, which can be a desktop computer, a laptop computer, a mobile phone, a tablet computer, an electronic watch, etc., or other electronic devices that can control the movement of virtual objects, which is not specifically limited in the embodiments of the present application.

[0033] In an optional embodiment, when the method for moving the virtual object is run on a terminal device, the terminal device may include a display screen and a processor, the display screen being used to present a game screen and receive instructions generated by a player acting on the game screen. The game screen may include a portion of a virtual game scene, which is a virtual world in which virtual characters perform activities. The processor is used to store game applications, run the game, generate game screens, respond to instructions, and control the display of the game screen on the display screen. When the player operates the game screen through the display screen, the game screen can control the local content of the terminal device by responding to the received operation instructions. The terminal device may provide a graphical user interface to the player in a variety of ways, for example, it may be rendered and displayed on the display screen of the terminal device, or the graphical user interface may be presented through holographic projection.

[0034] In an optional embodiment, when the method for moving the virtual object is run on the server, the method can be implemented and executed based on the cloud gaming system. The cloud gaming system refers to a gaming method based on cloud computing. The cloud gaming system includes a server and a client device. The operating body of the game application and the game screen presentation body are separated, and the storage and operation of the method for moving the virtual object are completed on the server. The game screen presentation is completed on the client, and the client is mainly used for receiving and sending game data and presenting the game screen. For example, the client can be a display device with data transmission function close to the player side, such as a mobile terminal, a TV, a computer, a handheld computer, a personal digital assistant, a head-mounted display device, etc., but the terminal device for processing game data is a server in the cloud. When playing the game, the player instructs the client to send instructions to the server, and the server controls the running of the game according to the instructions, encodes and compresses the game screen and other data, and returns it to the client through the network. Finally, the client decodes and outputs the game screen.

[0035] It should be noted that in the embodiments of the present application, the execution subject of the method for moving a virtual object may be a terminal device or a server, wherein the terminal device may be a local terminal device or a client device in the aforementioned cloud game. The embodiments of the present application do not limit the type of the execution subject.

[0036] For example, in combination with the above introduction, Figure 1 A game system 100 for implementing a method for moving a virtual object provided by an embodiment of the present application is shown. The game system 100 may include at least one terminal 101, at least one server 102, and a network. The terminal 101 held by the player can be connected to the server 102 of different games through the network. The terminal is any device with computing hardware that can support and execute software application tools corresponding to the game.

[0037] In the above-mentioned game system 100, the terminal 101 is used to install and run the game application. In some cases, the game application may not be installed in advance in the terminal 101, and the player can directly access the game through a client such as a browser. The player uses the registered game account to log in to the game application, and can control the virtual character corresponding to the game account to participate in the game. When the player logs in to the game application, the terminal 101 will send a login request to the server 102, and the server 102 will verify the game account used by the player. At the same time, the server 102 determines the game mechanism corresponding to the game account according to the login request, and returns a login success notification to the terminal 101 after the verification is passed. In the process of the player participating in the game through the game application, the terminal 101 and the server 102 interact with each other, and the terminal 101 sends various information to the server 102. The server 102 determines the display data of the terminal 101 according to the stored game mechanism and the received information, and sends the display data to the terminal 101, so that the display data sent by the server 102 can be displayed to the player through the terminal 101.

[0038] In a possible application scenario, different terminals 101 may be served by different servers 102 , and the servers 102 corresponding to different terminals 101 may be the same server.

[0039] In addition, when the game system 100 includes multiple terminals, multiple servers, and multiple networks, different terminals can be connected to each other through different networks and different servers.

[0040] Among them, the terminal 101 can have one or more multi-touch screens for sensing and obtaining the input of the user through touch or sliding operations performed at multiple points on one or more touch display screens. The terminal 101 can also be connected to a keyboard and / or a mouse and / or a game controller, so that the user can perform interface operations through the keyboard and / or mouse and / or a game controller.

[0041] The network may be a wireless network or a wired network, such as a wireless network such as a wireless local area network (WLAN), a local area network (LAN), a cellular network, a 2G network, a 3G network, a 4G network, a 5G network, etc. In addition, different terminals may also use their own Bluetooth network or hotspot network to connect to other terminals or to a server, etc. In addition, the system 100 may include multiple databases, which are coupled to different servers, and game-related information may be continuously stored in the database when different players play a multi-player game online.

[0042] It should be noted that Figure 1The game system diagram shown is only an example. The game system 100 described in the embodiment of the present application is to more clearly illustrate the technical solution of the embodiment of the present application, and does not constitute a limitation on the technical solution provided in the embodiment of the present application. A person of ordinary skill in the art can know that with the evolution of the game system and the emergence of new business scenarios, the technical solution provided in the embodiment of the present application is also applicable to similar technical problems.

[0043] The technical solution of the present application is described in detail below through specific embodiments. It should be noted that the following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.

[0044] The following, combined Figure 2 to Figure 9 A method for moving a virtual object provided in an embodiment of the present application is introduced.

[0045] like Figure 2 FIG. 1 is a flowchart of a method for moving a virtual object provided in an embodiment of the present application, comprising the following steps S101 to S103:

[0046] Step S101: displaying at least a portion of a virtual scene through a graphical user interface, wherein the virtual scene includes a plurality of spatial levels with different heights, and a first spatial level in each of the spatial levels includes a plurality of virtual objects including at least a first virtual object and a second virtual object.

[0047] In the method for moving a virtual object provided in the present application, a virtual scene is pre-divided into a plurality of spatial levels, and different spatial levels have different heights.

[0048] The method for moving a virtual object can be applied to a virtual game. It is understood that a virtual game refers to an application developed according to the requirements of a game application, and the type of the game may include but is not limited to at least one of the following: two-dimensional (two-dimensional) game applications, three-dimensional (three-dimensional) game applications, virtual reality (VR) game applications, augmented reality (AR) game applications, and mixed reality (MR) game applications.

[0049] In an embodiment of the present application, the virtual game may be an exploration strategy game, in which a player may control a virtual object to explore and adventure in a game scene.

[0050] The above-mentioned virtual scene refers to the game scene of the virtual game, and the virtual scene is used to provide a virtual environment for the virtual object controlled by the player to perform game behaviors. In the embodiment of the present application, the above-mentioned virtual object includes but is not limited to at least one of a virtual character, a virtual animal, and a virtual machine. The virtual machine can be, for example, a virtual fleet, a virtual fleet, a virtual aircraft, a virtual ship, etc. In the case where the virtual object controlled by the player is a virtual fleet, the virtual fleet can include at least one virtual ship.

[0051] It should be understood that the above virtual scene may also include other scene elements such as non-player characters (NPCs) that are not controlled by players, virtual buildings, virtual planets, etc., and this application does not limit this.

[0052] like Figure 3 FIG. 1 is a schematic diagram of an example of dividing a virtual scene into multiple spatial levels in a method for moving a virtual object provided in an embodiment of the present application. Figure 2 The virtual scene is divided into three spatial levels, namely spatial level 20, spatial level 21 and spatial level 22. The height of spatial level 20 can be 5 meters to 15 meters, the height of spatial level 21 can be -5 meters to 5 meters, and the height of spatial level 22 can be -15 meters to -5 meters.

[0053] It should be noted that Figure 3 The example in which a virtual scene is divided into three spatial levels is used for introduction. In a specific implementation, the number of divided spatial levels can be 4, 5, 6, etc., which can be set according to actual needs. This application does not limit this.

[0054] The first virtual object and the second virtual object may be virtual objects controlled by a player, or may be non-player objects (also called NPCs). In the case where the first virtual object and the second virtual object are virtual objects controlled by a player, they are controlled by different players respectively.

[0055] The first virtual object and the second object may both be located in the first spatial level of the plurality of spatial levels. It should be noted that the first virtual object and the second virtual object include at least one moving object that is currently moving. That is, any one of the first virtual object and the second virtual object is moving, and the other is stationary, or both the first virtual object and the second virtual object are moving, and the present application does not limit the specific motion state of the first virtual object and the second virtual object.

[0056] It should be noted that the first spatial level may include only the first virtual object and the second virtual object, or may include both the first virtual object and the second virtual object and other virtual objects, which is not specifically limited in the present application.

[0057] Step S102: In response to the first virtual object and the second virtual object about to collide, the first virtual object or the second virtual object is displayed through the graphical user interface to move from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level, wherein the second spatial level is a spatial level among the spatial levels except the first spatial level.

[0058] In the embodiment of the present application, the first virtual object and the second virtual object are about to collide, which means that the first virtual object and the second virtual object will come into contact within a preset period of time when they maintain their current motion states. For example, after 3 seconds, virtual object a and virtual object b will move to the same position, which means that virtual object a and virtual object b are about to collide.

[0059] It should be noted that when the first virtual object and the second virtual object are located at the same spatial level, if no processing is performed, the two will collide, thereby affecting the movement of the first virtual object or the second virtual object.

[0060] In a specific embodiment, when it is detected that the first virtual object and the second virtual object located at the same spatial level are about to collide, another second spatial level different from the first spatial level where the first virtual object and the second virtual object are currently located can be determined, and the second spatial level is the spatial level to which the target virtual object is to move, wherein the target virtual object is the first virtual object or the second virtual object. Specifically, the second spatial level refers to: after the target virtual object moves to the second spatial level, in the process of overlapping with the non-target virtual object, there is no spatial level of virtual objects that collide with the target virtual object; wherein the non-target virtual object is a virtual object other than the target virtual object in the first virtual object and the second virtual object, and the overlap between the target virtual object and the non-target virtual object means that the area occupied by the target virtual object and the area occupied by the non-target virtual object have an intersection after being projected to the same horizontal plane.

[0061] In an optional implementation, the multiple spatial levels may include an idle level. When two virtual objects are about to collide, one of the virtual objects may move to the idle level. The idle level may be a level that temporarily carries the virtual object to move in its corresponding height space. In the absence of a virtual object to collide, the idle level may remain idle, that is, a state where no virtual object is carried. In this implementation, the idle level is the second level.

[0062] In another optional implementation, if the virtual scene includes two spatial levels, then when a new spatial level other than the first spatial level satisfies the condition that "after the target virtual object moves to the new spatial level, there is no virtual object that collides with the target virtual object during the process of overlapping with non-target virtual objects", the new spatial level is the second spatial level. If the virtual scene includes more than two spatial levels, the second spatial level can be determined in the other spatial levels other than the first spatial level, and the determined second spatial level satisfies the condition that "after the target virtual object moves to the new spatial level, there is no virtual object that collides with the target virtual object during the process of overlapping with non-target virtual objects".

[0063] In the embodiment of the present application, each spatial level may correspond to a unique height interval. The height space corresponding to the first spatial level refers to the three-dimensional space corresponding to the height interval of the first spatial level, and the height space corresponding to the second spatial level refers to the three-dimensional space corresponding to the height interval of the second spatial level. Figure 3 From the relevant introduction “the height of space level 20 can be 5 meters to 15 meters, the height of space level 21 can be -5 meters to 5 meters, and the height of space level 22 can be -15 meters to -5 meters”, it can be seen that the height interval of space level 20 is [5, 15], the height interval of space level 21 is [-5, 5), and the height interval of space level 22 is [-15, -5).

[0064] In this way, the first virtual object or the second virtual object can be controlled to move from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level, so that the animation effect of the first virtual object or the second virtual object moving from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level can be displayed in the graphical user interface of the terminal device.

[0065] Specifically, the first virtual object may be moved from the first spatial level to the second spatial level, and the second virtual object may be moved from the first spatial level to the second spatial level.

[0066] Optionally, when one of the first virtual object and the second virtual object is currently moving and the other is currently in a stationary state, the virtual object whose level is to be changed may be the virtual object that is currently moving or the virtual object that is currently in a stationary state.

[0067] In an optional implementation, the above step S102 can be implemented according to the following steps S1021 and S1022:

[0068] Step S1021: determining a target virtual object whose level is to be changed between the first virtual object and the second virtual object;

[0069] Step S1022: Displaying that the target virtual object moves from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level.

[0070] In the embodiment of the present application, when two virtual objects are about to overlap, the spatial level of the moving virtual object can be changed preferentially. Therefore, in the embodiment of the present application, the target virtual object currently moving among the first virtual object and the second virtual object can be determined, and the target virtual object is: the first virtual object currently moving; or, the second virtual object currently moving. Then, the target virtual object is moved to the second spatial level and the previous moving state is maintained.

[0071] Optionally, when only one of the first virtual object and the second virtual object is in motion, the virtual object is the determined target virtual object. For example, virtual object a and virtual object b in the same spatial level 1 are to be overlapped, virtual object a is moving, and virtual object b is stationary, then virtual object a is the target virtual object.

[0072] Optionally, when both the first virtual object and the second virtual object are moving, one of the first virtual object and the second virtual object can be selected as the target virtual object, or the virtual object with a faster moving speed between the first virtual object and the second virtual object can be determined as the target virtual object. For example, virtual object a and virtual object b in the same spatial level 1 are to be overlapped, virtual object a is moving at a speed of 30 meters per second, and virtual object b is moving at a speed of 50 meters per second, then virtual object a can be selected as the target virtual object, or virtual object b can be selected as the target virtual object.

[0073] In the embodiments of the present application, by changing the spatial level of a moving virtual object, the player's perception of the change in spatial level is weakened. For the player, if the spatial level of a stationary virtual object is changed, then in the player's view, the stationary virtual object is suddenly manipulated by an "external force" to move to a higher space or a lower space. If the spatial level of the target virtual object is changed, in the player's view, it is just that the moving target virtual object has slightly "avoided" the body position, making the visual presentation more realistic and natural, thereby enhancing the player's gaming experience.

[0074] In an optional implementation, the first virtual object or the second virtual object may be controlled to move to a preset height of the second spatial level.

[0075] In another optional implementation, the above step S102 may also be implemented by the following steps:

[0076] Determining the target altitude from the second spatial level;

[0077] Display the first virtual object or the second virtual object moving from the height space corresponding to the first spatial level to the target height in the height space corresponding to the second spatial level, wherein when the target virtual object is placed at the target height, the target virtual object can be completely accommodated in the second spatial level and does not occupy the height space of other spatial levels.

[0078] Compared to the above-mentioned preset height, a random target height is determined in this embodiment. With this setting, when a virtual object changes its spatial level, the height change is different each time it moves, and the player can only perceive that the height of the virtual object has changed. When the virtual object is moved to a preset height in the spatial level, if it is moved to the same spatial level multiple times, the player can perceive that the virtual object has moved from one height to another fixed height, and then perceive the obvious change in the spatial level. It can be seen that by moving the virtual object to any target height in the changed spatial level, the transmission of the underlying rules to the player can be effectively reduced, and the player's perception of the spatial level can be reduced.

[0079] It should be noted that before and after the virtual object moves, only the spatial level in which it is located may change, and its motion state may not change. For example, if the virtual object a is in a state of moving forward at a speed of 30 meters per second in the first spatial level, then after the virtual object a moves to the second spatial level, it is still in a state of moving forward at a speed of 30 meters per second. For another example, if the virtual object a is in a stationary state in the first spatial level, then after the virtual object a moves to the second spatial level, it is still in a stationary state. That is, before and after the target virtual object moves, only the height in the virtual scene changes, and the motion state remains unchanged.

[0080] When both the first virtual object and the second virtual object are in a moving state, after the first virtual object or the second virtual object moves to the second spatial level, a picture of the first virtual object and the second virtual object moving in different height spaces may be displayed; or, when the first virtual object and the second virtual object no longer overlap after overlapping, the virtual object moved to the second spatial level may be displayed to move to the first spatial level again, and a picture of the first virtual object and the second virtual object moving in the height space corresponding to the first spatial level may be displayed.

[0081] In the embodiment of the present application, by moving the first virtual object or the second virtual object to the second spatial level in each spatial level, since the heights of the first spatial level and the second spatial level are different, the collision between the first virtual object and the second virtual object can be effectively avoided.

[0082] The method for moving a virtual object provided in an embodiment of the present application comprises the following steps: displaying at least part of a virtual scene through a graphical user interface, wherein the virtual scene comprises a plurality of spatial levels of different heights, wherein a first spatial level in each of the spatial levels comprises at least a plurality of virtual objects including a first virtual object and a second virtual object; in response to the first virtual object and the second virtual object being about to collide, displaying through the graphical user interface that the first virtual object or the second virtual object moves from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level, wherein the second spatial level is a spatial level other than the first spatial level in each of the spatial levels. It can be seen that in the method for moving a virtual object provided in an embodiment of the present application, the virtual scene is divided into a plurality of spatial levels, and when a first virtual object and a second virtual object located at the same spatial level are about to collide, the first virtual object or the second virtual object is moved to another new second spatial level, so that the first virtual object and the second virtual object will be in two spatial levels of different heights, thereby avoiding collision. From the player's perspective, compared with the virtual objects moving in a circular motion on the same plane, the changes in the detour path when the virtual objects move to spatial levels with different heights are minimal, and the detour time is also shorter. On the basis of ensuring visual authenticity, the trajectory changes and time delays caused by the virtual objects' detour are effectively reduced, which is conducive to players making tactical arrangements and strategic decisions in tense game situations, and real-time control of the game situation, thereby avoiding distracting players' attention and improving player stickiness and the player's gaming experience.

[0083] Furthermore, the virtual scene may further include a third virtual object located in a third spatial level, and the method for moving a virtual object provided in the embodiment of the present application may further include the following steps:

[0084] In response to the first virtual object and the third virtual object being about to overlap, the first virtual object and the third virtual object are controlled to remain in corresponding spatial levels and to maintain their corresponding motion states respectively.

[0085] For example, virtual object a moves forward in spatial level 1 and moves to the position (x1, y1, z1) at time t, while virtual object b remains stationary in spatial level 2 and always remains at the position (x1, y1, z2). Then virtual object a and virtual object b will overlap at time t, but since they are in different spatial levels, they will not collide. Therefore, virtual object a continues to move forward in spatial level 1, while virtual object b continues to remain stationary in spatial level 2.

[0086] Optionally, in the embodiment of the present application, when a virtual object is created in the virtual base, the space level to be allocated corresponding to the virtual object can be determined from the space levels, and the virtual object can be allocated to the space level to be allocated. Therefore, the method for moving a virtual object provided in the embodiment of the present application can further include the following steps before the above step S101:

[0087] In response to a target virtual object being created, determining a to-be-allocated spatial level corresponding to the target virtual object from each of the spatial levels, wherein the target virtual object is the first virtual object or the second virtual object;

[0088] The target virtual object is allocated to a height interval corresponding to the space level to be allocated.

[0089] In an embodiment of the present application, when the above-mentioned target virtual object is created in the base, any spatial level in the spatial hierarchy can be determined as the spatial level to be allocated corresponding to the target virtual object, and the target virtual object can be allocated to the height interval corresponding to the spatial level to be allocated.

[0090] It should be noted that, in the case where the target virtual object will not overlap with other virtual objects at the same spatial level, the target virtual object will always remain in the spatial level to be allocated.

[0091] In an optional specific implementation, the spatial level to be allocated can be determined for the created target virtual object by the object identification code. The above step of "determining the spatial level to be allocated corresponding to the target virtual object from each of the spatial levels" can include the following steps:

[0092] Assigning a unique target object identification code to the target virtual object;

[0093] Mapping the target object identification code to a target hash value through a preset hash function;

[0094] According to the target hash value, the to-be-allocated spatial level corresponding to the target virtual object is determined from each spatial level.

[0095] Specifically, the virtual object and the corresponding object identification code correspond one to one, and a virtual object has a unique object identification code. A unique virtual object can be determined based on an object identification code. In the present application, when a virtual object is created, a unique object identification code can be assigned to it, and a hash function can be pre-set in the present application, which can receive the object identification code of the virtual object and map it to a certain value. A random seed can also be set in the present application, and the random seed can be used in combination with the hash function to output a hash value for an object identification code. Finally, the calculated hash value is mapped to the corresponding spatial level. In this way, the relative balance of the virtual objects allocated in each spatial level can be maintained.

[0096] In another optional specific implementation, an object ratio for accommodating virtual objects is set between each of the spatial levels, and the above step of "determining the spatial level to be allocated corresponding to the target virtual object from each of the spatial levels" may include the following steps:

[0097] Obtaining a first number of virtual objects currently contained in each of the spatial levels;

[0098] According to the first number and the object ratio, a to-be-allocated spatial level corresponding to the target virtual object is determined from each of the spatial levels.

[0099] In this specific implementation, the created virtual objects will be distributed to each spatial level according to a certain ratio. When a new virtual object is created, the corresponding and matching spatial level to be distributed to the new virtual object can be determined according to the number of virtual objects currently contained in each spatial level, and the new virtual object can be distributed to the spatial level to be distributed, so that the real object ratio of the virtual objects contained in each of the spatial levels is closer to the set object ratio.

[0100] Exemplarily, assume that the virtual scene is divided into three spatial levels, namely spatial level 1, spatial level 2 and spatial level 3, and the object ratios of the virtual objects set between spatial level 1, spatial level 2 and spatial level 3 are 30%, 40% and 30%. If there are 20 virtual objects in spatial level 1, 35 virtual objects in spatial level 2, and 28 virtual objects in spatial level 3, then when the current virtual object a is created, spatial level 1 can be determined as the spatial level to be allocated corresponding to virtual object a, and virtual object a can be allocated to spatial level 1.

[0101] This setting method allocates corresponding spatial levels to the created virtual objects based on a preset object ratio, so that the real object ratio between the virtual objects contained in each spatial level is as close as possible to the preset object ratio, thereby maintaining the relative balance of the virtual objects allocated in each spatial level.

[0102] Optionally, before the step of “displaying, through the graphical user interface, that the first virtual object or the second virtual object moves from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level”, the method for moving a virtual object provided in an embodiment of the present application further includes the following steps:

[0103] A second spatial level is determined from among the spatial levels.

[0104] Among them, the second spatial level is a spatial level at which no virtual object collides with the target virtual object after the spatial level of the target virtual object changes and overlaps with a non-target virtual object in a bird's-eye view. The target virtual object is a virtual object to be moved to the second spatial level between the first virtual object and the second virtual object, and the non-target virtual object is a virtual object other than the target virtual object between the first virtual object and the second virtual object.

[0105] Optionally, the step of “determining a second spatial level from the multiple spatial levels” may include the following steps S1031 to S1034:

[0106] Step S1031: determining a first area to be overlapped between the first virtual object and the second virtual object in the first spatial level;

[0107] Step S1032: determining a second area in other spatial levels that overlaps with the first area in a bird's-eye view, wherein the other spatial levels are spatial levels other than the first spatial level in the spatial levels;

[0108] Step S1033: Detecting whether there is a corresponding free space level in the second area where no virtual object exists when the first virtual object and the second virtual object overlap;

[0109] Step S1034: If the detection result of step S1033 is yes, the free space level is determined as the second space level.

[0110] In the embodiment of the present application, from a top-down perspective, a horizontal area corresponds to an associated area in each spatial level, and the associated areas in each spatial level overlap with each other from a top-down perspective. In the embodiment of the present application, when all associated areas in each spatial level corresponding to a horizontal area are covered by virtual objects, the horizontal area is a solid volume, and other virtual objects will not be able to pass through the associated area corresponding to the horizontal area that becomes a solid volume in any spatial level. That is, in the embodiment of the present application, the number of virtual objects with overlapping common areas from a top-down perspective cannot exceed the total number of spatial levels.

[0111] The following combination Figure 4 and Figure 5 The entity volumes formed by virtual objects at different spatial levels in the method for moving virtual objects provided in the embodiment of the present application are introduced as follows:

[0112] like Figure 4 As shown, it is a front view of the overlapping virtual objects at different spatial levels in the virtual object movement method provided in an embodiment of the present application, where virtual object 201 is in spatial level 20, virtual object 202 is in spatial level 21, and virtual object 203 is in spatial level 22. In addition, virtual object 201, virtual object 202, and virtual object 203 overlap with each other at the same time when viewed from a top-down perspective, and there is a common area of ​​overlap.

[0113] like Figure 5 As shown, it is a top view of the overlapped virtual objects at different spatial levels in the method for moving virtual objects provided in an embodiment of the present application, and the common area where virtual objects 201, 202, and 203 overlap with each other is the horizontal area 204, that is, the horizontal area 204 has corresponding associated areas at spatial level 20, spatial level 21, and spatial level 22, respectively, and each associated area is occupied by virtual object 201, virtual object 202, and virtual object 203. Therefore, the horizontal area 204 is a solid volume, and other virtual objects will not be able to pass through the associated areas corresponding to the horizontal area 204 in each spatial level.

[0114] When determining the second spatial level from multiple spatial levels, the first area where the first virtual object and the second virtual object are to overlap in the first spatial level may be determined first; then, the second spatial level may be determined from other spatial levels based on whether there is a virtual object in the second area corresponding to the first area in other spatial levels. It should be noted that the first area and the second area are associated areas corresponding to the same horizontal area in different spatial levels.

[0115] In a specific implementation, after determining the first area to be overlapped, a second area in other spatial levels that overlaps with the first area from a bird's-eye view can be determined. Then, when the first virtual object and the second virtual object overlap, it can be detected whether there is an empty space level in the corresponding second area where no virtual objects exist. If so, the empty space level can be determined as the second spatial level.

[0116] Exemplarily, the area to be overlapped of virtual objects a and virtual objects b in spatial level 1 is area c, the area overlapping with area c in spatial level 2 from a bird's-eye view is area c1, and the area overlapping with area c in spatial level 3 from a bird's-eye view is area c2. Virtual objects a and virtual objects b will overlap after 3 seconds, and after 3 seconds, there will be a virtual object d in area c1 in spatial level 2, and after 3 seconds, there will be no virtual object in area c2 in spatial level 3. Then spatial level 3 is an idle spatial level, and spatial level 3 can be determined as the second spatial level.

[0117] This configuration can prevent the first virtual object and the second virtual object from colliding with other virtual objects when they overlap in a top-down perspective.

[0118] In order to further improve the smoothness of the game, in addition to the absence of virtual objects in the second area corresponding to the second spatial level, when the target virtual object moving to the second spatial level overlaps with the non-target virtual object from a top-down perspective, there will be no virtual objects in the second spatial level that collide with the target virtual object.

[0119] Through this setting method, the second spatial level can be determined accurately and efficiently, thereby reducing the frequency of changes in the spatial level of virtual objects, avoiding frequent up and down changes in height of virtual objects, and further improving the smoothness of the game.

[0120] In an optional implementation, the method for moving a virtual object provided in the embodiment of the present application may further include the following steps:

[0121] If the second spatial level does not exist in each of the spatial levels, determining an object to be circumvented from the first virtual object and the second virtual object, wherein the object to be circumvented includes one of the following virtual objects: a first virtual object currently moving; or a second virtual object currently moving;

[0122] The object to be circumvented is controlled to move in a circumventing manner in the first spatial level.

[0123] In the embodiment of the present application, if the detection result of the above step S1033 is no, that is, when the above-mentioned first virtual object and the above-mentioned second virtual object overlap, there are virtual objects in the second areas corresponding to other spatial levels, then it is determined that the horizontal area corresponding to the first area is a solid volume.

[0124] When a horizontal area is a solid volume, a virtual object cannot pass through the horizontal area and can only bypass it. Specifically, the currently moving object to be bypassed can be determined from the above-mentioned first virtual object and the above-mentioned second virtual object, and the object to be bypassed can be controlled to move in a bypassed manner in the above-mentioned first spatial level. Similar to the aforementioned determination of the target virtual object, when there is only one moving virtual object among the above-mentioned first virtual object and the above-mentioned second virtual object, the virtual object is the object to be bypassed. When the above-mentioned first virtual object and the above-mentioned second virtual object are both moving, you can select any one of them as the object to be bypassed, or use the one with a faster moving speed as the object to be bypassed. The object to be bypassed and the above-mentioned target virtual object may be the same or different, and this application does not limit this.

[0125] In a specific implementation, the object to be circumvented may be controlled to circumvent along the edge of a non-circumvented object in the first spatial level currently located, wherein the non-circumvented object is a virtual object other than the object to be circumvented among the first virtual object and the second virtual object.

[0126] It should be noted that two virtual objects at the same spatial level need to detour when a collision occurs and cannot overlap directly, while two virtual objects at different spatial levels can overlap in an area that does not belong to the physical volume.

[0127] In an optional specific implementation, the above step of "controlling the object to be circumvented to perform circumventing movement in the first spatial level" may include the following steps:

[0128] Obtaining a current initial moving path of the object to be circumvented;

[0129] Determining a contact position where the object to be circumvented contacts the non-circumvented object when the object to be circumvented moves along the initial moving path;

[0130] The object to be circumvented is controlled to move along the initial moving path to the contact position, and to circumvent along the edge of the non-circumvented object from the contact position until it moves onto the initial moving path, and keeps moving along the initial moving path.

[0131] In an embodiment of the present application, first, an initial moving path of the object to be circumvented in the first spatial level can be obtained, and the initial moving path is a ray composed of the current position of the object to be circumvented and the current moving direction; then, the contact position of the object to be circumvented when it contacts the non-circumvented object when moving along the initial moving path can be determined; finally, the object to be circumvented can be controlled to first move to the contact position along the initial moving path, and circumvent along the edge of the non-circumvented object from the contact position until the object to be circumvented moves onto the initial moving path again, and then the object to be circumvented is controlled to keep moving along the initial moving path.

[0132] Assume that the object to be circumvented is the first virtual object, and the non-circumvented object is the second virtual object. The first virtual object is at position 1 in the first spatial hierarchy and moves toward the east. The initial moving path is ray 3 pointing from position 1 to the east. When the position where the first virtual object and the second virtual object contact is position 2, the first virtual object can be controlled to move to position 2 first, and then the first virtual object can be controlled to circumvent from position 2 along the edge of the second virtual object until the first virtual object moves to ray 3 again, and the first virtual object is controlled to continue moving along ray 3.

[0133] The following combination Figure 6 and Figure 7 The detour movement of the virtual object in the method for moving the virtual object provided in the embodiment of the present application is introduced:

[0134] like Figure 6 As shown, it is a schematic diagram of an example in which the area to be overlapped in the method for moving a virtual object provided in an embodiment of the present application is a solid volume. There are virtual objects 201 and 205 in the spatial level 20, there is a virtual object 202 in the spatial level 21, and there is a virtual object 203 in the spatial level 22. Virtual object 205 is about to overlap with virtual object 201. The area to be overlapped is area 206. The corresponding overlapping area of ​​area 206 in the spatial level 21 is area 207, and the corresponding overlapping area of ​​area 206 in the spatial level 22 is area 208. There is a stationary virtual object 202 in area 207, and there is a stationary virtual object 203 in area 208. In this way, area 206 includes an area that becomes a solid volume, and virtual object 205 cannot pass through area 206 from other spatial levels.

[0135] like Figure 7 FIG. 1 is a schematic diagram of an example of a virtual object moving around in a method for moving a virtual object provided in an embodiment of the present application. Figure 6As can be seen from the introduction of , the virtual object 205 cannot pass through the area 206 from other spatial levels. Therefore, the virtual object 205 can detour in the current spatial level 20, first moving along the initial moving path until it contacts the virtual object 201, then moving along the edge of the virtual object 201 to the initial moving path, and then continuing to move along the initial moving path. The moving path of the detour is Figure 7 of 209.

[0136] Through this setting, when a horizontal area becomes a solid volume, if two virtual objects are about to overlap in an associated area corresponding to the horizontal area, the spatial hierarchy is kept unchanged, and one of the moving objects to be circumvented is controlled to move in a circumferential direction along the edge of another non-circumvented object in the original spatial hierarchy, which can avoid collision between the two and improve the rationality of the game.

[0137] In an optional implementation, the above step S1022 may be implemented by the following steps:

[0138] Acquire the moving speed of the target virtual object in the first spatial level;

[0139] Determining a moving direction of the target virtual object from the first spatial level to the second spatial level;

[0140] According to the moving direction and the moving speed, the target virtual object is displayed moving from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level.

[0141] In an embodiment of the present application, when controlling the target virtual object to move from a first spatial level to a second spatial level, an animation effect of moving from the first spatial level to the second spatial level can be generated. The animation effect includes two animation factors, one of which is the moving speed of the target virtual object. It should be noted that the moving speed here is a scalar, which refers to the numerical value of the moving speed. The second is the moving direction of the target virtual object. According to this moving direction, the target virtual object can be moved from the first spatial level to the second spatial level.

[0142] In the embodiment of the present application, the moving speed of the target virtual object in the first spatial level may be determined as the moving speed of the target virtual object to maintain uniform motion of the target virtual object.

[0143] In an optional implementation, the vertical direction from the first spatial level to the second spatial level can be determined as the moving direction of the target virtual object from the first spatial level to the second spatial level. For example, if the second spatial level is above the first spatial level, the moving direction is vertically upward; if the second spatial level is below the first spatial level, the moving direction is vertically downward.

[0144] In another optional implementation, the moving direction of the target virtual object from the first spatial level to the second spatial level may be determined according to the following steps:

[0145] Determine that the target virtual object moves in the first spatial level along an initial moving direction to a boundary position of a pre-collision reserved space corresponding to a non-target virtual object;

[0146] Determine a straight line that is tangent to the target virtual object and the non-target virtual object located at the boundary position and intersects the second spatial level;

[0147] The direction in which the straight line points to the second spatial level is determined as the moving direction of the target virtual object from the first spatial level to the second spatial level.

[0148] In an embodiment of the present application, first, it can be determined that the target virtual object moves along the initial moving direction in the first spatial level to the boundary position of the pre-collision reserved space corresponding to the non-target virtual object. The size of the pre-collision reserved space can be specifically set according to actual conditions, and the present application does not impose any restrictions on this.

[0149] Secondly, a straight line that is tangent to the target virtual object located at the boundary position, is tangent to the non-target virtual objects, and intersects the second spatial level may be determined.

[0150] Finally, the direction in which the straight line points to the second spatial level may be determined as the moving direction of the target virtual object from the first spatial level to the second spatial level.

[0151] It should be noted that, along this straight line, an animation effect can be generated in which the target virtual object "rubs" the edge of the non-target virtual object and moves to the second spatial level, further improving the smoothness and naturalness of the game.

[0152] like Figure 8 FIG. 1 is a schematic diagram of an example of a virtual object moving from one spatial level to another spatial level in a method for moving a virtual object provided in an embodiment of the present application, including: Figure 8 -a and Figure 8 -b, in Figure 8-a, the current moving direction of virtual object 212 at spatial level 21 is 217, and it is about to collide with virtual object 213 at spatial level 21. There is virtual object 214 at spatial level 22. Therefore, virtual object 212 needs to move from spatial level 21 to the spatial level 20 of the previous layer. Figure 8 -b, when the virtual object 212 moves to the boundary position of the pre-collision reserved space 218 corresponding to the virtual object 213, a straight line 215 tangent to the bottom of the virtual object 212 and to the top of the virtual object 213 and pointing to the spatial level 20 can be determined. The direction in which the straight line 215 points to the spatial level 20 is the moving direction of the virtual object 212 from the spatial level 21 to the spatial level 20. In this way, the virtual object 212 can move from the spatial level 21 to the spatial level 20 along the straight line 215, and then the virtual object 212 moves in the spatial level 20 along the moving direction 216.

[0153] In an optional implementation, the above step of “displaying, according to the moving direction and the moving speed, that the target virtual object moves from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level” may include the following steps:

[0154] A first screen showing that the target virtual object moves along the initial moving direction and at the moving speed to the boundary position; and

[0155] The target virtual object is displayed moving along the moving direction and at the moving speed from the boundary position to a second screen in the height space of the second spatial level.

[0156] First, the target virtual object may be controlled to move along the initial moving direction and at the moving speed to the boundary position; then, the target virtual object may be controlled to move along the moving direction and at the moving speed from the boundary position to the second spatial level.

[0157] In this way, an animation effect of the target virtual object moving from the first spatial level to the second spatial level can be generated, thereby displaying a first picture in the graphical user interface of the terminal device showing the target virtual object moving along the initial moving direction and at the moving speed to the boundary position; and displaying a second picture in the height space of the target virtual object moving along the moving direction and at the moving speed from the boundary position to the second spatial level, thereby realizing the animation effect of the target virtual object moving from the first spatial level to the second spatial level.

[0158] In an optional implementation, the first virtual object and the second virtual object are virtual objects of the first type, the virtual scene also includes a virtual object of the second type, and the virtual object of the second type is used to carry the virtual object of the first type; the method for moving a virtual object provided in the embodiment of the present application may further include the following steps:

[0159] In response to the first virtual object moving to come into contact with a surface of the second type of virtual object, the first virtual object is controlled to move along the surface of the second type of virtual object.

[0160] It should be noted that the first type of virtual objects may include virtual objects controlled by players and non-player objects, and the second type of virtual objects are scene entity elements in the game scene, such as but not limited to virtual planets, virtual buildings, etc.

[0161] In the embodiment of the present application, the volume of the second type of virtual object is usually larger, and the area it occupies will become a solid volume. The first type of virtual object can only move along its surface, and cannot move inside it. That is, the second type of virtual object is used to carry the first type of virtual object and support the first type of virtual object to be located on its surface. When the first type of virtual object moves in a spatial level and contacts the surface of the second type of virtual object, if the spatial level runs through the interior of the second type of virtual object, the first type of virtual object cannot continue to move along the spatial level, but will continue to move along the surface of the second type of virtual object.

[0162] like Fig. 9 As shown, it is a schematic diagram of an example of when a first type of virtual object and a second type of virtual object come into contact in the virtual object movement method provided in an embodiment of the present application. The first type of virtual object is moving in the spatial level 20, and when it comes into contact with the position point 211 on the surface of the second type of virtual object 210, it moves along its surface and cannot enter the area where the spatial levels 20, 21 and 22 intersect with the second type of virtual object 210.

[0163] With this arrangement, when the surfaces of the first type of virtual object and the second type of virtual object contact each other, the first type of virtual object can be controlled to move along the surface of the second type of virtual object, thereby preventing the first type of virtual object from entering the interior of the second type of virtual object.

[0164] Corresponding to the method for moving a virtual object provided in the first embodiment of the present application, the second embodiment of the present application further provides a device for moving a virtual object, such as Fig.10 As shown, the mobile device 1000 of the virtual object includes:

[0165] A first display unit 1001 is used to display at least part of a virtual scene through a graphical user interface, wherein the virtual scene includes a plurality of spatial levels with different heights, and a first spatial level in each of the spatial levels includes at least a plurality of virtual objects including a first virtual object and a second virtual object;

[0166] The second display unit 1002 is used to respond to the first virtual object and the second virtual object about to collide, and display through the graphical user interface the first virtual object or the second virtual object moving from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level, wherein the second spatial level is a spatial level among the spatial levels except the first spatial level.

[0167] Optionally, the second display unit 1002 is further used for:

[0168] A second spatial level is determined from each of the spatial levels, wherein the second spatial level is a spatial level at which no virtual object collides with the target virtual object after the spatial level of the target virtual object changes and overlaps with a non-target virtual object in a bird's-eye view, the target virtual object is a virtual object to be moved to the second spatial level between the first virtual object and the second virtual object, and the non-target virtual object is a virtual object other than the target virtual object between the first virtual object and the second virtual object.

[0169] Optionally, the second display unit 1002 is further specifically used for:

[0170] Determine a first area to be overlapped between the first virtual object and the second virtual object in the first spatial level;

[0171] Determine a second area in other spatial levels that overlaps with the first area from a bird's-eye view, wherein the other spatial levels are spatial levels other than the first spatial level in the spatial levels;

[0172] Detecting whether there is a corresponding free space level in the second area where no virtual object exists when the first virtual object overlaps with the second virtual object;

[0173] If so, the free space level is determined as the second space level.

[0174] Optionally, the second display unit 1002 is further specifically used for:

[0175] If the second spatial level does not exist in each of the spatial levels, determining an object to be circumvented from the first virtual object and the second virtual object, wherein the object to be circumvented includes one of the following virtual objects: a first virtual object currently moving; or a second virtual object currently moving;

[0176] The object to be circumvented is controlled to move in a circumventing manner in the first spatial level.

[0177] Optionally, the second display unit 1002 is further specifically used for:

[0178] Obtaining a current initial moving path of the object to be circumvented;

[0179] Determining a contact position where the object to be circumvented contacts a non-circumvented object when the object to be circumvented moves along the initial moving path, wherein the non-circumvented object is a virtual object other than the object to be circumvented among the first virtual object and the second virtual object;

[0180] The object to be circumvented is controlled to move along the initial moving path to the contact position, and to circumvent along the edge of the non-circumvented object from the contact position until it moves onto the initial moving path, and keeps moving along the initial moving path.

[0181] Optionally, the virtual object moving device further includes a determining unit, and the determining unit is used to:

[0182] In response to a target virtual object being created, determining a to-be-allocated spatial level corresponding to the target virtual object from each of the spatial levels, wherein the target virtual object is the first virtual object or the second virtual object;

[0183] The target virtual object is allocated to a height interval corresponding to the space level to be allocated.

[0184] Optionally, an object ratio for accommodating virtual objects is set between each of the spatial levels, and the determining unit is specifically configured to:

[0185] Obtaining a first number of virtual objects currently contained in each of the spatial levels;

[0186] According to the first number and the object ratio, a to-be-allocated spatial level corresponding to the target virtual object is determined from each of the spatial levels.

[0187] Optionally, the second display unit 1002 is specifically used for:

[0188] Determine a target virtual object of the first virtual object and the second virtual object whose level is to be changed, wherein the target virtual object includes one of the following virtual objects: the first virtual object currently moving; or the second virtual object currently moving;

[0189] The target virtual object is displayed to move from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level.

[0190] Optionally, the second display unit 1002 is specifically used for:

[0191] Acquire the moving speed of the target virtual object in the first spatial level;

[0192] Determining a moving direction of the target virtual object from the first spatial level to the second spatial level;

[0193] According to the moving direction and the moving speed, the target virtual object is displayed moving from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level.

[0194] Optionally, the determining of the moving direction of the target virtual object from the first spatial level to the second spatial level, the second display unit 1002 is specifically configured to:

[0195] Determine that the target virtual object moves in the first spatial level along an initial moving direction to a boundary position of a pre-collision reserved space corresponding to non-target virtual objects among the first virtual object and the second virtual object except the target virtual object;

[0196] Determine a straight line that is tangent to the target virtual object and the non-target virtual object located at the boundary position and intersects the second spatial level;

[0197] The direction in which the straight line points to the second spatial level is determined as the moving direction of the target virtual object from the first spatial level to the second spatial level.

[0198] Optionally, the second display unit 1002 is specifically used for:

[0199] A first screen showing that the target virtual object moves along the initial moving direction and at the moving speed to the boundary position; and

[0200] The target virtual object is displayed moving along the moving direction and at the moving speed from the boundary position to a second screen in the height space of the second spatial level.

[0201] Optionally, the first virtual object and the second virtual object are virtual objects of a first type, the virtual scene further includes a virtual object of a second type, and the virtual object of the second type is used to carry the virtual object of the first type; the second display unit 1002 is further used to:

[0202] In response to the first virtual object moving to come into contact with a surface of the second type of virtual object, the first virtual object is controlled to move along the surface of the second type of virtual object.

[0203] Corresponding to the method for moving a virtual object provided in the first embodiment of the present application, the third embodiment of the present application further provides an electronic device for controlling the movement of a virtual object. Fig.11 As shown, the electronic device 1100 includes: a processor 1101; and a memory 1102, which is used to store a program of a method for moving a virtual object. After the device is powered on and the program of the method for moving a virtual object is run by the processor, the following steps are performed:

[0204] Displaying at least a portion of a virtual scene through a graphical user interface, the virtual scene comprising a plurality of spatial levels of different heights, a first spatial level in each of the spatial levels comprising at least a plurality of virtual objects including a first virtual object and a second virtual object;

[0205] In response to the first virtual object and the second virtual object being about to collide, the first virtual object or the second virtual object is displayed through the graphical user interface to move from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level, wherein the second spatial level is a spatial level among the spatial levels except the first spatial level.

[0206] Corresponding to the method for moving a virtual object provided in the first embodiment of the present application, the fourth embodiment of the present application provides a computer-readable storage medium storing a program for the method for moving a virtual object, the program being executed by a processor to perform the following steps:

[0207] Displaying at least a portion of a virtual scene through a graphical user interface, the virtual scene comprising a plurality of spatial levels of different heights, a first spatial level in each of the spatial levels comprising at least a plurality of virtual objects including a first virtual object and a second virtual object;

[0208] In response to the first virtual object and the second virtual object being about to collide, the first virtual object or the second virtual object is displayed through the graphical user interface to move from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level, wherein the second spatial level is a spatial level among the spatial levels except the first spatial level.

[0209] It should be noted that for the detailed description of the devices, electronic devices and computer-readable storage media provided in the second, third and fourth embodiments of the present application, reference can be made to the relevant description of the first embodiment of the present application, and no further details will be given here.

[0210] Although the present application is disclosed as above in the form of a preferred embodiment, it is not intended to limit the present application. Any technical personnel in this field may make possible changes and modifications without departing from the spirit and scope of the present application. Therefore, the scope of protection of the present application shall be based on the scope defined by the claims of the present application.

[0211] In a typical configuration, a node device in a blockchain includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0212] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0213] 1. Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. Information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), random access memory (RAM) of other attributes, read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage media or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined in this article, computer-readable media does not include non-transitory media such as modulated data signals and carrier waves.

[0214] 2. Those skilled in the art should understand that the embodiments of the present application can be provided as methods, systems or computer program products. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0215] Although the present application is disclosed as above in the form of a preferred embodiment, it is not intended to limit the present application. Any technical personnel in this field may make possible changes and modifications without departing from the spirit and scope of the present application. Therefore, the scope of protection of the present application shall be based on the scope defined by the claims of the present application.

Claims

1. A method for moving a virtual object, characterized in that: The method comprises: Displaying at least a portion of a virtual scene through a graphical user interface, the virtual scene comprising a plurality of spatial levels of different heights, a first spatial level in each of the spatial levels comprising at least a plurality of virtual objects including a first virtual object and a second virtual object; In response to the first virtual object and the second virtual object being about to collide, the first virtual object or the second virtual object is displayed through the graphical user interface to move from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level, wherein the second spatial level is a spatial level among the spatial levels except the first spatial level.

2. The method according to claim 1, characterized in that Before displaying, through the graphical user interface, that the first virtual object or the second virtual object moves from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level, the method further includes: A second spatial level is determined from each of the spatial levels, wherein the second spatial level is a spatial level at which no virtual object collides with the target virtual object after the spatial level of the target virtual object changes and overlaps with a non-target virtual object in a bird's-eye view, the target virtual object is a virtual object to be moved to the second spatial level between the first virtual object and the second virtual object, and the non-target virtual object is a virtual object other than the target virtual object between the first virtual object and the second virtual object.

3. The method according to claim 2, characterized in that The determining the second spatial level from each of the spatial levels comprises: Determine a first area to be overlapped between the first virtual object and the second virtual object in the first spatial level; Determine a second area in other spatial levels that overlaps with the first area from a bird's-eye view, wherein the other spatial levels are spatial levels other than the first spatial level in the spatial levels; Detecting whether there is a corresponding free space level in the second area where no virtual object exists when the first virtual object overlaps with the second virtual object; If so, the free space level is determined as the second space level.

4. The method according to claim 2, characterized in that: The method further comprises: If the second spatial level does not exist in each of the spatial levels, determining an object to be circumvented from the first virtual object and the second virtual object, wherein the object to be circumvented includes one of the following virtual objects: a first virtual object currently moving; or a second virtual object currently moving; The object to be circumvented is controlled to move in a circumventing manner in the first spatial level.

5. The method according to claim 4, characterized in that The controlling the object to be circumvented to perform circumventing movement in the first spatial level includes: Obtaining a current initial moving path of the object to be circumvented; Determining a contact position where the object to be circumvented contacts a non-circumvented object when the object to be circumvented moves along the initial moving path, wherein the non-circumvented object is a virtual object other than the object to be circumvented among the first virtual object and the second virtual object; The object to be circumvented is controlled to move along the initial moving path to the contact position, and to circumvent along the edge of the non-circumvented object from the contact position until it moves onto the initial moving path, and keeps moving along the initial moving path.

6. The method according to claim 1, characterized in that The method further comprises: In response to a target virtual object being created, determining a to-be-allocated spatial level corresponding to the target virtual object from each of the spatial levels, wherein the target virtual object is the first virtual object or the second virtual object; The target virtual object is allocated to a height interval corresponding to the space level to be allocated.

7. The method according to claim 6, characterized in that An object ratio for accommodating virtual objects is set between each of the spatial levels, and determining the spatial level to be allocated corresponding to the target virtual object from each of the spatial levels includes: Obtaining a first number of virtual objects currently contained in each of the spatial levels; According to the first number and the object ratio, a to-be-allocated spatial level corresponding to the target virtual object is determined from each of the spatial levels.

8. The method according to claim 1, characterized in that The displaying the first virtual object or the second virtual object moving from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level includes: Determine a target virtual object of the first virtual object and the second virtual object whose level is to be changed, wherein the target virtual object includes one of the following virtual objects: the first virtual object currently moving; or the second virtual object currently moving; The target virtual object is displayed to move from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level.

9. The method according to claim 8, characterized in that The displaying the target virtual object moves from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level, comprising: Acquire the moving speed of the target virtual object in the first spatial level; Determining a moving direction of the target virtual object from the first spatial level to the second spatial level; According to the moving direction and the moving speed, the target virtual object is displayed moving from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level.

10. The method according to claim 9, characterized in that The determining a moving direction of the target virtual object from the first spatial level to the second spatial level includes: Determine that the target virtual object moves in the first spatial level along an initial moving direction to a boundary position of a pre-collision reserved space corresponding to non-target virtual objects among the first virtual object and the second virtual object except the target virtual object; Determine a straight line that is tangent to the target virtual object and the non-target virtual object located at the boundary position and intersects the second spatial level; The direction in which the straight line points to the second spatial level is determined as the moving direction of the target virtual object from the first spatial level to the second spatial level.

11. The method according to claim 9, characterized in that The step of displaying, according to the moving direction and the moving speed, that the target virtual object moves from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level comprises: A first screen showing that the target virtual object moves along the initial moving direction and at the moving speed to the boundary position; and The target virtual object is displayed moving along the moving direction and at the moving speed from the boundary position to a second screen in the height space of the second spatial level.

12. The method according to claim 1, characterized in that The first virtual object and the second virtual object are virtual objects of a first type, the virtual scene also includes a virtual object of a second type, and the virtual object of the second type is used to carry the virtual object of the first type; the method further includes: In response to the first virtual object moving to come into contact with a surface of the second type of virtual object, the first virtual object is controlled to move along the surface of the second type of virtual object.

13. A device for moving a virtual object, characterized in that: The device comprises: A first display unit, configured to display at least a portion of a virtual scene through a graphical user interface, wherein the virtual scene includes a plurality of spatial levels of different heights, and a first spatial level in each of the spatial levels includes at least a plurality of virtual objects including a first virtual object and a second virtual object; A second display unit is used for displaying, through the graphical user interface, the movement of the first virtual object or the second virtual object from the height space corresponding to the first spatial level to the height space corresponding to the second spatial level in response to the first virtual object and the second virtual object being about to collide, wherein the second spatial level is a spatial level among the spatial levels except the first spatial level.

14. An electronic device, characterized in that: include: processor; as well as The memory is used to store a data processing program. After the electronic device is powered on and the program is run by the processor, the method according to any one of claims 1 to 12 is executed.

15. A computer-readable storage medium, characterized in that: A data processing program is stored, and the program is run by a processor to execute the method according to any one of claims 1 to 12.