Collision information checking method and device, equipment and medium

By utilizing target latency to compensate for collision time and status information verification in a virtual scene, the problem of inaccurate collision information verification caused by network latency is solved, and more accurate virtual object display is achieved.

CN117482526BActive Publication Date: 2026-06-19TENCENT TECHNOLOGY (SHENZHEN) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2022-07-26
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

Due to network latency caused by network fluctuations, data mismatch may occur when the server verifies collision information, resulting in lower accuracy of collision information verification.

Method used

By acquiring collision information of collision events in the virtual scene, compensating for the current time using target delay, the accurate collision time of the collision event is determined, and verification is performed based on the state information of the virtual object to avoid erroneous verification results caused by network latency.

Benefits of technology

It improves the accuracy of collision information verification, avoids incorrect status information verification caused by network latency, and ensures the correct display of virtual objects in the virtual scene.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117482526B_ABST
    Figure CN117482526B_ABST
Patent Text Reader

Abstract

This application discloses a method, apparatus, device, and medium for verifying collision information, belonging to the field of computer technology. Through the technical solution provided in the embodiments of this application, after the server obtains the collision information of a collision event, it compensates for the current time using the target delay to determine the accurate collision time. Based on the collision time, the state information of the virtual object at the time of the collision is determined, avoiding errors in state information obtained by the server due to network latency, and thus preventing incorrect verification results when based on incorrect state information. By using more accurate state information to verify the collision information, a more accurate verification result can be obtained.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, device, and medium for verifying collision information. Background Technology

[0002] With the development of network technology and the diversification of terminal functions, there are more and more types of games, and players use games to relax and have fun. For example, shooting games are a popular type of game, where multiple players can join the same game and interact using virtual weapons.

[0003] In related technologies, to ensure the accuracy of information during gameplay, the information generated by the terminal needs to be verified by the server. For example, in shooting games, the collision information between virtual bullets fired by virtual guns and game characters is generated by the terminal, which sends the collision information to the server for verification to ensure the correct display of game characters.

[0004] However, since network latency caused by network fluctuations is unavoidable, data mismatch may occur when the server verifies collision information, resulting in low accuracy of collision information verification. Summary of the Invention

[0005] This application provides a method, apparatus, device, and medium for verifying collision information, which can improve the accuracy of collision information verification. The technical solution is as follows:

[0006] On the one hand, a method for verifying collision information is provided, the method comprising:

[0007] Obtain collision information of collision events in a virtual scene, wherein the collision information includes the motion information of the virtual object in the collision event and the position of the virtual object being collided with;

[0008] Based on the current time and the target delay, the collision time of the collision event is determined, where the target delay refers to the time difference between the terminal uploading the collision information and the server starting to process the collision information;

[0009] Obtain the state information of the virtual object at the collision time, the state information including the position and orientation of the virtual object in the virtual scene;

[0010] Based on the state information of the virtual object at the collision time, the collision information is verified to obtain a verification result. The verification result is used to indicate whether the motion information of the virtual object and the collision position of the virtual object in the collision information are correct.

[0011] On the one hand, a method for verifying collision information is provided, the method comprising:

[0012] In the event of a collision in a virtual scene, collision information of the collision event is generated, which includes the motion information of the virtual object in the collision event and the position of the virtual object that is collided with.

[0013] The virtual object is displayed in the virtual scene based on the collision information, and the collision information is uploaded to the server so that the server can verify the collision information;

[0014] Obtain the verification result sent by the server, and continue to display the virtual object in the virtual scene based on the verification result.

[0015] On the one hand, a collision information verification system is provided, the system including a terminal and a server;

[0016] The terminal is used to generate collision information for a collision event that occurs in a virtual scene. The collision information includes the motion information of the virtual object in the collision event and the position of the virtual object that is collided with.

[0017] The terminal is also used to display the virtual object in the virtual scene based on the collision information, and to upload the collision information to the server;

[0018] The server is used to obtain the collision information and determine the collision time of the collision event based on the current time and the target delay. The target delay refers to the time difference between when the terminal uploads the collision information and when the server starts processing the collision information.

[0019] The server is also used to verify the collision information based on the state information of the virtual object at the collision time, and obtain a verification result. The verification result is used to indicate whether the motion information of the virtual object and the collision position of the virtual object in the collision information are correct.

[0020] The server is also used to send the verification result to the terminal;

[0021] The terminal is also used to obtain the verification result and continue to display the virtual object in the virtual scene based on the verification result.

[0022] On the one hand, a collision information verification device is provided, the device comprising:

[0023] The collision information acquisition module is used to acquire collision information of collision events in a virtual scene. The collision information includes the motion information of the virtual object in the collision event and the position of the virtual object being collided with.

[0024] The collision time determination module is used to determine the collision time of the collision event based on the current time and the target delay, wherein the target delay refers to the time difference between the terminal uploading the collision information and the server starting to process the collision information;

[0025] A status information acquisition module is used to acquire the status information of the virtual object at the collision time, the status information including the position and orientation of the virtual object in the virtual scene;

[0026] The verification module is used to verify the collision information based on the state information of the virtual object at the collision time, and obtain a verification result. The verification result is used to indicate whether the motion information of the virtual object and the collision position of the virtual object in the collision information are correct.

[0027] In one possible implementation, the device further includes:

[0028] The target latency determination module is used to obtain the network latency between the terminal and the server; obtain the system latency of the server, wherein the system latency is the interval between two consecutive processing of information by the server; and determine the target latency based on the network latency and the system latency.

[0029] In one possible implementation, the target delay determination module is configured to continuously send multiple first data packets to the terminal; receive multiple second data packets returned by the terminal based on the multiple first data packets; for any one of the multiple first data packets, obtain a reference network delay between the first data packet and the corresponding second data packet, wherein the reference network delay is the interval between sending the first data packet and receiving the corresponding second data packet; and perform weighted average filtering on the obtained multiple reference network delays to obtain the network delay between the terminal and the server.

[0030] In one possible implementation, the target delay determination module is used to add half of the network delay to the system delay to obtain the target delay; determining the collision time of the collision event based on the current time and the target delay includes: subtracting the target delay from the current time to obtain the collision time of the collision event.

[0031] In one possible implementation, the state information acquisition module is used to query the state information list based on the collision time to obtain the state information of the virtual object at the collision time, and the state information list is used to store the state information of multiple virtual objects in the virtual scene at different times.

[0032] In one possible implementation, if the virtual object's state information at the collision time is not present in the state information list, the state information acquisition module is configured to acquire the virtual object's first state information at a first time and second state information at a second time from the state information list, wherein the first time is the time before the collision time and the second time is the time after the collision time; and to perform linear interpolation on the first state information and the second state information to obtain the virtual object's state information at the collision time.

[0033] In one possible implementation, the status information acquisition module is further configured to determine the current status information of the virtual object in the virtual scene as the second status information of the virtual object when the second status information does not exist in the status information list.

[0034] In one possible implementation, the verification module is configured to perform at least one of the following:

[0035] Based on the position of the virtual object in the virtual scene, the target starting position and target movement direction of the virtual object in the virtual scene are determined; based on the target starting position and target movement direction, the starting position and starting movement direction of the virtual object carried by the collision information are verified to obtain the trajectory verification result of the collision information;

[0036] The starting position, starting direction of motion, and the position of the object being collided with are obtained from the collision information; the collision information is verified based on the starting position, the starting direction of motion, and the position of the object being collided with to obtain the collision verification result of the collision information;

[0037] The position of the target skeleton of the virtual object in the virtual scene is obtained from the state information. The target skeleton is the skeleton that is collided with by the virtual object. Based on the position of the target skeleton in the virtual scene, the collision position in the collision information is verified to obtain the skeleton verification result of the collision information.

[0038] In one possible implementation, the verification module is configured to obtain a first difference between the target's starting position and the starting position carried by the collision information, and a second difference between the target's motion direction and the starting motion direction carried by the collision information; if the first difference is less than or equal to a starting position threshold and the second difference is less than or equal to a direction threshold, the collision information is determined to have passed trajectory verification; if the first difference is greater than the starting position threshold and the second difference is greater than the direction threshold, the collision information is determined to have failed trajectory verification.

[0039] In one possible implementation, the verification module is configured to determine the motion trajectory of the virtual object based on the starting position and the starting motion direction; if the collision location is within the motion trajectory, determine that the collision information passes the collision verification; if the collision location is not within the motion trajectory, determine that the collision information fails the collision verification.

[0040] In one possible implementation, the verification module is configured to obtain a third difference between the position of the target skeleton in the virtual scene and the collision position; if the third difference is less than or equal to a position threshold, determine that the collision information passes the skeleton verification; if the third difference is greater than the position threshold, determine that the collision information fails the skeleton verification.

[0041] On the one hand, a collision information verification device is provided, the device comprising:

[0042] The collision information generation module is used to generate collision information for a collision event that occurs in a virtual scene. The collision information includes the motion information of the virtual object in the collision event and the position of the virtual object that is collided with.

[0043] The display module is used to display the virtual object in the virtual scene based on the collision information; the upload module is used to upload the collision information to the server so that the server can verify the collision information.

[0044] The display module is used to obtain the verification result sent by the server and continue to display the virtual object in the virtual scene based on the verification result.

[0045] In one possible implementation, the display module is configured to perform any of the following:

[0046] If the verification result indicates that the collision information verification has passed, the virtual object will continue to be displayed in the virtual scene based on the collision information;

[0047] If the verification result indicates that the collision information has failed the verification, the virtual object continues to be displayed in the virtual scene based on the target collision information carried by the collision result.

[0048] On one hand, a computer device is provided, the computer device including one or more processors and one or more memories, the one or more memories storing at least one computer program, the computer program being loaded and executed by the one or more processors to implement the collision information verification method.

[0049] On one hand, a computer-readable storage medium is provided, wherein at least one computer program is stored in the computer-readable storage medium, the computer program being loaded and executed by a processor to implement the collision information verification method.

[0050] On one hand, a computer program product or computer program is provided, which includes program code stored in a computer-readable storage medium. The processor of a computer device reads the program code from the computer-readable storage medium and executes the program code, causing the computer device to perform the aforementioned collision information verification method.

[0051] The technical solution provided in this application allows the server to obtain collision information of a collision event, compensate for the current time using the target delay, and determine the accurate collision time. By determining the state information of the virtual object at the time of the collision based on the collision time, it avoids the server obtaining incorrect state information due to network latency, thus preventing incorrect verification results when verification is performed based on incorrect state information. By using more accurate state information to verify the collision information, a more accurate verification result can be obtained. Attached Figure Description

[0052] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0053] Figure 1 This is a schematic diagram of the implementation environment of a collision information verification method provided in an embodiment of this application;

[0054] Figure 2 This is a flowchart of a collision information verification method provided in an embodiment of this application;

[0055] Figure 3This is a flowchart of another collision information verification method provided in an embodiment of this application;

[0056] Figure 4 This is a flowchart of another collision information verification method provided in the embodiments of this application;

[0057] Figure 5 This is a schematic diagram of a timeline provided in an embodiment of this application;

[0058] Figure 6 This is a schematic diagram of a status information list provided in an embodiment of this application;

[0059] Figure 7 This is a schematic diagram of another timeline provided in an embodiment of this application;

[0060] Figure 8 This is a schematic diagram of a collision information verification process provided in an embodiment of this application;

[0061] Figure 9 This is a flowchart of another collision information verification method provided in the embodiments of this application;

[0062] Figure 10 This is a schematic diagram of a collision information verification system provided in an embodiment of this application;

[0063] Figure 11 This is a schematic diagram of the structure of a collision information verification device provided in an embodiment of this application;

[0064] Figure 12 This is a schematic diagram of the structure of a collision information verification device provided in an embodiment of this application;

[0065] Figure 13 This is a schematic diagram of the structure of a terminal provided in an embodiment of this application;

[0066] Figure 14 This is a schematic diagram of the structure of a server provided in an embodiment of this application. Detailed Implementation

[0067] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0068] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items with essentially the same function. It should be understood that there is no logical or temporal dependency between "first," "second," and "nth," nor are there any restrictions on quantity or execution order.

[0069] Virtual scene: A virtual scene is a scene displayed (or provided) by an application when it runs on a terminal. This virtual scene can be a simulation of the real world, a semi-simulated / semi-fictional virtual environment, or a purely fictional virtual environment. A virtual scene can be any of a two-dimensional, 2.5-dimensional, or three-dimensional virtual scene; this application does not limit the dimension of the virtual scene. For example, a virtual scene may include the sky, land, ocean, etc., and the land may include environmental elements such as deserts and cities. Users can control virtual objects to move within this virtual scene.

[0070] Virtual objects: These are movable objects within a virtual scene. These movable objects can be virtual characters, animals, cartoon characters, etc., such as people, animals, plants, oil drums, walls, and stones displayed in a virtual scene. A virtual object can be a virtual avatar representing the user within that scene. A virtual scene can include multiple virtual objects, each with its own shape and volume, occupying a portion of the virtual scene's space.

[0071] Optionally, the virtual object is a user character controlled through operations on a terminal, or an artificial intelligence (AI) trained and set up for virtual scene battles, or a non-user character (NPC) set up in the virtual scene. Optionally, the virtual object is a virtual character competing in the virtual scene. Optionally, the number of virtual objects participating in the interaction in the virtual scene is preset, or dynamically determined according to the number of terminals joining the interaction.

[0072] Taking shooting games as an example, users can control virtual objects to freely fall, glide, or deploy parachutes in the sky within the virtual scene, run, jump, crawl, and bend forward on land, and swim, float, or dive in the ocean. Users can also control virtual objects to move within the virtual scene using virtual vehicles, such as virtual cars, virtual aircraft, or virtual yachts. These examples are merely illustrations and are not specifically limited in this application. Users can also control virtual objects to interact with other virtual objects through interactive props, such as grenades, cluster grenades, sticky grenades (referred to as "sticky grenades"), or shooting props like machine guns, pistols, and rifles. This application does not specifically limit the type of interactive props.

[0073] Figure 1 This is a schematic diagram illustrating the implementation environment of a collision information verification method provided in this application embodiment. See also... Figure 1 The implementation environment includes: terminal 120 and server 140.

[0074] Terminal 120 has an application installed and running that supports virtual scene display. Optionally, this application can be any of the following: a first-person shooter (FPS) game, a third-person shooter game, a virtual reality application, a 3D map application, or a multiplayer survival game with equipment. Terminal 120 is the terminal used by the player, who uses it to manipulate virtual objects located in the virtual scene. These activities include, but are not limited to, adjusting body posture, crawling, walking, running, riding, jumping, driving, picking up items, shooting, attacking, and throwing at least one of these actions. Illustratively, the virtual objects are virtual characters, such as realistic or anime characters.

[0075] Server 140 is an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms. This application embodiment does not limit the number of servers or the type of equipment. Server 140 provides background services for applications running on terminal 120, such as verifying collision information uploaded by terminal 120. Terminal 120 is connected to server 140 via a wireless network or wired network.

[0076] After introducing the implementation environment of the embodiments of this application, the application scenarios of the embodiments of this application will be described below. In the following description, the terminal is the terminal 120 in the above implementation environment, and the server is the server 140.

[0077] The technical solution provided in this application can be applied to shooting games. In shooting games, the terminal displays a virtual scene, which includes virtual objects. Players can control these virtual objects to interact with other virtual objects using virtual weapons. When a virtual object collides with a virtual object (virtual ammunition) fired from a virtual weapon, it means the virtual object has been hit, and the terminal generates a collision event. The terminal sends the collision information of this event to the server, which verifies the collision information. After obtaining the collision information, the server determines the collision time of the collision event based on the current time and the target delay. This collision time is the time when the virtual object collides with the target object. Based on the collision time, the server determines the state information of the virtual object at that time and completes the verification of the collision information based on this state information. This verification method avoids collision time errors caused by delays and improves the accuracy of collision information verification.

[0078] It should be noted that the above description uses the technical solution provided in the embodiments of this application as an example in a shooting game scenario. In addition, the technical solution provided in the embodiments of this application can also be applied to other types of games, such as MOBA (Multiplayer Online Battle Arena) games to verify collision information generated when virtual skills come into contact with virtual objects, or RTS (Real-Time Strategy Game) games to verify collision information generated when virtual projectiles come into contact with virtual objects.

[0079] After introducing the implementation environment, application scenarios, and virtual scenarios of the embodiments of this application, the collision information verification method provided in the embodiments of this application will be described below, taking a server as the execution subject as an example. See [link to documentation]. Figure 2 The method includes the following steps.

[0080] 201. The server obtains collision information of collision events in the virtual scene. This collision information includes the motion information of the virtual objects in the collision event and the position of the virtual objects that are collided with.

[0081] In this context, a collision event in a virtual scene refers to a collision between a virtual object and another virtual object. Specifically, a collision between the virtual object and the virtual object means that the model of the virtual object collides with the model of the virtual object. In some embodiments, the motion information of the virtual object includes its initial position and initial direction of motion, which determine its trajectory. In some embodiments, the virtual object is a virtual bullet fired by a virtual weapon in a game.

[0082] 202. The server determines the collision time of the collision event based on the current time and the target delay, where the target delay refers to the time difference between the terminal uploading the collision information and the server starting to process the collision information.

[0083] In this context, the terminal is the one displaying the virtual scene, and the collision time refers to the time when the collision event occurs in the virtual scene. In some embodiments, in response to the occurrence of the collision event in the virtual scene, the terminal generates the collision information and uploads it to the server. From this perspective, the target latency refers to the time difference between the occurrence of the collision event in the virtual scene and the start of the server processing the collision information.

[0084] 203. The server obtains the status information of the virtual object at the time of the collision. The status information includes the position and orientation of the virtual object in the virtual scene.

[0085] The state information of the virtual object in the virtual scene is generated by the server. This state information includes the position and orientation of the virtual object in the virtual scene, that is, the state information can represent the pose of the virtual object in the virtual scene.

[0086] 204. Based on the state information of the virtual object at the time of the collision, the server verifies the collision information and obtains the verification result. The verification result is used to indicate whether the motion information of the virtual object and the collision position of the virtual object in the collision information are correct.

[0087] The collision information is uploaded from the terminal to the server. The collision information may be correct or incorrect. The server can verify the collision information based on the correct status information of the virtual object to determine whether the collision information is correct. After the verification result is sent to the terminal, the terminal can continue to display the virtual object based on the verification result.

[0088] The technical solution provided in this application allows the server to obtain collision information of a collision event, compensate for the current time using the target delay, and determine the accurate collision time. By determining the state information of the virtual object at the time of the collision based on the collision time, it avoids the server obtaining incorrect state information due to network latency, thus preventing incorrect verification results when verification is performed based on incorrect state information. By using more accurate state information to verify the collision information, a more accurate verification result can be obtained.

[0089] Steps 201-204 above provide a brief overview of the technical solutions provided in this application from the server's perspective. The following section describes the technical solutions provided in this application from the terminal's perspective. (See also...) Figure 3 The method includes the following steps.

[0090] 301. In the event of a collision in a virtual scene, the terminal generates collision information for the collision event, which includes the motion information of the virtual object in the collision event and the position of the virtual object that was collided with.

[0091] For an explanation of the collision event and collision information, please refer to the relevant description in step 201 above, which will not be repeated here.

[0092] 302. The terminal displays the virtual object in the virtual scene based on the collision information and uploads the collision information to the server so that the server can verify the collision information.

[0093] Specifically, the virtual object is displayed in the virtual scene based on the collision information, that is, the virtual object is displayed in the virtual scene according to the position indicated by the collision information.

[0094] 303. The terminal obtains the verification result sent by the server and continues to display the virtual object in the virtual scene based on the verification result.

[0095] The technical solution provided in this application embodiment can generate collision information when a collision event occurs in a virtual scene. While sending the collision information to the server for verification, the terminal displays virtual objects in the virtual scene based on the collision information. The display process does not need to wait for the server's verification result. Even when the network latency is high, the terminal can maintain the normal display of virtual objects. Adjustments are then made based on the verification result to ensure that the virtual objects are correctly displayed in the virtual scene.

[0096] Steps 201-204 and 301-303 above provide a brief overview of the collision information verification method provided in this application from the perspectives of the server and terminal, respectively. The following will provide a more detailed explanation of the technical solution provided in this application from the perspective of terminal-server interaction, using several examples. (See also...) Figure 4 The method includes the following steps.

[0097] 401. The terminal displays a virtual scene, which includes virtual objects.

[0098] The virtual scene is a game scene from a shooting game, and the virtual object is a terminal-controlled virtual object. Users can control the virtual object to move, use virtual objects, drive virtual vehicles, and perform other activities within the virtual scene. The virtual scene includes multiple virtual objects. In some embodiments, the virtual object holds a virtual object launcher, a game item provided in the shooting game. The virtual object launcher can launch virtual objects into the virtual scene, and these launched virtual objects can attack the virtual objects in the virtual scene. When a virtual object collides with a virtual object in the virtual scene, it means the virtual object has hit the virtual object. The virtual object's posture changes accordingly, and its attribute values ​​decrease. The virtual object's posture refers to its position and orientation within the virtual scene. The amount of decrease in the virtual object's attribute values ​​is related to at least one of the virtual object's type, the location where it was hit, and its equipped virtual armor. When the virtual object's attribute values ​​decrease to a target value, the virtual object is defeated. In some embodiments, this attribute value is referred to as the virtual object's health, and the target value is 0, that is, when the virtual object's health is reduced to 0, the virtual object is defeated.

[0099] In one possible implementation, in response to a user initiating a competitive match, the terminal displays a virtual scene corresponding to that match. This virtual scene includes the virtual object. A competitive match is essentially a shooting game. The virtual scene displayed by the terminal is a part of the virtual scene, and the virtual object is displayed in the center or below the virtual scene. The virtual scene displayed by the terminal moves as the virtual object moves. In some embodiments, the virtual object holds a virtual object launcher. In some embodiments, the virtual scene displayed by the terminal is also referred to as the field of view of the target virtual object. In this case, if other virtual objects enter the field of view of the target virtual object, the terminal can display those other virtual objects.

[0100] The above implementation method is illustrated below with two examples.

[0101] Example 1: In response to a click on the target icon, the terminal launches the target application, which is the icon corresponding to the competitive game application. The terminal loads the relevant resources of the target application and displays its main interface. In response to an operation on this main interface, i.e., starting a competitive game, the terminal loads the rendering resources of the virtual scene and displays the virtual scene corresponding to the competitive game. This virtual scene displays virtual objects and virtual object emitters held by these virtual objects. In this case, the rendering and display of the virtual scene are both performed by the terminal.

[0102] Example 2: In response to a click on a target icon, the terminal sends an application launch request to the application server. The target icon is the icon corresponding to the target application, which is the application for this competitive game. The application launch request carries the identifier of the target application. Upon receiving the application launch request, the application server retrieves the identifier of the target application from the request and launches the target application based on that identifier. The application server continuously pushes the video stream of the target application to the terminal, which displays the video stream. In response to an operation based on the video stream, the terminal sends a competitive game start request to the application server. The application server receives this request, loads the rendering resources of the virtual scene based on the request, and generates the virtual scene corresponding to the competitive game. The application server pushes the video stream corresponding to the competitive game to the terminal, which displays the virtual scene. This virtual scene displays virtual objects and virtual object emitters held by those virtual objects. In this case, the rendering of the virtual scene is performed by the application server, while the display is performed by the terminal. This shooting game is essentially a cloud game. It should be noted that the application server mentioned above is different from the server described below. In cloud gaming, the server described below can be considered as the game server. The application server is used to process the data related to the content displayed on the terminal, while the game server is used to process the game's background data.

[0103] 402. In the event of a collision in a virtual scene, the terminal generates collision information for the collision event, which includes the motion information of the virtual object in the collision event and the position of the virtual object that was collided with.

[0104] In this context, a collision event in a virtual scene refers to a collision between a virtual object and another virtual object. Specifically, a collision between the virtual object's model and the virtual object's model occurs. In some embodiments, the motion information of the virtual object includes its position and direction of motion at the time of the collision. By analyzing the virtual object's position and direction of motion at the time of the collision, its trajectory can be determined. In some embodiments, the virtual object is a virtual bullet fired by a virtual weapon in a game. In some embodiments, the virtual object is also referred to as a projectile.

[0105] In one possible implementation, a collision event is indicated when any virtual object in the virtual scene collides with the virtual object. The terminal determines the motion information of the virtual object based on its historical motion information prior to the collision event and the time difference between that prior time and the moment the collision event occurred. Based on the motion information of the virtual object and its position and orientation at the first moment, the terminal determines the location where the virtual object was collided with.

[0106] Here, "first time" refers to the display time of the first frame, which is the frame preceding the second frame currently displayed on the terminal, and the second frame is the frame displayed on the terminal when the collision event occurred. The historical motion information of the virtual object includes the position and velocity of the virtual object at that first time.

[0107] In this implementation, the terminal can determine the motion information of the virtual object based on its historical motion time and time difference, and determine the virtual object that the virtual object collides with and the position of the virtual object that is collided with it based on the motion information. Subsequently, the terminal can directly display the virtual object based on the collision information determined by the terminal, which is highly efficient.

[0108] For example, when the model of any virtual object in the virtual scene comes into contact with the model of the virtual object, the terminal determines the trajectory of the virtual object based on its historical motion information at the moment immediately preceding the collision. Based on the trajectory of the virtual object and the time difference between the moment immediately preceding the collision and the moment the collision occurs, the terminal determines the motion information of the virtual object, including its position and direction of motion at the time of the collision. Based on the motion information of the virtual object and its position and orientation at that moment immediately preceding the collision, the terminal determines the skeleton corresponding to the position where the virtual object is fitted.

[0109] 403. The terminal displays the virtual object in the virtual scene based on the collision information and uploads the collision information to the server.

[0110] Specifically, the virtual object is displayed in the virtual scene based on the collision information; that is, the virtual object is displayed in the virtual scene according to the position indicated by the collision information. The terminal uploads the collision information to the server as soon as it receives it; in other words, the terminal uploads the collision information to the server as soon as it generates it.

[0111] In one possible implementation, the terminal renders the virtual object in the virtual scene based on the collision information; that is, the terminal determines the user interface, particle effects, and animation presentation based on the collision information. The terminal then sends the collision information to the server.

[0112] In this implementation, the terminal can directly display virtual objects in the virtual scene based on the collision information without waiting for the server to verify the collision information, and the display of the virtual scene is not limited by network latency.

[0113] 404. The server obtains collision information of collision events in the virtual scene.

[0114] In other words, the server obtains the collision information uploaded by the terminal.

[0115] 405. The server determines the target delay, which is the time difference between the terminal uploading the collision information and the server starting to process the collision information.

[0116] The time when the terminal uploads the collision information can be considered as the time when the collision event occurs, and the time when the server starts processing the collision information refers to the time when the server receives the collision information and starts processing it.

[0117] In one possible implementation, the server obtains the network latency between the terminal and the server. The server obtains its own system latency, which is the interval between two consecutive processing sessions. Based on the network latency and the system latency, the server determines the target latency.

[0118] The network latency between the terminal and the server refers to the time difference between the server sending a data packet to the terminal and receiving a response packet from the terminal based on that data packet. The server's system latency refers to the interval between the server processing two messages consecutively. For example, the interval between the server processing two frames is the server's system latency, which is determined by both the server's hardware and software configurations.

[0119] In this implementation, the server can determine the target latency based on both network latency and system latency, resulting in a high degree of accuracy in determining the target latency.

[0120] To provide a clearer explanation of the above embodiments, the following description will be divided into three parts.

[0121] Part 1: The server obtains the network latency between the terminal and the server.

[0122] In one possible implementation, the server continuously sends multiple first data packets to the terminal. The server receives multiple second data packets returned by the terminal based on the multiple first data packets. For any one of the multiple first data packets, the server obtains a reference network delay between the first data packet and the corresponding second data packet, the reference network delay being the interval between sending the first data packet and receiving the corresponding second data packet. The server performs a weighted average filtering on the obtained multiple reference network delays to obtain the network delay between the terminal and the server.

[0123] In this implementation, the server can send multiple first data packets to the terminal, and determine the reference network delays for sending and receiving the corresponding multiple second data packets based on the received multiple second data packets. A weighted average filter is then applied to the multiple reference network delays to obtain the network delay between the terminal and the server. Using weighted average filtering can mitigate the impact of a single erroneous reference network delay on the overall network delay, resulting in a high degree of accuracy in determining the network delay.

[0124] For example, for any one of the multiple first data packets, the server sends the first data packet to the terminal and records the time TO of sending the first data packet. When the terminal receives the first data packet, it immediately sends the corresponding second data packet to the server. The server receives the second data packet and records the time TP of receiving the second data packet. Based on the time TP of receiving the second data packet and the time TO of sending the first data packet, the server determines the reference network delay between sending the first data packet and receiving the second data packet, which is the reference network delay TD = TP - TO. For the multiple reference network delays of the multiple first data packets, the server performs a weighted summation and average of the multiple reference network delays to obtain the network delay between the terminal and the server. For example, the server uses the following formula (1) to perform a weighted summation and average of the multiple reference network delays to obtain the network delay between the terminal and the server.

[0125]

[0126] Where Tn is the network latency between the terminal and the server, i is the index of the reference network latency, TDi is the reference network latency with index i, Pi is the weight of the reference network latency with index i, and K is the number of reference network latencies.

[0127] Part Two: The server obtains the server's system latency, which is the interval between two consecutive messages processed by the server.

[0128] In one possible implementation, the server obtains the system latency from a system configuration file. In some embodiments, the system latency is added to the system configuration file by a technician based on the server's performance, or the system latency is obtained by the server statistically analyzing the system latency over a target time period. For example, the server obtains multiple intervals between consecutively processing two pieces of information within a week and uses the average of these intervals as the system latency. This application does not limit this approach.

[0129] Part Three: The server determines the target latency based on the network latency and the system latency.

[0130] In some embodiments, the target delay is also referred to as the compensation time, which is the time it takes for the server to compensate for the time it takes to receive the collision information.

[0131] In one possible implementation, the server adds half of the network latency to the system latency to obtain the target latency.

[0132] This network latency includes the time it takes for the server to send data packets to the terminal, as well as the time it takes for the terminal to send data packets to the server. However, when the terminal sends the collision information to the server, only the portion of the data packets sent from the terminal to the server is included. Therefore, half of this network latency is the actual network latency for the terminal to send the collision information to the server. For example, see... Figure 5 The time when terminal 501 sends the collision information to server 502 is Tc, the time when server 502 receives the collision information is Tr, and the time when server 502 starts processing the collision information is T. T is the current time. Therefore, Tc to Tr is half of the network delay, Tr to T is the system delay, and Tc to T is the target delay.

[0133] For example, if we denote the network delay as Tn and the system delay as Ts, then the target delay Toffset = Tn / 2 - Ts.

[0134] 406. The server determines the collision time of the collision event based on the current time and the target delay.

[0135] The current time is the time when the server starts processing the collision information, and the target delay is the time difference between when the terminal uploads the collision information and when the server starts processing the collision information. Therefore, the collision time can be deduced from the current time and the target delay, which is the time when the collision event occurred in the virtual scene.

[0136] In one possible implementation, the server subtracts the current time from the target delay to obtain the collision time of the collision event. For example, see... Figure 5Subtracting the current time T from the target delay Toffest yields the collision time Tc of the collision event.

[0137] 407. The server obtains the status information of the virtual object at the time of the collision. The status information includes the position and orientation of the virtual object in the virtual scene.

[0138] The state information of the virtual object in the virtual scene is generated by the server. This state information includes the virtual object's position and orientation within the virtual scene; that is, it represents the virtual object's pose in the virtual scene. If the virtual object includes a skeleton, the state information also includes the position and orientation of the skeleton. In some embodiments, the state information further includes the scaling data of the virtual object and the scaling data of its skeleton.

[0139] In one possible implementation, the server queries the status information list based on the collision time to obtain the status information of the virtual object at the collision time. The status information list is used to store the status information of multiple virtual objects in the virtual scene at different times.

[0140] The status information list is generated by the server, and all status information in this list is added by the server. The status information list uses a first-in, first-out (FIFO) approach to store status information; that is, when the storage capacity of the status information list is reached, the oldest status information added to the list is removed, and the newest status information is added. In some embodiments, each status information list stores the status information of a virtual object at different times. If the virtual object includes skeletons, the status information of the virtual object at any given time includes the virtual object's position, orientation, scaling data, the position of each skeleton, the orientation of each skeleton, and the scaling data of each skeleton. In some embodiments, this status information list is also referred to as a character mirror data queue, and the status information is also referred to as mirror data. For example, see... Figure 6 The state information list 601 includes multiple state information items. Taking state information 602 and state information 603 as examples, state information 602 and state information 603 are two consecutive state information items in time. State information 602 includes object transformation data and object skeleton transformation data. The object transformation data includes the position, orientation, and scaling data of the virtual object at the time corresponding to state information 602. The object skeleton transformation data includes the position, orientation, and scaling data of the virtual object's skeleton at the time corresponding to state information 602.

[0141] The following describes how the server adds status information to this status information list.

[0142] In one possible implementation, the server determines object transformation data and object skeleton transformation data for multiple virtual objects in the virtual scene. The object transformation data includes the position, orientation, and scaling data of the virtual objects, while the object skeleton transformation data includes the position, orientation, and scaling data of the virtual object's bones. Based on this data, the server generates animation data corresponding to the virtual scene. This animation data is used to display the virtual scene; that is, even though the server does not display the virtual scene, it still generates the corresponding animation data for verification purposes, thereby ensuring that the terminal displays the virtual scene correctly. After generating the animation data, the server adds the object transformation data and object skeleton transformation data of the multiple virtual objects to their respective status information lists.

[0143] After introducing the method for the server to add status information to the status information list, the following section explains the method for the server to query the status information list based on the collision time to obtain the status information of the virtual object at the time of the collision.

[0144] In one possible implementation, if the virtual object's state information at the time of the collision is not found in the state information list, the server retrieves the virtual object's first state information at a first time and second state information at a second time from the state information list. The first time is the time before the collision, and the second time is the time after the collision. The server performs linear interpolation on the first and second state information to obtain the virtual object's state information at the time of the collision.

[0145] When the server adds the status information of a virtual object to the status information list, it often adds it at intervals to display its computing power. That is, it adds the status information of the virtual object to the status information list every certain period of time. This may result in the absence of the status information for the collision time in the status information list.

[0146] In this implementation, if the status information for the collision time is not found in the status information list, the server can perform linear interpolation between the two status information before and after the collision time to obtain the status information for the collision time, ensuring that subsequent verification of the collision information can be carried out normally.

[0147] For example, see Figure 7The time when terminal 701 sends the collision information to server 702 is Tc, the time when server 702 receives the collision information is Tr, and the time when server 702 starts processing the collision information is T. The server retrieves the first state information R1 of the virtual object at the first time T1 and the second state information R2 at the second time T2 from the state information list. The server performs linear interpolation on the first state information and the second state information R2 to obtain the state information at the collision time Tc.

[0148] The method described below for the server to linearly interpolate the first state information and the second state information to obtain the state information of the virtual object at the collision time in the above embodiment will be explained.

[0149] In one possible implementation, the server subtracts the second state information from the first state information to obtain a state information difference. The server subtracts the collision time from the first time to obtain a first time difference. The server subtracts the second time from the first time to obtain a second time difference. The server multiplies the state information difference from the first time difference and divides it by the second time difference to obtain state offset information. The server adds the state offset information to the first state information to obtain the state information of the virtual object at the collision time. For example, the server obtains the state information of the virtual object at the collision time based on the first state information and the second state information using the following formula (2).

[0150] Rc=(R2-R1)×(Tc-T1) / (T2-T1)+R1(2)

[0151] Wherein, R1 is the first state information, R2 is the second state information, T1 is the first time, T2 is the second time, Tc is the collision time, R1 is the first state information, Rc is the state information at the collision time, (R2-R1) is the state information difference, (Tc-T1) is the first time difference, and (T2-T1) is the second time difference.

[0152] Optionally, if the second state information does not exist in the state information list, the server determines the current state information of the virtual object in the virtual scene as the second state information of the virtual object.

[0153] In this implementation, the second state information does not exist in the state information list, which means that the state information of the virtual object after the collision time has not been added to the state information list. Then the server determines the current state information of the virtual object in the virtual scene as the second state information, thereby realizing the method of obtaining the state information of the virtual object at the collision time by linear interpolation in the above implementation.

[0154] 408. Based on the state information of the virtual object at the time of the collision, the server verifies the collision information and obtains the verification result. The verification result is used to indicate whether the motion information of the virtual object and the collision position of the virtual object in the collision information are correct.

[0155] In one possible implementation, the server determines the target starting position and target movement direction of the virtual object within the virtual scene based on the virtual object's position in the virtual scene. Based on the target starting position and target movement direction, the server verifies the starting position and starting movement direction of the virtual object carried by the collision information to obtain the trajectory verification result of the collision information.

[0156] For example, based on the virtual object's position in the virtual scene, the server determines the virtual object's target starting position and target movement direction within the virtual scene. The server obtains a first difference between the target starting position and the starting position carried by the collision information, and a second difference between the target movement direction and the starting movement direction carried by the collision information. If the first difference is less than or equal to a starting position threshold, and the second difference is less than or equal to a direction threshold, the server determines that the collision information passes trajectory verification. If the first difference is greater than the starting position threshold, and the second difference is greater than the direction threshold, the server determines that the collision information fails trajectory verification. The starting position threshold and the direction threshold are set by a technician according to actual conditions, and this application embodiment does not limit this. For example, the server obtains a first difference Voffset between the target starting position Vs and the starting position Vc carried by the collision information, and a second difference Roffset between the target movement direction Rs and the starting movement direction Rc carried by the collision information. If the first difference Voffset is less than or equal to the starting position threshold, and the second difference Voffset is less than or equal to the direction threshold, the server determines that the collision information passes the trajectory verification. If the first difference Voffset is greater than the starting position threshold, and the second difference Voffset is greater than the direction threshold, the server determines that the collision information fails the trajectory verification. Specifically, if the collision information fails the trajectory verification, the server can directly determine that the collision information has failed the verification.

[0157] The following describes the method by which the server determines the target starting position and target movement direction of the virtual object in the virtual scene based on the position and orientation of the virtual object in the virtual scene as described in the above embodiments.

[0158] In one possible implementation, the server determines a reference virtual object to interact with the virtual object based on the virtual object's position in the virtual scene. The server obtains reference state information of the reference virtual object at the time of collision. Based on this reference state information, the server determines the position and orientation of a virtual prop held by the reference virtual object, which is used to launch the virtual object. The position and orientation of the virtual prop are also the target starting position and target direction of the virtual object.

[0159] In this implementation, the server can determine the reference virtual object that interacts with the virtual object based on the position of the virtual object in the virtual scene, and determine the position and orientation of the virtual prop held by the reference virtual object as the target starting position and target movement direction of the virtual object. This method of determining from the source has high accuracy.

[0160] For example, based on the location of the collision event and the location of the virtual object within the virtual scene, the server determines a reference virtual object to interact with. The server retrieves the reference virtual object's reference state information at the time of the collision from its state information list. Based on this reference state information, the server determines the position and orientation of the skeleton of the virtual prop held by the reference virtual object; the position and orientation of the virtual prop are also the target starting position and target direction of movement for the virtual object.

[0161] In addition to the verification methods provided in the above embodiments, this application also provides the following two methods for verifying the collision information.

[0162] In one possible implementation, the server obtains the starting position, starting direction of movement, and the position of the object being collided with from the collision information. The server then verifies the collision information based on the starting position, the starting direction of movement, and the position of the object being collided with, to obtain a collision verification result for the collision information.

[0163] In this implementation, the server can verify the starting position, starting direction of movement, and the position of the collision carried by the collision information, determine whether the position of the collision is on the trajectory of the virtual object, and verify the collision information based on the relationship between the position of the collision and the trajectory.

[0164] For example, the server obtains the starting position, starting direction of movement, and the position of the collision from the collision information. Based on the starting position and starting direction of movement, the server determines the trajectory of the virtual object. If the position of the collision is within the trajectory, the server determines that the collision information passes the collision check. If the position of the collision is not within the trajectory, the server determines that the collision information fails the collision check. For example, the server determines whether the position of the collision is within the trajectory using the following formula (3).

[0165] (Hc-Vc)×Rc=0(3)

[0166] Where Hc is the collision location, Vc is the starting position of the virtual object in the collision information, and Rc is the starting direction of the virtual object in the collision information. If the collision location Hc, the starting position Vc of the virtual object, and the starting direction of the virtual object Rc meet the formula (3), it is determined that the collision location is on the motion trajectory, and the collision information passes the collision check. Correspondingly, if the collision location Hc, the starting position Vc of the virtual object, and the starting direction of the virtual object Rc do not meet the formula (3), it is determined that the collision location is not on the motion trajectory, and the collision information fails the collision check.

[0167] In one possible implementation, the server obtains the position of the target skeleton of the virtual object in the virtual scene from the state information. The target skeleton is the skeleton that is collided with by the virtual object. Based on the position of the target skeleton in the virtual scene, the server verifies the collided position in the collision information to obtain the skeleton verification result of the collision information.

[0168] For example, the server obtains the position of the target skeleton of the virtual object in the virtual scene from the state information. The server obtains a third difference between the position of the target skeleton in the virtual scene and the collision location. If the third difference is less than or equal to a position threshold, the server determines that the collision information passes the skeleton verification. If the third difference is greater than the position threshold, the server determines that the collision information fails the skeleton verification. The position threshold is set by an expert based on actual conditions, and this application embodiment does not limit this. For example, the server obtains a third difference VBoffset between the position Vb of the target skeleton in the virtual scene and the collision location Hc in the collision information, where VBoffset = Vb - Hc. If the third difference VBoffset is less than or equal to the position threshold, the server determines that the collision information passes the skeleton verification. If the third difference VBoffset is greater than the position threshold, the server determines that the collision information fails the skeleton verification.

[0169] The three implementation methods described above correspond to trajectory verification, collision verification, and skeleton verification, respectively. In some embodiments, the server simultaneously employs all three verification methods to verify the collision information. See [link to relevant documentation]. Figure 8 The collision information is verified in three stages. The first stage is trajectory verification, which can also be called ballistic verification when the virtual object is a virtual bullet. The second stage is collision verification, which is used to determine whether the collision point 801 (collision position) is on the trajectory 802 of the virtual object. The third stage is skeleton verification, which is used to determine whether the collision point 801 is on the target skeleton 803 that was hit.

[0170] It should be noted that the server can verify the collision information using at least one of the above methods. If the collision information is verified using multiple of the above methods, and the result of any of the above methods indicates that the collision information has failed the verification, the server determines that the collision information has failed the verification.

[0171] 409. The server sends the verification result to the terminal.

[0172] 410. The terminal obtains the verification result sent by the server and continues to display the virtual object in the virtual scene based on the verification result.

[0173] In one possible implementation, if the verification result indicates that the collision information verification has passed, the terminal continues to display the virtual object in the virtual scene based on the collision information.

[0174] In this implementation, if the verification result indicates that the collision information passes the verification, the terminal does not need to change the display method of the virtual object in the virtual scene; it can continue to display the virtual object according to the collision information. Since the terminal displays the virtual object in the virtual scene at the same time as receiving the collision information, it can still display the virtual object normally even with high network latency. The user is unaware of the verification process, thus improving the user's gaming experience.

[0175] In one possible implementation, if the verification result indicates that the collision information has failed the verification, the terminal continues to display the virtual object in the virtual scene based on the target collision information carried by the collision result.

[0176] In cases where the verification result indicates that the collision information has failed the verification, the verification result carries target collision information, which is collision information generated by the server.

[0177] In this implementation, if the collision information fails the verification, it means that the collision information is incorrect. The terminal can display the virtual object in the virtual scene based on the target collision information carried by the verification result to correct the display method of the virtual object.

[0178] For example, if the verification result indicates that the collision information has failed the verification, the terminal stops displaying the virtual object according to the collision information and displays the virtual object in the virtual scene according to the target collision information obtained from the collision information. That is, the terminal determines the presentation of the user interface, particle effects and animation according to the target collision information.

[0179] The following will combine Figure 9 For an explanation of steps 401-410 above, please refer to [link / reference]. Figure 9 The terminal initiates a competitive match, i.e., joins the game. The server receives the terminal's entry information and caches the state information of virtual objects in the game. The terminal displays a virtual scene based on the user's actions, simulating the movement and collision of virtual objects within that scene. When a collision event occurs in the virtual scene, the terminal generates collision information and displays the virtual object based on this information, thus providing feedback on the collision result. Simultaneously, the terminal sends this collision information to the server. The server performs time compensation based on the current time and target delay to obtain the collision time. The server obtains the state information of the virtual object at the collision time and performs trajectory verification, collision verification, and skeleton verification based on this information. The server sends the verification results to the terminal. The terminal receives the verification results. If the verification result indicates that the collision information passes verification, the terminal executes a pass feedback, i.e., continues to display the virtual object according to the collision information; if the verification result indicates that the collision information fails verification, the terminal executes a failure feedback, i.e., displays the virtual object according to the target collision information carried in the verification result.

[0180] All of the above-mentioned optional technical solutions can be combined in any way to form the optional embodiments of this application, and will not be described in detail here.

[0181] The technical solution provided in this application allows the server to determine the accurate collision time by compensating the current time with the target delay after obtaining collision information. Based on the collision time, the server determines the state information of the virtual object at the time of the collision, avoiding errors in state information obtained by the server due to network latency. This prevents incorrect verification results when based on erroneous state information, thus enabling collision information verification based on this state information. For the terminal, after obtaining the collision information, it can directly display the virtual object in the virtual scene without waiting for the server's verification result. Even with high network latency, the terminal can maintain the normal display of the virtual object, and subsequent adjustments can be made based on the verification result to ensure the virtual object is correctly displayed in the virtual scene. This ensures smooth display of the virtual object even with high network latency, improving the user's gaming experience.

[0182] In addition to the methods described above, this application also provides a collision information verification system, see [link to relevant documentation]. Figure 10 The system 1000 includes a terminal 1001 and a server 1002.

[0183] The terminal 1001 is used to generate collision information for a collision event that occurs in a virtual scene. The collision information includes the motion information of the virtual object in the collision event and the position of the virtual object that is collided with.

[0184] The terminal 1001 is also used to display the virtual object in the virtual scene based on the collision information, and to upload the collision information to the server 1002.

[0185] The server 1002 is used to obtain the collision information and determine the collision time of the collision event based on the current time and the target delay. The target delay refers to the time difference between when the terminal 1001 uploads the collision information and when the server 1002 starts processing the collision information.

[0186] The server 1002 is also used to verify the collision information based on the state information of the virtual object at the time of the collision, and obtain a verification result. The verification result is used to indicate whether the motion information of the virtual object and the collision position of the virtual object in the collision information are correct.

[0187] The server 1002 is also used to send the verification result to the terminal 1001.

[0188] The terminal 1001 is also used to obtain the verification result and continue to display the virtual object in the virtual scene based on the verification result.

[0189] It should be noted that the process of the terminal 1001 and the server 1002 performing the corresponding steps is described in detail in steps 401-410 above. The implementation process is described in the relevant descriptions of steps 401-410 above, and will not be repeated here.

[0190] The technical solution provided in this application allows the server to determine the accurate collision time by compensating the current time with the target delay after obtaining collision information. Based on the collision time, the server determines the state information of the virtual object at the time of the collision, avoiding errors in state information due to network latency and thus preventing incorrect verification results. This avoids network latency preventing the server from obtaining accurate state information, leading to more accurate verification results. For the terminal, after obtaining the collision information, it can directly display the virtual object in the virtual scene without waiting for the server's verification result. Even with high network latency, the terminal can maintain the normal display of the virtual object, and subsequent adjustments can be made based on the verification result to ensure the virtual object is correctly displayed in the virtual scene. This smooth display of virtual objects even with high network latency improves the user's gaming experience.

[0191] Figure 11 This is a schematic diagram of the structure of a collision information verification device provided in an embodiment of this application. See also... Figure 11 The device includes: a collision information acquisition module 1101, a collision time determination module 1102, a status information acquisition module 1103, and a verification module 1104.

[0192] The collision information acquisition module 1101 is used to acquire collision information of collision events in a virtual scene. The collision information includes the motion information of the virtual object in the collision event and the collision position of the virtual object.

[0193] The collision time determination module 1102 is used to determine the collision time of the collision event based on the current time and the target delay, where the target delay refers to the time difference between the terminal uploading the collision information and the server starting to process the collision information.

[0194] The status information acquisition module 1103 is used to acquire the status information of the virtual object at the collision time. The status information includes the position and orientation of the virtual object in the virtual scene.

[0195] The verification module 1104 is used to verify the collision information based on the state information of the virtual object at the collision time and obtain the verification result. The verification result is used to indicate whether the motion information of the virtual object and the collision position of the virtual object in the collision information are correct.

[0196] In one possible implementation, the device further includes:

[0197] The target latency determination module is used to obtain the network latency between the terminal and the server. It also obtains the server's system latency, which is the interval between two consecutive processing sessions of information by the server. Based on the network latency and the system latency, the target latency is determined.

[0198] In one possible implementation, the target delay determination module is configured to continuously send multiple first data packets to the terminal. It also receives multiple second data packets returned by the terminal based on the multiple first data packets. For any one of the multiple first data packets, a reference network delay is obtained between the first data packet and the corresponding second data packet, where the reference network delay is the interval between sending the first data packet and receiving the corresponding second data packet. A weighted average filter is applied to the obtained multiple reference network delays to obtain the network delay between the terminal and the server.

[0199] In one possible implementation, the target delay determination module is used to add half of the network delay to the system delay to obtain the target delay. Determining the collision time of the collision event based on the current time and the target delay includes subtracting the target delay from the current time to obtain the collision time of the collision event.

[0200] In one possible implementation, the state information acquisition module 1103 is used to query the state information list based on the collision time to obtain the state information of the virtual object at the collision time. The state information list is used to store the state information of multiple virtual objects in the virtual scene at different times.

[0201] In one possible implementation, if the virtual object's state information at the collision time is not found in the state information list, the state information acquisition module 1103 is used to acquire the virtual object's first state information at a first time and second state information at a second time from the state information list. The first time is the time before the collision time, and the second time is the time after the collision time. Linear interpolation is then performed on the first state information and the second state information to obtain the virtual object's state information at the collision time.

[0202] In one possible implementation, the status information acquisition module 1103 is further configured to determine the current status information of the virtual object in the virtual scene as the second status information of the virtual object when the second status information does not exist in the status information list.

[0203] In one possible implementation, the verification module 1104 is configured to perform at least one of the following:

[0204] Based on the virtual object's position in the virtual scene, the target's initial position and target movement direction are determined. Based on this target's initial position and target movement direction, the initial position and initial movement direction of the virtual object carried by the collision information are verified to obtain the trajectory verification result of the collision information.

[0205] The initial position, initial direction of motion, and the position of the object being collided with are obtained from the collision information. The collision information is then validated based on the initial position, initial direction of motion, and the position of the object being collided with, yielding the collision validation result.

[0206] The position of the target skeleton of the virtual object in the virtual scene is obtained from the state information. This target skeleton is the skeleton that is collided with by the virtual object. Based on the position of the target skeleton in the virtual scene, the collision location in the collision information is verified to obtain the skeleton verification result of the collision information.

[0207] In one possible implementation, the verification module 1104 is configured to acquire a first difference between the target's starting position and the starting position carried by the collision information, and a second difference between the target's motion direction and the starting motion direction carried by the collision information. If the first difference is less than or equal to a starting position threshold and the second difference is less than or equal to a direction threshold, the collision information is determined to have passed trajectory verification. If the first difference is greater than the starting position threshold and the second difference is greater than the direction threshold, the collision information is determined to have failed trajectory verification.

[0208] In one possible implementation, the verification module 1104 is used to determine the motion trajectory of the virtual object based on the starting position and the starting direction of motion. If the collision location is within the motion trajectory, the collision information is determined to have passed the collision verification. If the collision location is not within the motion trajectory, the collision information is determined to have failed the collision verification.

[0209] In one possible implementation, the verification module 1104 is used to obtain a third difference between the position of the target skeleton in the virtual scene and the collision location. If the third difference is less than or equal to a position threshold, the collision information is determined to pass the skeleton verification. If the third difference is greater than the position threshold, the collision information is determined to fail the skeleton verification.

[0210] It should be noted that the collision information verification device provided in the above embodiments is only illustrated by the division of the above functional modules when verifying collision information. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the computer device can be divided into different functional modules to complete all or part of the functions described above. In addition, the collision information verification device and the collision information verification method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.

[0211] The technical solution provided in this application allows the server to obtain collision information of a collision event, compensate for the current time using the target delay, and determine the accurate collision time. By determining the state information of the virtual object at the time of the collision based on the collision time, it avoids the server obtaining incorrect state information due to network latency, thus preventing incorrect verification results when verification is performed based on incorrect state information. By using more accurate state information to verify the collision information, a more accurate verification result can be obtained.

[0212] Figure 12 This is a schematic diagram of the structure of a collision information verification device provided in an embodiment of this application. See also... Figure 12 The device includes: a collision information generation module 1201, a display module 1202, and an upload module 1203.

[0213] The collision information generation module 1201 is used to generate collision information for a collision event that occurs in a virtual scene. The collision information includes the motion information of the virtual object in the collision event and the position of the virtual object that is collided with.

[0214] Display module 1202 is used to display the virtual object in the virtual scene based on the collision information. Upload module 1203 is used to upload the collision information to the server so that the server can verify the collision information.

[0215] The display module 1202 is used to obtain the verification result sent by the server and continue to display the virtual object in the virtual scene based on the verification result.

[0216] In one possible implementation, the display module 1202 is configured to perform any of the following:

[0217] If the verification result indicates that the collision information has passed the verification, the virtual object will continue to be displayed in the virtual scene based on the collision information.

[0218] If the verification result indicates that the collision information has failed the verification, the virtual object will continue to be displayed in the virtual scene based on the target collision information carried by the collision result.

[0219] It should be noted that the collision information verification device provided in the above embodiments is only illustrated by the division of the above functional modules when verifying collision information. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the computer device can be divided into different functional modules to complete all or part of the functions described above. In addition, the collision information verification device and the collision information verification method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.

[0220] The technical solution provided in this application embodiment can generate collision information when a collision event occurs in a virtual scene. While sending the collision information to the server for verification, the terminal displays virtual objects in the virtual scene based on the collision information. The display process does not need to wait for the server's verification result. Even when the network latency is high, the terminal can maintain the normal display of virtual objects. Adjustments are then made based on the verification result to ensure that the virtual objects are correctly displayed in the virtual scene.

[0221] This application provides a computer device for performing the above-described method. This computer device can be implemented as a terminal or a server. The structure of the terminal will be described below:

[0222] Figure 13 This is a schematic diagram of the structure of a terminal provided in an embodiment of this application. The terminal 1300 can be a smartphone, tablet computer, laptop computer, or desktop computer. The terminal 1300 may also be referred to as user equipment, portable terminal, laptop terminal, desktop terminal, or other names.

[0223] Typically, terminal 1300 includes one or more processors 1301 and one or more memories 1302.

[0224] Processor 1301 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 1301 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1301 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 1301 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 1301 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.

[0225] The memory 1302 may include one or more computer-readable storage media, which may be non-transitory. The memory 1302 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 1302 are used to store at least one computer program, which is executed by the processor 1301 to implement the collision information verification method provided in the method embodiments of this application.

[0226] In some embodiments, the terminal 1300 may also optionally include a peripheral device interface 1303 and at least one peripheral device. The processor 1301, memory 1302, and peripheral device interface 1303 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 1303 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 1304, a display screen 1305, a camera assembly 1306, an audio circuit 1307, and a power supply 1308.

[0227] Peripheral device interface 1303 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 1301 and memory 1302. In some embodiments, processor 1301, memory 1302 and peripheral device interface 1303 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 1301, memory 1302 and peripheral device interface 1303 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.

[0228] The radio frequency (RF) circuit 1304 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 1304 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 1304 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 1304 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc.

[0229] Display screen 1305 is used to display a user interface (UI). This UI may include graphics, text, icons, video, and any combination thereof. When display screen 1305 is a touch display screen, it also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to processor 1301 for processing. In this case, display screen 1305 can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard.

[0230] The camera assembly 1306 is used to capture images or videos. Optionally, the camera assembly 1306 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is located on the front panel of the terminal, and the rear-facing camera is located on the back of the terminal.

[0231] The audio circuit 1307 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, and convert the sound waves into electrical signals that are input to the processor 1301 for processing, or input to the radio frequency circuit 1304 to realize voice communication.

[0232] Power supply 1308 is used to supply power to the various components in terminal 1300. Power supply 1308 can be AC ​​power, DC power, a disposable battery, or a rechargeable battery.

[0233] In some embodiments, the terminal 1300 further includes one or more sensors 1309. The one or more sensors 1309 include, but are not limited to: an acceleration sensor 1310, a gyroscope sensor 1311, a pressure sensor 1312, an optical sensor 1313, and a proximity sensor 1314.

[0234] Accelerometer 1310 can detect the magnitude of acceleration on the three coordinate axes of a coordinate system established with terminal 1300.

[0235] The gyroscope sensor 1311 can detect the orientation and rotation angle of the terminal 1300. The gyroscope sensor 1311 can work in conjunction with the accelerometer sensor 1310 to collect the user's 3D movements on the terminal 1300.

[0236] The pressure sensor 1312 can be installed on the side bezel of the terminal 1300 and / or on the lower layer of the display screen 1305. When the pressure sensor 1312 is installed on the side bezel of the terminal 1300, it can detect the user's grip signal on the terminal 1300, and the processor 1301 can perform left / right hand recognition or quick operation based on the grip signal collected by the pressure sensor 1312. When the pressure sensor 1312 is installed on the lower layer of the display screen 1305, the processor 1301 can control the operable controls on the UI interface based on the user's pressure operation on the display screen 1305.

[0237] The optical sensor 1313 is used to collect ambient light intensity. In one embodiment, the processor 1301 can control the display brightness of the display screen 1305 based on the ambient light intensity collected by the optical sensor 1313.

[0238] The proximity sensor 1314 is used to acquire the distance between the user and the front of the terminal 1300.

[0239] Those skilled in the art will understand that Figure 13 The structure shown does not constitute a limitation on terminal 1300 and may include more or fewer components than shown, or combine certain components, or use different component arrangements.

[0240] The aforementioned computer equipment can also be implemented as a server. The structure of a server is described below:

[0241] Figure 14This is a schematic diagram of a server structure provided in an embodiment of this application. The server 1400 can vary significantly due to different configurations or performance. It may include one or more Central Processing Units (CPUs) 1401 and one or more memories 1402. The one or more memories 1402 store at least one computer program, which is loaded and executed by the one or more processors 1401 to implement the methods provided in the various method embodiments described above. Of course, the server 1400 may also have wired or wireless network interfaces, a keyboard, and input / output interfaces for input and output. The server 1400 may also include other components for implementing device functions, which will not be elaborated upon here.

[0242] In an exemplary embodiment, a computer-readable storage medium is also provided, such as a memory including a computer program that can be executed by a processor to perform the collision information verification method in the above embodiments. For example, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, and optical data storage device, etc.

[0243] In an exemplary embodiment, a computer program product or computer program is also provided, which includes program code stored in a computer-readable storage medium. The processor of a computer device reads the program code from the computer-readable storage medium and executes the program code, causing the computer device to perform the above-described collision information verification method.

[0244] In some embodiments, the computer program involved in the present application embodiments may be deployed and executed on a computer device, or executed on multiple computer devices located in one location, or executed on multiple computer devices distributed in multiple locations and interconnected through a communication network. Multiple computer devices distributed in multiple locations and interconnected through a communication network may constitute a blockchain system.

[0245] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0246] The above are merely optional embodiments of this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method of checking collision information, characterized by, The method, executed by the server, includes: Obtain collision information of collision events in a virtual scene, wherein the collision information includes the motion information of the virtual object in the collision event and the position of the virtual object being collided with; Based on the current time and the target delay, the collision time of the collision event is determined, where the target delay refers to the time difference between the terminal uploading the collision information and the server starting to process the collision information; Obtain the state information of the virtual object at the collision time, the state information including the position and orientation of the virtual object in the virtual scene; Based on the state information of the virtual object at the collision time, the collision information is verified to obtain a verification result. The verification result is used to indicate whether the motion information of the virtual object and the collision position of the virtual object in the collision information are correct. Wherein, the step of verifying the collision information based on the state information of the virtual object, and obtaining the verification result includes at least one of the following: Based on the position of the virtual object in the virtual scene, the target starting position and target movement direction of the virtual object in the virtual scene are determined; based on the target starting position and target movement direction, the starting position and starting movement direction of the virtual object carried by the collision information are verified to obtain the trajectory verification result of the collision information; The starting position, starting direction of motion, and the position of the object being collided with are obtained from the collision information; the collision information is verified based on the starting position, the starting direction of motion, and the position of the object being collided with to obtain the collision verification result of the collision information; The position of the target skeleton of the virtual object in the virtual scene is obtained from the state information, wherein the target skeleton is the skeleton that is collided with by the virtual object; a third difference is obtained between the position of the target skeleton in the virtual scene and the collision position; if the third difference is less than or equal to the position threshold, the collision information is determined to pass the skeleton verification; if the third difference is greater than the position threshold, the collision information is determined to fail the skeleton verification.

2. The method of claim 1, wherein, Before determining the collision time of the collision event based on the current time and the target delay, the method further includes: Obtain the network latency between the terminal and the server; The system latency of the server is obtained, where the system latency is the interval between two consecutive processing of information by the server. The target latency is determined based on the network latency and the system latency.

3. The method of claim 2, wherein, The step of obtaining the network latency between the terminal and the server includes: Multiple first data packets are continuously sent to the terminal; Receive multiple second data packets returned by the terminal based on the multiple first data packets; For any one of the plurality of first data packets, obtain the reference network delay between the first data packet and the corresponding second data packet, wherein the reference network delay is the interval between sending the first data packet and receiving the corresponding second data packet; The network latency between the terminal and the server is obtained by performing a weighted average filter on the multiple reference network latency results.

4. The method of claim 3, wherein, Determining the target latency based on the network latency and the system latency includes: The target delay is obtained by adding half of the network delay to the system delay; Determining the collision time of the collision event based on the current time and the target delay includes: The collision time of the collision event is obtained by subtracting the current time from the target delay.

5. The method of claim 1, wherein, The process of obtaining the state information of the virtual object at the collision time includes: Based on the collision time, a query is performed in the status information list to obtain the status information of the virtual object at the collision time. The status information list is used to store the status information of multiple virtual objects in the virtual scene at different times.

6. The method of claim 5, wherein, If the virtual object's status information at the collision time is not found in the status information list, obtaining the virtual object's status information at the collision time includes: The first state information of the virtual object at a first time and the second state information at a second time are obtained from the state information list. The first time is the time before the collision time and the second time is the time after the collision time. Linear interpolation is performed on the first state information and the second state information to obtain the state information of the virtual object at the collision time.

7. The method of claim 6, wherein, The method further includes: If the second state information does not exist in the state information list, the current state information of the virtual object in the virtual scene is determined as the second state information of the virtual object.

8. The method of claim 1, wherein, The step of verifying the starting position and starting direction of the virtual object carried by the collision information based on the target's starting position and the target's direction of motion, to obtain the trajectory verification result of the collision information, includes: Obtain a first difference between the target's starting position and the starting position carried by the collision information, and a second difference between the target's direction of motion and the starting direction of motion carried by the collision information; If the first difference is less than or equal to the starting position threshold and the second difference is less than or equal to the direction threshold, the collision information is determined to have passed the trajectory verification. If the first difference is greater than the starting position threshold and the second difference is greater than the direction threshold, it is determined that the collision information has failed the trajectory verification.

9. The method of claim 1, wherein, The step of verifying the collision information based on the starting position, the starting direction of motion, and the position being collided with, to obtain a collision verification result for the collision information, includes: Based on the starting position and the starting direction of movement, the motion trajectory of the virtual object is determined; If the collision location is within the motion trajectory, the collision information is determined to pass the collision check. If the collision location is not within the motion trajectory, it is determined that the collision information has failed the collision verification.

10. A method for verifying collision information, characterized in that, The method, executed by a terminal, includes: In the event of a collision in a virtual scene, collision information of the collision event is generated, which includes the motion information of the virtual object in the collision event and the position of the virtual object that is collided with. The virtual object is displayed in the virtual scene based on the collision information, and the collision information is uploaded to the server so that the server can verify the collision information; Obtain the verification result sent by the server using the method described in any one of claims 1-9, and continue to display the virtual object in the virtual scene based on the verification result.

11. The method of claim 10, wherein, The step of continuing to display the virtual object in the virtual scene based on the verification result includes any of the following: If the verification result indicates that the collision information verification has passed, the virtual object will continue to be displayed in the virtual scene based on the collision information; If the verification result indicates that the collision information has failed the verification, the virtual object continues to be displayed in the virtual scene based on the target collision information carried by the collision result.

12. A collision information checking system characterized by comprising: The system includes a terminal and a server; The terminal is used to generate collision information for a collision event that occurs in a virtual scene. The collision information includes the motion information of the virtual object in the collision event and the position of the virtual object that is collided with. The terminal is also used to display the virtual object in the virtual scene based on the collision information, and to upload the collision information to the server; The server is used to obtain the collision information and determine the collision time of the collision event based on the current time and the target delay. The target delay refers to the time difference between when the terminal uploads the collision information and when the server starts processing the collision information. The server is also used to verify the collision information based on the state information of the virtual object at the collision time, and obtain a verification result. The verification result is used to indicate whether the motion information of the virtual object and the collision position of the virtual object in the collision information are correct. The server is also used to send the verification result to the terminal; The terminal is also used to obtain the verification result and continue to display the virtual object in the virtual scene based on the verification result; Wherein, the step of verifying the collision information based on the state information of the virtual object at the collision time, and obtaining the verification result includes at least one of the following: Based on the position of the virtual object in the virtual scene, the target starting position and target movement direction of the virtual object in the virtual scene are determined; based on the target starting position and target movement direction, the starting position and starting movement direction of the virtual object carried by the collision information are verified to obtain the trajectory verification result of the collision information; The starting position, starting direction of motion, and the position of the object being collided with are obtained from the collision information; the collision information is verified based on the starting position, the starting direction of motion, and the position of the object being collided with to obtain the collision verification result of the collision information; The position of the target skeleton of the virtual object in the virtual scene is obtained from the state information, wherein the target skeleton is the skeleton that is collided with by the virtual object; a third difference is obtained between the position of the target skeleton in the virtual scene and the collision position; if the third difference is less than or equal to the position threshold, the collision information is determined to pass the skeleton verification; if the third difference is greater than the position threshold, the collision information is determined to fail the skeleton verification.

13. A collision information checking device characterized by comprising: The device includes: The collision information acquisition module is used to acquire collision information of collision events in a virtual scene. The collision information includes the motion information of the virtual object in the collision event and the position of the virtual object being collided with. The collision time determination module is used to determine the collision time of the collision event based on the current time and the target delay, wherein the target delay refers to the time difference between the terminal uploading the collision information and the server starting to process the collision information; A status information acquisition module is used to acquire the status information of the virtual object at the collision time, the status information including the position and orientation of the virtual object in the virtual scene; The verification module is used to verify the collision information based on the state information of the virtual object at the collision time, and obtain a verification result. The verification result is used to indicate whether the motion information of the virtual object and the collision position of the virtual object in the collision information are correct. Wherein, the step of verifying the collision information based on the state information of the virtual object, and obtaining the verification result includes at least one of the following: Based on the position of the virtual object in the virtual scene, the target starting position and target movement direction of the virtual object in the virtual scene are determined; based on the target starting position and target movement direction, the starting position and starting movement direction of the virtual object carried by the collision information are verified to obtain the trajectory verification result of the collision information; The starting position, starting direction of motion, and the position of the object being collided with are obtained from the collision information; the collision information is verified based on the starting position, the starting direction of motion, and the position of the object being collided with to obtain the collision verification result of the collision information; The position of the target skeleton of the virtual object in the virtual scene is obtained from the state information, wherein the target skeleton is the skeleton that is collided with by the virtual object; a third difference is obtained between the position of the target skeleton in the virtual scene and the collision position; if the third difference is less than or equal to the position threshold, the collision information is determined to pass the skeleton verification; if the third difference is greater than the position threshold, the collision information is determined to fail the skeleton verification.

14. The apparatus of claim 13, wherein, The device further includes: The target latency determination module is used to obtain the network latency between the terminal and the server; obtain the system latency of the server, wherein the system latency is the interval between two consecutive processing of information by the server; and determine the target latency based on the network latency and the system latency.

15. The apparatus of claim 14, wherein, The target delay determination module is used for: Multiple first data packets are continuously sent to the terminal; Receive multiple second data packets returned by the terminal based on the multiple first data packets; For any one of the plurality of first data packets, obtain the reference network delay between the first data packet and the corresponding second data packet, wherein the reference network delay is the interval between sending the first data packet and receiving the corresponding second data packet; The network latency between the terminal and the server is obtained by performing a weighted average filter on the multiple reference network latency results.

16. The apparatus of claim 15, wherein, The target delay determination module is used for: The target delay is obtained by adding half of the network delay to the system delay; Determining the collision time of the collision event based on the current time and the target delay includes: The collision time of the collision event is obtained by subtracting the current time from the target delay.

17. The apparatus of claim 13, wherein, The status information acquisition module is used for: Based on the collision time, a query is performed in the status information list to obtain the status information of the virtual object at the collision time. The status information list is used to store the status information of multiple virtual objects in the virtual scene at different times.

18. The apparatus of claim 17, wherein, If the virtual object's status information is not present in the status information list at the collision time, the status information acquisition module is configured to: The first state information of the virtual object at a first time and the second state information at a second time are obtained from the state information list. The first time is the time before the collision time and the second time is the time after the collision time. Linear interpolation is performed on the first state information and the second state information to obtain the state information of the virtual object at the collision time.

19. The apparatus of claim 18, wherein, The status information acquisition module is also used for: If the second state information does not exist in the state information list, the current state information of the virtual object in the virtual scene is determined as the second state information of the virtual object.

20. The apparatus of claim 13, wherein, The verification module is used for: Obtain a first difference between the target's starting position and the starting position carried by the collision information, and a second difference between the target's direction of motion and the starting direction of motion carried by the collision information; If the first difference is less than or equal to the starting position threshold and the second difference is less than or equal to the direction threshold, the collision information is determined to have passed the trajectory verification. If the first difference is greater than the starting position threshold and the second difference is greater than the direction threshold, it is determined that the collision information has failed the trajectory verification.

21. The apparatus of claim 13, wherein, The verification module is used for: Based on the starting position and the starting direction of movement, the motion trajectory of the virtual object is determined; If the collision location is within the motion trajectory, the collision information is determined to pass the collision check. If the collision location is not within the motion trajectory, it is determined that the collision information has failed the collision verification.

22. A collision information checking device characterized by comprising: The device includes: The collision information generation module is used to generate collision information for a collision event that occurs in a virtual scene. The collision information includes the motion information of the virtual object in the collision event and the position of the virtual object that is collided with. The display module is used to display the virtual object in the virtual scene based on the collision information; the upload module is used to upload the collision information to the server so that the server can verify the collision information. The display module is used to obtain the verification result sent by the server through any one of claims 1-9, and to continue displaying the virtual object in the virtual scene based on the verification result.

23. The apparatus of claim 22, wherein, The display module is configured to perform any of the following: If the verification result indicates that the collision information verification has passed, the virtual object will continue to be displayed in the virtual scene based on the collision information; If the verification result indicates that the collision information has failed the verification, the virtual object continues to be displayed in the virtual scene based on the target collision information carried by the collision result.

24. A computer device, comprising: The computer device includes one or more processors and one or more memories, wherein at least one computer program is stored in the one or more memories, and the computer program is loaded and executed by the one or more processors to implement the collision information verification method as described in any one of claims 1 to 11.

25. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one computer program, which is loaded and executed by a processor to implement the collision information verification method as described in any one of claims 1 to 11.

26. A computer program product comprising a computer program, characterised in that, When executed by a processor, the computer program implements the collision information verification method according to any one of claims 1 to 11.