A virtual object rendering method and related apparatus

CN122537779APending Publication Date: 2026-08-11TENCENT TECH SHANGHAI
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-11
Publication Date
2026-08-11

AI Technical Summary

Technical Problem

[0003]当虚拟游戏场景中的虚拟对象在这类地面结构上移动时,会基于物理引擎的碰撞计算,来确定虚拟对象应该出现的移动状态,这就会导致虚拟对象在这类地面结构上出现频繁上下颠簸的视觉感受,这不仅会消耗大量的渲染资源,而且用户的观看体验也会大大降低

Benefits of technology

[0022] As can be seen from the above technical solution, in order to improve the rendering effect of virtual objects without modifying the engine's processing logic, virtual objects are separated from the representation of the virtual game scene into colliders and visual objects. The collider is used for physics engine logic processing of virtual objects in the virtual game scene, while the visual object is the mesh that displays the virtual object in the virtual game scene. Since the visual shaking of virtual objects when moving mainly comes from the direction perpendicular to the ground of the virtual game scene, when processing the i-th rendering frame of the virtual game scene, physical contact points can be detected based on N shape points on the surface of the collider towards the ground. These physical contact points are ground structures that can support virtual objects in the virtual game scene. When the number of detected physical contact points reaches M that can determine a plane, the corresponding first virtual plane and the projection point of the virtual object on the first virtual plane are determined. Since different physical contact points may correspond to different ground structures, and the first virtual plane is equivalent to a plane resting on different ground structures, the vertical height difference between different ground structures is largely eliminated. When virtual objects move, the collider continues to be used for physics engine logic processing of the ground structure, while the visual object's horizontal position remains the same as the collider, ensuring the correct horizontal position of the virtual object during movement. The virtual plane determines that the visual object's vertical position relative to the collider changes less significantly. Since each rendering frame uses the virtual plane as the rendering basis for the visual object, the visual object is smoothly rendered on the virtual plane of each consecutive rendering frame. This substantially reduces the vertical jitter of the visual object, allowing virtual objects to move more smoothly in the virtual game scene, effectively improving the utilization efficiency of rendering resources and enhancing the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122537779A_ABST
    Figure CN122537779A_ABST
Patent Text Reader

Abstract

This application discloses a virtual object rendering method. When processing the i-th rendering frame of a virtual game scene, physical contact points can be detected based on N shape points on the surface of the collider towards the ground. When the number of detected physical contact points reaches M enough to determine a plane, the corresponding first virtual plane and the projection point of the virtual object on that first virtual plane are determined. Since different physical contact points correspond to different ground structures, and the first virtual plane is equivalent to a plane placed on different ground structures, the vertical height difference between different ground structures is largely eliminated. The visual object is smoothly rendered on the virtual plane of each rendering frame in consecutive rendering frames, substantially reducing the vertical jitter of the visual object. This allows the virtual object to move more smoothly in the virtual game scene, effectively improving the utilization efficiency of rendering resources and enhancing the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing, and in particular to a virtual object rendering method and related apparatus. Background Technology

[0002] In virtual game scenes, many different types of ground structures are set up to make them more realistic or detailed, such as potholes and gravel on roads, and stairs in buildings, so that the virtual game scene is more in line with the actual situation in the real world.

[0003] When virtual objects in a virtual game scene move on such ground structures, the collision calculations of the physics engine determine the movement state that the virtual objects should exhibit. This results in the virtual objects appearing to bounce up and down frequently on such ground structures, which not only consumes a lot of rendering resources but also greatly reduces the user's viewing experience.

[0004] Related technologies can modify or rewrite the engine logic to make virtual objects move more smoothly on such ground structures. However, this method involves a huge amount of work, and many physics engines do not allow rewriting permissions. Summary of the Invention

[0005] To address the aforementioned technical issues, this application provides a virtual object rendering method and related apparatus, enabling virtual objects to move more smoothly in virtual game scenes, effectively improving the utilization efficiency of rendering resources, and enhancing the user experience.

[0006] The embodiments of this application disclose the following technical solutions:

[0007] On one hand, embodiments of this application provide a virtual object rendering method, the method comprising:

[0008] Determine the collider of the virtual object in the i-th rendering frame of the virtual game scene. The collider of the virtual object is used to perform physics engine logic processing on the virtual object in the virtual game scene.

[0009] Physical contact points are detected based on N shape points on the surface of the collider towards the ground of the virtual game scene;

[0010] In response to the detection of corresponding physical contact points by M shape points, the first virtual plane in which the virtual object is located in the i-th rendering frame is determined based on the physical contact points of the M shape points. <M<N;

[0011] Based on the projection point of the virtual object on the first virtual plane, the visual body of the virtual object is smoothly rendered from the rendering position of the (i-1)th rendering frame to the projection point. The visual body is a mesh used to display the virtual object in the virtual game scene. The visual body and the collider are at the same horizontal position in the virtual game scene.

[0012] On the other hand, embodiments of this application provide a virtual object rendering apparatus, the apparatus comprising a determining unit, a detecting unit, and a rendering unit:

[0013] The determining unit is used to determine the collider of the virtual object in the i-th rendering frame of the virtual game scene. The collider of the virtual object is used to perform physics engine logic processing on the virtual object in the virtual game scene.

[0014] The detection unit is used to detect physical contact points based on N shape points on the surface of the collider towards the ground of the virtual game scene.

[0015] The determining unit is further configured to, in response to the detection of corresponding physical contact points by M shape points, determine the first virtual plane in the i-th rendering frame where the virtual object is located based on the physical contact points of the M shape points. <M<N;

[0016] The rendering unit is configured to smoothly render the visual body of the virtual object from the rendering position of the (i-1)th rendering frame to the projection point based on the projection point of the virtual object on the first virtual plane. The visual body is a mesh used to display the virtual object in the virtual game scene, and the horizontal position of the visual body and the collider is the same in the virtual game scene.

[0017] On the other hand, embodiments of this application provide a computer device, the computer device including a processor and a memory:

[0018] The memory is used to store computer programs;

[0019] The processor is configured to execute the methods described above according to the computer program.

[0020] On the other hand, embodiments of this application provide a computer-readable storage medium for storing a computer program that, when executed by a computer device, implements the methods described above.

[0021] On the other hand, embodiments of this application provide a computer program product including a computer program, which, when run on a computer device, causes the computer device to perform the methods described above.

[0022] As can be seen from the above technical solution, in order to improve the rendering effect of virtual objects without modifying the engine's processing logic, virtual objects are separated from the representation of the virtual game scene into colliders and visual objects. The collider is used for physics engine logic processing of virtual objects in the virtual game scene, while the visual object is the mesh that displays the virtual object in the virtual game scene. Since the visual shaking of virtual objects when moving mainly comes from the direction perpendicular to the ground of the virtual game scene, when processing the i-th rendering frame of the virtual game scene, physical contact points can be detected based on N shape points on the surface of the collider towards the ground. These physical contact points are ground structures that can support virtual objects in the virtual game scene. When the number of detected physical contact points reaches M that can determine a plane, the corresponding first virtual plane and the projection point of the virtual object on the first virtual plane are determined. Since different physical contact points may correspond to different ground structures, and the first virtual plane is equivalent to a plane resting on different ground structures, the vertical height difference between different ground structures is largely eliminated. When virtual objects move, the collider continues to be used for physics engine logic processing of the ground structure, while the visual object's horizontal position remains the same as the collider, ensuring the correct horizontal position of the virtual object during movement. The virtual plane determines that the visual object's vertical position relative to the collider changes less significantly. Since each rendering frame uses the virtual plane as the rendering basis for the visual object, the visual object is smoothly rendered on the virtual plane of each consecutive rendering frame. This substantially reduces the vertical jitter of the visual object, allowing virtual objects to move more smoothly in the virtual game scene, effectively improving the utilization efficiency of rendering resources and enhancing the user experience. Attached Figure Description

[0023] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the 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.

[0024] Figure 1 A schematic diagram of a virtual object rendering scene provided in an embodiment of this application;

[0025] Figure 2 A flowchart illustrating a virtual object rendering method provided in this application embodiment;

[0026] Figure 3A schematic diagram of a collider, visual object, shape point, and physical contact point of a virtual object provided in an embodiment of this application;

[0027] Figure 4 A comparison diagram of vertical differences of visual objects during the movement of a virtual object, provided as an embodiment of this application;

[0028] Figure 5 This is a schematic diagram illustrating the distribution of shape points on the surface of a collider, as provided in an embodiment of this application.

[0029] Figure 6 A schematic diagram illustrating the determination of the normal direction of a first virtual plane based on physical contact points, provided in an embodiment of this application;

[0030] Figure 7 A comparison diagram of the vertical differences of visual objects during the movement of another virtual object provided in this application embodiment;

[0031] Figure 8 This application provides a schematic diagram illustrating the determination of the position points of a first virtual plane according to an embodiment of the present application.

[0032] Figure 9 This application provides a schematic diagram of a second virtual plane update based on a mobile platform.

[0033] Figure 10 A schematic diagram illustrating the vertical difference between a colliding body and a visual body in a ground-moving state, provided as an embodiment of this application;

[0034] Figure 11 This application provides a schematic diagram illustrating the vertical difference between a colliding body and a visual body in a non-ground-moving state.

[0035] Figure 12 A flowchart illustrating another virtual object rendering method provided in this application embodiment;

[0036] Figure 13 A device structure diagram of a virtual object rendering apparatus provided in an embodiment of this application;

[0037] Figure 14 A structural diagram of a terminal device provided in an embodiment of this application;

[0038] Figure 15 This is a structural diagram of a server provided in an embodiment of this application. Detailed Implementation

[0039] The embodiments of this application will now be described with reference to the accompanying drawings.

[0040] When the ground structure of a virtual game scene is uneven, if the rendering of virtual objects moving on it is based directly on the physical collision results, the virtual objects will frequently exhibit up-and-down bouncing effects during movement, which not only consumes a lot of rendering resources but also seriously affects the user experience.

[0041] While techniques for rewriting engine logic can solve this rendering problem, the technical barrier to writing engine logic is very high, and not all engines provide the permission to write it.

[0042] Therefore, this application provides a virtual object rendering method, which enables virtual objects to move more smoothly in virtual game scenes, effectively improving the utilization efficiency of rendering resources and enhancing the user experience.

[0043] The virtual object rendering method provided in this application can be implemented using a computer device, which can be a terminal device or a server. The server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. Terminal devices include, but are not limited to, mobile phones, computers, smart voice interaction devices, smart home appliances, vehicle terminals, aircraft, and extended reality (XR) devices. Terminal devices and servers can be directly or indirectly connected via wired or wireless communication, which is not limited herein. The virtual game scenes mentioned in this application can relate to scenarios involving virtual humans, digital humans, games, and extended reality.

[0044] Figure 1 This is a schematic diagram of a virtual object rendering scene provided in an embodiment of this application. In this embodiment, terminal device 100 is used as an example of the aforementioned computer device for illustration.

[0045] Figure 1 The left image in the middle represents the (i-1)th rendering frame, and the right image represents the ith rendering frame. To improve the rendering effect of virtual objects without modifying the engine's processing logic, virtual objects are separated from the representation of the virtual game scene into colliders and visual objects. The collider is used for physics engine logic processing of virtual objects within the virtual game scene, while the visual object is the mesh that displays the virtual object within the virtual game scene. Figure 1 For ease of explanation, the colliders, shape points, and corresponding physical contact points of the virtual objects are not shown; only the visual object is shown. For details on the relationship between the visual object and the collider, and between the shape point and the physical contact point, please refer to subsequent sections. Figure 3 Explanation.

[0046] Since the visual shaking of virtual objects when they move mainly comes from the direction perpendicular to the ground of the virtual game scene, when processing the i-th rendering frame of the virtual game scene, physical contact points can be detected based on N shape points on the surface of the collider towards the ground. These physical contact points are ground structures that can support virtual objects in the virtual game scene. When the number of detected physical contact points reaches M that can determine the plane, the corresponding first virtual plane and the projection point of the virtual object on the first virtual plane are determined.

[0047] Since different physical contact points may correspond to different ground structures, and the first virtual plane is essentially a plane placed on different ground structures, it largely eliminates the vertical height difference between different ground structures. When the virtual object moves, the collider is still used normally for physics engine logic processing of the ground structure, while the view object's horizontal position remains the same as the collider, ensuring the correct horizontal position of the virtual object when moving. The change in the view object's vertical position relative to the collider is smaller when determined by the virtual plane. It can be seen that by determining the view object's projection point through the first virtual plane, the vertical difference of the view object across rendering frames is significantly smaller than the vertical difference of the ground structure.

[0048] Since each rendering frame uses a virtual plane as the basis for rendering the visual object, the visual object is rendered smoothly on the virtual plane of each rendering frame in successive rendering frames. This substantially reduces the vertical jitter of the visual object, allowing virtual objects to move more smoothly in the virtual game scene, effectively improving the utilization efficiency of rendering resources and enhancing the user experience.

[0049] Figure 2 This application provides a flowchart of a virtual object rendering method, which can be executed by a computer device. In this embodiment, the computer device is described as a terminal device. The method includes:

[0050] S201: Determine the collider of the virtual object in the i-th rendering frame of the virtual game scene.

[0051] When a player starts the game through a terminal device, the terminal device will display the virtual game scene corresponding to the game based on the game program. The virtual game scene contains virtual objects, which can be player objects that are controlled by the player, or non-player objects that the player cannot directly control.

[0052] Since virtual game scenes are sequential, terminal devices display them using consecutive rendered frames. The i-th rendered frame is the currently processed frame that needs to be displayed, and the (i-1)-th rendered frame can be the frame that was just displayed.

[0053] To improve rendering efficiency, the i-th and (i-1)-th rendering frames do not necessarily have to be adjacent rendering frames in the actual rendering process. For example, many game applications have a frame rate of 60 frames per second in their virtual game scenes. Assuming that the first rendering frame of the second is the first frame and the last rendering frame is the 60th frame, when the i-th rendering frame is the 10th frame of the second, the (i-1)-th rendering frame may not be the 9th frame of the second, but may be the 10th frame of the previous second.

[0054] Therefore, in the embodiments of this application, the rendering frames used to determine the virtual plane can be image frames obtained by uniformly sampling frames. For example, in the previous example, the i-th rendering frame and the (i-1)-th rendering frame are image frames obtained by sampling frames at intervals of 60 frames.

[0055] To better smooth the vertical movement of virtual objects in a virtual game scene, this application separates virtual objects from the representation of the virtual game scene into colliders and visual objects. The collider is used for physics engine logic processing of virtual objects in the virtual game scene, while the visual object is the mesh that displays the virtual object in the virtual game scene.

[0056] In other words, this application does not modify the processing logic of the physics engine. Virtual objects still have colliders for physics engine logic processing, and these colliders are used to process virtual objects within the virtual game scene. However, this application separates the display function of virtual objects from the colliders, and uses another independent visual object to display virtual objects in the virtual game scene. The visual object of the virtual object is a mesh used to display the virtual object in the virtual game scene.

[0057] The terminal device can determine the horizontal position of a virtual object in the virtual game scene based on the physics engine and the physics engine logic processing results of the collider. The visual object shares its horizontal position with the collider; that is, the visual object and the collider have the same horizontal position, allowing the terminal device to display the visual object at a location consistent with the physical collision results. However, to reduce frequent vertical jitter of the virtual object, the vertical position of the visual object is not synchronized with the collider, but is obtained through a virtual plane determined in subsequent steps.

[0058] The horizontal and vertical directions mentioned here are determined based on the ground of the virtual game scene. The ground of the virtual game scene is the ground structure that supports virtual objects, and its definition is similar to that of the real world, generally located below the virtual game scene. In some possible virtual game scenes, the direction of gravity may change. In this case, the ground in the virtual game scene will change accordingly, which will not be elaborated here.

[0059] When the virtual object is a player-controlled object, a virtual camera simulates the player's eyes, capturing portions of the virtual game scene as the game view displayed to the player. The virtual camera, positioned within the virtual game scene, is not visible in the scene itself. Its position is related to the player object's position. For example, in first-person view, the virtual camera might be positioned at the player object's head level, with its viewpoint matching the player's. In third-person view, the virtual camera is typically positioned diagonally upwards and behind the player object at a 45-degree angle, with its viewpoint matching the player's, but it may not be.

[0060] In this application, the player object is functionally divided into a collider and a view object. Since the collider is mainly used for physics engine logic processing of virtual objects in the virtual game scene, its position most accurately reflects the actual position of the player object in the virtual game scene. Therefore, under normal circumstances, the virtual camera is related to the position of the player object's collider, and will capture the corresponding game screen by following the movement of the collider. Generally, the player object will be located in the center of the game screen.

[0061] Although the collider and the visual object implement different functions of the virtual object, they both serve the same virtual object. Therefore, the shape of the collider can be determined based on the mesh corresponding to the visual object. In one possible implementation, the collider of the virtual object can be the outer solid geometry of the mesh, such as the shape of a capsule.

[0062] like Figure 3 The illustration shows a humanoid virtual object in a virtual game scene. The visual body and collider of the virtual object are shown. In this illustration, the collider is exemplarily a capsule shape (shown by the bold lines in the figure), which can be called a capsule body.

[0063] S202: Detect physical contact points based on N shape points on the surface of the collider towards the ground of the virtual game scene.

[0064] In order to determine the correct vertical position of the visual object, it is first necessary to determine the ground structure on which the current virtual object is located, so as to accurately determine the virtual plane for this rendering frame.

[0065] Since virtual objects are placed perpendicular to the ground in the virtual game scene, in order to determine the ground structure where the virtual object is currently located, physical contact points can be detected from N shape points on the surface of the collider towards the ground (that is, the vertical direction).

[0066] Since the shape points are all located on the surface of the collider, they are equivalent to marking the outline of the collider. By detecting the physical contact points in the direction of the ground through these shape points, we can gain a more comprehensive understanding of the ground structure where the virtual object is currently located.

[0067] The physical contact points detected by shape point detection are points that can physically collide with virtual objects, that is, points on the ground structure that can support virtual objects. Since the ground structure used to support virtual objects has a mesh, the physical contact points are also feature points on the ground structure mesh.

[0068] The shape and type of ground structure can be related to the worldview involved in the virtual game scene, or it can be set by humans. This application does not limit this. For a typical virtual game scene, ground structure can include various types of ground, objects with actual grids on the ground (such as gravel, roadblocks, pits, etc.), stair steps, various static platforms (such as walkways, shelves, etc.), and movable platforms (such as elevator platforms, elevator ground, vehicle ground, etc.).

[0069] When a physical contact point is detected through a shape point, the horizontal position of the physical contact point should be the same as the horizontal position of the shape point, based on the detection direction.

[0070] like Figure 3 As shown, the dashed line represents the detection ray used for physical contact point detection. The starting point of the ray is the shape point, and the ending point is the circle. Figure 3 As can be seen from the physical contact points in the scene shown, the ground structure where the virtual object is located is flat.

[0071] S203: In response to the detection of corresponding physical contact points by M shape points, determine the first virtual plane in which the virtual object is located in the i-th rendering frame based on the physical contact points of the M shape points.

[0072] If a physical contact point can be detected from a shape point toward the ground of the virtual game scene, then the virtual game scene is determined to have a ground structure in the ground direction of that shape point. The physical contact point is the first shape point on the ground structure detected from the shape point toward the ground, and this shape point can be a shape point on the mesh of the ground structure.

[0073] The detected physical contact points can reveal the ground structure supporting virtual objects in the virtual game scene at the i-th rendering frame. However, one or fewer than M physical contact points cannot fully represent the approximate overall shape of the ground structure, making it difficult to construct a virtual plane suitable for the current ground structure. An inappropriate virtual plane will lead to inaccurate determination of the vertical position of the visual object in the vertical direction, thus affecting the rendering effect. Moreover, when the number of detected physical contact points is small, it is also difficult to accurately determine the first virtual plane.

[0074] Therefore, the value of M is greater than 1 and less than N. The specific value can be preset or dynamically adjusted based on experience. For example, the value of M can be 3.

[0075] By using M physical contact points, the general outline of the ground structure beneath the current virtual object can be fully represented. Based on these M physical contact points, a virtual plane, namely the first virtual plane, is determined. The first virtual plane is essentially a plane placed on the ground structure marked by these M physical contact points, thereby effectively smoothing out the original height difference and complexity of the ground structure. This serves as the basis for determining the vertical position of the visual object, effectively reducing the up-and-down jolting of the virtual object during movement.

[0076] The timing for determining the first virtual plane can be either when the Mth physical contact point is detected, or when the M physical contact points are selected from the detected physical detection points after all N shape points have been detected. This application does not limit this to either.

[0077] Figure 4 This illustrates the differences between related technologies and this application when a virtual object moves within a virtual game scene and faces the same ground structure. For ease of illustration, Figure 4 The use of a two-dimensional format is not intended to limit the application scenarios of this application.

[0078] in, Figure 4 Part a illustrates the vertical differences in the vertical direction when a virtual object moves, as described in related technologies. Figure 4 Part b illustrates an embodiment of this application where, by splitting the virtual object into a collider and a visual object, and employing a virtual plane, the vertical differences caused by the ground structure are mitigated. It can be seen that when the virtual object moves on an identical ground structure, Figure 4 In part b, the vertical difference produced by the visual volume of the virtual object is significantly smaller than that of the virtual object. Figure 4 The vertical differences generated by virtual objects in part a.

[0079] S204: Based on the projection point of the virtual object on the first virtual plane, smoothly render the visual volume of the virtual object from the rendering position of the (i-1)th rendering frame to the projection point.

[0080] The projection point is the projection of the virtual object onto the first virtual plane in the vertical direction, used to locate the position of the virtual object's visual form on the first virtual plane. Since the horizontal position of the virtual object can be obtained through collision objects, the projection point can be accurately obtained when the horizontal position and vertical direction are determined.

[0081] After determining the projection point of the virtual object in the i-th rendering frame, the virtual object can be smoothly rendered from its rendering position in the (i-1)-th rendering frame to that projection point, thus achieving a positional change of the virtual object's visual form from the (i-1)-th rendering frame to the i-th rendering frame. The smooth rendering mentioned here can be understood as using rendering to smoothly move the visual form from its rendering position in the (i-1)-th rendering frame (equivalent to the projection point of the virtual object on the second virtual plane in the (i-1)-th rendering frame) to the projection point in the i-th rendering frame.

[0082] The smoothing speed of smooth rendering can be preset or dynamically adjusted based on the actual scene. One possible implementation is to use spring-damped smoothing, in which the smoothing speed can be controlled by adjusting the value of the spring damping coefficient. For example, the lower the value of the spring damping coefficient, the faster the smoothing speed, meaning that the visual experience of the virtual object is smoothly rendered onto the projection point of the first virtual plane at a faster speed.

[0083] Therefore, to improve the rendering effect of virtual objects without modifying the engine's processing logic, virtual objects are separated from the representation of the virtual game scene into colliders and visual objects. The collider is used for physics engine logic processing of virtual objects within the virtual game scene, while the visual object is the mesh that displays the virtual object. Since the visual swaying of virtual objects during movement mainly originates from the direction perpendicular to the ground of the virtual game scene, during the processing of the i-th rendering frame of the virtual game scene, physical contact points can be detected based on N shape points on the surface of the collider towards the ground. These physical contact points are ground structures that can support the virtual object in the virtual game scene. When the number of detected physical contact points reaches M enough to define a plane, the corresponding first virtual plane and the projection point of the virtual object on that first virtual plane are determined. Since different physical contact points may correspond to different ground structures, and the first virtual plane is essentially a plane resting on different ground structures, the vertical height difference between different ground structures is largely eliminated. When virtual objects move, the collider continues to be used for physics engine logic processing of the ground structure, while the visual object's horizontal position remains the same as the collider, ensuring the correct horizontal position of the virtual object during movement. The virtual plane determines that the visual object's vertical position relative to the collider changes less significantly. Since each rendering frame uses the virtual plane as the rendering basis for the visual object, the visual object is smoothly rendered on the virtual plane of each consecutive rendering frame. This substantially reduces the vertical jitter of the visual object, allowing virtual objects to move more smoothly in the virtual game scene, effectively improving the utilization efficiency of rendering resources and enhancing the user experience.

[0084] As described above, the terminal device can detect the physical contact points of the ground using N shape points on the surface of the colliding object, thereby determining the current ground structure of the virtual object. Since the virtual plane can be determined based on the physical contact points detected by M shape points, in order to improve the efficiency of determining the virtual plane and reduce the computational load in this stage, this application proposes a multi-round shape point detection method.

[0085] In one possible implementation, S202: Detecting physical contact points based on N shape points on the surface of the collider towards the ground of the virtual game scene, including:

[0086] S2021: Divide the N shape points into P shape point groups, each shape point group including at least M shape points;

[0087] S022: When the number of physical contact points determined based on the first j-1 shape point groups does not reach M, physical contact point detection is performed based on the j-th shape point group towards the ground direction of the virtual game scene. <j≤P;

[0088] S2023: When the number of physical contact points determined based on the first j-1 shape point groups reaches M, the operation of determining the first virtual plane where the virtual object is located in the i-th rendering frame based on the physical contact points of the M shape points is performed.

[0089] When dividing shape points into groups based on N shape points, the number of shape point groups depends on the relationship between N and M. Moreover, in order to improve efficiency, shape points in different shape point groups are generally not repeated, that is, a shape point will only be assigned to one shape point group. Therefore, the value of P is less than the ratio of M to N. For example, when N is 20 and M is 3, the maximum value of P is 6.

[0090] In one possible implementation, P can be 2, which means dividing the N shape points into two shape point groups.

[0091] Since a shape point group contains at least M shape points, if each shape point in the first shape point group has a corresponding physical contact point detected, the goal of determining the first virtual plane can be achieved. In this way, the subsequent P-1 shape point groups do not need to perform physical contact point detection, which substantially reduces the amount of computation required for physical contact points.

[0092] For example, when the number of shape points N is 10, and the shape points are divided into two groups of 10, when the number of physical contact points determined in the first group of 10 shape points reaches M=3, the physical contact point detection of the 10 shape points in the second group of 10 shape points is not required.

[0093] When the number of shape point groups P is greater than 2, the detected physical contact points can be accumulated across shape point groups when detecting physical contact points sequentially on a shape point group basis. For example, when M=3, if the current two shape point groups have detected a total of 2 physical contact points, the third shape point group only needs to detect 1 more physical contact point to complete the generation of the first virtual plane based on the 2 physical contact points detected in the previous two groups and the 1 physical contact point detected in the current group.

[0094] In some application scenarios, stopping the detection of physical contact points can even be applied to shape point groups. For example, if M physical contact points have been identified before all shape points in a shape point group have completed the detection of physical contact points, the detection of shape points in that shape point group that have not completed the detection of physical contact points can be stopped directly, and the detection of shape points that have not started physical contact point detection can be stopped.

[0095] Figure 5 This diagram illustrates a possible distribution of shape points on the surface of a collider. When the collider is a capsule, from a top-down perspective, eight shape points are shown. Using the virtual object's perspective as a reference, these are, in a counter-clockwise direction, the front shape point (F), left front shape point (LF), left shape point (L), left rear shape point (LB), rear shape point (B), right rear shape point (RB), right shape point (R), and right front shape point (RF). The distance between each shape point and the center point of the virtual object is the radius of the capsule's horizontal cross-section.

[0096] When grouping shape points Figure 5 The situation shown can be exemplarily divided into two groups of shape points. The first group of shape points includes four shape points: front shape point (F), left shape point (L), rear shape point (B), and right shape point (R). The second group of shape points includes four shape points: left front shape point (LF), left rear shape point (LB), right rear shape point (RB), and right front shape point (RF).

[0097] Therefore, it can be seen that dividing the shape points into P groups for physical contact point detection can effectively reduce the amount of computation required to determine the physical contact points and substantially shorten the time required to determine the first virtual plane.

[0098] As mentioned earlier, the detected physical contact points can identify the current ground structure of the virtual object, thereby determining the first virtual plane. In order to more accurately determine the orientation of the first virtual plane in the virtual game scene, the normal direction of the first virtual plane can be determined based on the identified physical contact points. This normal direction can accurately reflect the orientation of the first virtual plane in the virtual game scene.

[0099] To conveniently determine the direction of the normal, it can be based on the vector product between the physical contact points of M shape points. The direction indicated by the vector product is directly related to the direction and position of the vector used for the vector product calculation. To avoid the situation where the direction indicated by the vector product points towards the ground, requiring additional processing to correctly determine the first virtual plane, one possible implementation is as follows:

[0100] During the detection of physical contact points based on each shape point group, the physical contact points of the shape points in the shape point group are detected sequentially in a counterclockwise direction towards the ground.

[0101] Accordingly, S203: Determining the first virtual plane where the virtual object is located in the i-th rendering frame based on the physical contact points of the M shape points includes:

[0102] Based on the order in which the physical contact points of the M shape points are detected, the vector product between the physical contact points is determined as the normal direction of the first virtual plane;

[0103] The first virtual plane in which the virtual object is located in the i-th rendering frame is determined based on the normal direction.

[0104] By detecting physical contact points of shape points in a counter-clockwise order, and taking the first detected shape point as the starting point, the geometric shape formed by the shape points of a group of shape points is viewed from the direction facing the ground. In the left part of the geometric shape, the first detected physical contact point is above the later detected physical contact point, and in the right part of the geometric shape, the first detected physical contact point is below the later detected physical contact point.

[0105] The contact point vectors between the physical contact points are determined according to this order, and their directions all point to the first determined physical contact point. Thus, when calculating the vector product to determine the normal direction, the normal direction is always away from the ground.

[0106] Figure 6 What is shown is Figure 5 The following is a schematic diagram of the physical contact points in three dimensions. Figure 6 In the process, the terminal device first detects the physical contact points of the first shape point group in a counter-clockwise order. The first detected shape point is the front shape point (F), followed by the left shape point (L), the rear shape point (B), and the right shape point (R). Figure 6 In the example, only the front shape point (F) and the left shape point (L) in the first shape point group detected physical contact points; the other two shape points did not. Next, the terminal device will continue to detect physical contact points in the second shape point group in a counter-clockwise direction. The first shape point detected in the second shape point group, the left front shape point (LF), did not detect a physical contact point. When the second shape point in the second shape point group, the left rear shape point (LB), was detected, a physical contact point was found.

[0107] Assuming M is set to 3, when the number of detected physical contact points reaches M, the detection of subsequent shape points in the second shape point group that have not yet undergone physical contact point detection, namely the right rear shape point (RB) and the right front shape point (RF), can be stopped. Then, based on the order in which the physical contact points of these three shape points are detected, the vector product between these three physical contact points is determined as the normal direction of the first virtual plane.

[0108] exist Figure 6In this scenario, the vectors between two physical contact points are first determined: the vector from the second detected physical contact point to the first detected physical contact point, and the vector from the third detected physical contact point to the first detected physical contact point.

[0109] That is, vector a, pointing from the physical contact point of the left shape point (L) to the physical contact point of the front shape point (F), and vector b, pointing from the physical contact point of the left rear shape point (LB) to the physical contact point of the front shape point (F). Then, the vector product of vector a and vector b is calculated to determine the... Figure 6 The direction shown is the normal direction of the first virtual plane.

[0110] Therefore, it can be seen that by setting a specific detection sequence when detecting physical contact points, the correct normal direction can be determined directly and quickly, which not only simplifies the calculation but also improves the efficiency of determining the first virtual plane.

[0111] When detecting physical contact points through shape points, ray detection is generally used. This is equivalent to shooting a ray from the shape point in the direction of the ground (or vertical direction) and the first feature point on the ground structure grid that the ray touches is the physical contact point.

[0112] Since virtual objects include player objects controlled by the player, these virtual objects may appear in various locations within the virtual game scene under the player's control. Some of these locations may be far from the ground structure, such as when a virtual object is launched into the air or falls from a height. In such cases, even if the first virtual plane is determined based on the physical contact point, it is impossible to render the visual object on this first virtual plane that is very far away from the virtual object. This would lead to a severe anomaly in the vertical position difference between the collider and the visual object in the vertical direction.

[0113] In addition, when a virtual object is moved to the edge of a ground structure, the virtual object may be partially suspended. For example, if a virtual object is moved to the edge of a cliff, there may be no ground structure below half of the virtual object in the vertical direction. In this case, if the detection length is not limited when detecting physical contact points, some physical contact points may be on the cliff and some may be at the bottom of the cliff. The first virtual plane determined in this way may be an excessively tilted plane and differ too much from the actual ground structure supporting the virtual object.

[0114] Therefore, in one possible implementation, S202: Detecting physical contact points based on N shape points on the surface of the collider towards the ground of the virtual game scene, including:

[0115] Based on N shape points on the surface of the collider, physical contact points within a detection length range are detected towards the ground of the virtual game scene.

[0116] The detection length range can be preset or adjusted based on different virtual games. By introducing a detection length range, the farthest detected physical contact point will only be the maximum distance from the corresponding shape point within that detection length range, thus avoiding rendering the visual object in an unreasonable position.

[0117] For example, if the detection length range is the maximum movement unit (which may correspond to different lengths depending on the settings of the virtual game scene), when the terminal device detects physical contact points based on N shape points, it will only detect the farthest movement unit from the shape point toward the ground. If no physical contact point is detected within this distance, it will be determined that no physical contact point has been detected for that shape point.

[0118] By introducing the detection length range, the vertical positional difference between the visual object and the collider is effectively limited, thus preventing the visual object from being displayed in an unreasonable position when displaying virtual game scenes.

[0119] In some game applications, virtual objects have the function of simulating human climbing. That is, when controlling the movement of virtual objects, if there are obstacles in the direction of movement that are higher than the current ground structure, such as low walls, fences, boxes, etc., if the vertical height difference between these obstacles and the current ground structure is within the climbing ability of the virtual object in the game application, the virtual object will perform a climbing action to move to the top of the obstacle or climb over the obstacle.

[0120] Specifically, in game applications, the maximum climbable height is used to quantify the climbing ability of virtual objects.

[0121] Therefore, when limiting the detection of physical contact points based on the detection length range, in one possible implementation, the detection length range is the maximum climbable height allowed for the virtual object in the virtual game scene; that is, this maximum climbable height can be used as the detection length range. In this case, the vertical position difference between the collider and the visual object is limited to the maximum difference being this maximum climbable height. Thus, from a visual perspective, even if the position of the visual object differs from the position of the collider in the vertical direction, the maximum difference still conforms to the virtual object's posture climbing ability in the virtual game scene. This ensures that, while minimizing vertical turbulence, the rendered position of the visual object is within the player's reasonable understanding of the virtual object's capabilities in the virtual game scene.

[0122] To achieve the aforementioned effects and accuracy, the starting position for physical contact point detection can be further defined. Generally, since the first virtual plane is used to render the visual object, the visual object is rendered upwards (in the opposite direction to the ground) from the first virtual plane. That is, the projection point in the first virtual plane is the position of the visual object closest to the ground. When the visual object is a human object, the projection point is the position of the foot of the visual object.

[0123] Therefore, in order to define the vertical positional difference between the colliding object and the visual object, the starting position for detecting the physical contact point is the side of the colliding object closest to the ground.

[0124] While the first virtual plane reduces the height difference of the original ground structure, the M physical contact points are detected based on shape points. Since shape points are points on the surface of the colliding object and their shapes differ from the virtual object or visual object, the first virtual plane's height (relative to the ground) may differ from the actual height of the virtual object (relative to the ground). This could result in the rendered visual object appearing to float above the ground structure, which may not be suitable for some high-precision rendering applications.

[0125] Therefore, in one possible implementation, in S203, determining the first virtual plane where the virtual object is located in the i-th rendering frame based on the physical contact points of the M shape points includes:

[0126] S2031: Determine the normal direction of the first virtual plane based on the physical contact points of the M shape points;

[0127] S2032: Based on the center point of the virtual object, detect the physical contact point towards the ground to obtain the position point of the first virtual plane;

[0128] S2033: Determine the first virtual plane in which the virtual object is located in the i-th rendering frame by using the normal direction and the position point.

[0129] In this embodiment, the physical contact points detected based on shape points can more comprehensively identify the ground structure of the current virtual object, such as the trend of height difference. If a virtual plane is used to represent the ground structure as a whole, the normal direction determined based on the physical contact points can identify the orientation angle of the virtual plane, i.e., the first virtual plane.

[0130] To solve the aforementioned floating problem in rendering, it is necessary to determine the actual position of the virtual object on the ground structure. The center point of the virtual object can most accurately reflect its actual position. Therefore, using the center point, a physical contact point is determined as the position point of the first virtual plane by the aforementioned physical contact point detection method.

[0131] Therefore, a unique plane (the first virtual plane) can be determined by a point (the physical contact point of the ground structure where the virtual object's center is located) and a direction (the plane orientation determined by the M physical contact points).

[0132] Figure 7 This application illustrates two methods for determining a virtual plane. Figure 7 In part a, the virtual plane for each rendering frame is determined based on physical contact points, without considering the projection point of the virtual object's center point. Therefore, when the virtual object is in... Figure 7 When moving in the scene shown, the visual volume of the virtual object may be far away from the second ground structure, resulting in an unreasonable situation of floating.

[0133] exist Figure 7 In part b, the virtual plane for each rendering frame is determined based on the projection points of the physical contact points and the center point of the virtual object. Therefore, when the virtual object is in... Figure 7 When moving in the scene shown, the rendering position of the virtual object's visual volume will be closer to the second ground structure than in part a, reducing the sense of floating.

[0134] It should be noted that, regardless of the method used Figure 7 All proposed methods for determining the virtual plane can mitigate the vertical swaying of the visual form of the virtual object.

[0135] The first virtual plane that is determined can not only represent the overall height difference trend of the current ground structure in terms of orientation, but also represent the actual position of the ground structure supporting the virtual object. This can effectively avoid the rendering of the visual object floating and improve the rendering accuracy.

[0136] It should be noted that, based on the characteristics of the shape points mentioned above, in some terrains, it is possible that M physical contact points are detected based on the shape points, but no physical contact points are detected based on the center point of the virtual object. For example, when the virtual object is standing on the edge of a deep pit with most of its body inside the pit, or when the virtual object is standing on the edge of a cliff with most of its body outside the cliff, etc.

[0137] To adapt to such situations, in one possible implementation, S2032: Detecting physical contact points from the center point of the virtual object towards the ground to obtain the position point of the first virtual plane, including:

[0138] In response to the absence of a physical contact point corresponding to the center point, a physical contact point is selected from the physical contact points of the M shape points as the position point of the first virtual plane;

[0139] In response to detecting the physical contact point corresponding to the center point, the physical contact point corresponding to the center point is used as the position point of the first virtual plane.

[0140] When no physical contact point is detected based on the center point, in order to ensure the smooth implementation of this solution, a physical contact point can be selected from the M physical contact points detected based on the shape point to represent the physical contact point corresponding to the center point of the virtual object, i.e., the position point. The reason for selecting a replacement from these M physical contact points is that although there is a certain horizontal offset between the shape point and the center point, they both represent the collider and visual body of the same virtual object, so this horizontal offset is actually within a tolerable range.

[0141] Figure 8 A schematic diagram of the physical contact points of a virtual object standing on the edge of a cliff is shown. For ease of explanation, the diagram is shown from a top-down perspective. It can be seen that only the left foot of the virtual object is on the cliff edge; the center point (S) and the right foot are outside the cliff. At this point, three shape points have detected physical contact points: the front left shape point (LF), the left shape point (L), and the rear left shape point (LB). This meets the requirement of determining the normal direction of the virtual plane. However, due to the virtual object's current position, no physical contact points have been detected below the center point (S), making it impossible to determine the position point of the first virtual plane based on the center point. To determine the first virtual plane, the terminal device can select one of the three detected physical contact points as the position point. In one possible implementation, the first detected physical contact point can be selected as the position point. Figure 8 In the scenario, if the front left shape point (LF) is the first detected physical contact point, the physical contact point of the front left shape point (LF) can be used as the position point of the first virtual plane to determine the first virtual plane.

[0142] By using different processing methods based on whether physical contact points are detected or not, the applicability of this solution is effectively improved, and the situation of visual objects bouncing up and down due to the inability to determine the first virtual plane occurs under certain specific ground structures.

[0143] As mentioned above, through the embodiments of this application, a corresponding virtual plane can be determined for each rendering frame, such as a first virtual plane determined for the i-th rendering frame, a second virtual plane determined for the (i-1)-th rendering frame, etc.

[0144] When processing the (i-1)th rendering frame, the projection point of the visual object on the second virtual plane at that time can be regarded as the rendering position of the (i-1)th rendering frame mentioned in S204 above. When smoothly rendering the visual object from the rendering position of the (i-1)th rendering frame to the projection point, it can be done in conjunction with the smooth movement of the virtual plane.

[0145] In one possible implementation, the method further includes:

[0146] Obtain the second virtual plane of the (i-1)th rendering frame of the virtual game scene, and determine the projection point of the visual object on the second virtual plane as the rendering position when the second virtual plane is determined.

[0147] The second virtual plane is determined in the same way as the first virtual plane, except that the rendering frames processed are the (i-1)th rendering frame and the ith rendering frame, respectively.

[0148] S204 above: Based on the projection point of the virtual object on the first virtual plane, smoothly render the visual volume of the virtual object from the rendering position of the (i-1)th rendering frame to the projection point, including:

[0149] S2041: Smoothly move the second virtual plane toward the first virtual plane, and determine the position change of the rendering position toward the projection point during the smooth movement.

[0150] S2042: Render the visual volume of the virtual object based on the rendering position that changes toward the projection point.

[0151] By smoothly moving the second virtual plane towards the first virtual plane, the second virtual plane eventually coincides with the first virtual plane. It should be noted that the method of smoothly moving the second virtual plane towards the first virtual plane can refer to the smoothing method mentioned in the smooth rendering in S204 above. For example, the smoothing movement can be performed using a spring-damped smoothing method. In this method, the smoothing speed can be controlled based on the value of the spring damping coefficient. For example, the lower the value of the spring damping coefficient, the faster the smoothing speed, that is, the second virtual plane will be smoothly moved to the first virtual plane at a faster speed.

[0152] By smoothly moving the virtual plane, the dynamic change in the rendering position of the second virtual plane during the smooth movement will smoothly update the change in the horizontal position of the visual object, thereby enabling the visual object rendered based on this change to achieve a better horizontal smooth rendering effect.

[0153] It should be noted that before smoothly moving the second virtual plane to the first virtual plane, the ground structure where the virtual object is located needs to be considered. In some virtual game scenes, there are mobile platforms that move virtual objects. When a virtual object enters such a mobile platform, it can move to other locations in the virtual game scene with the help of the mobile platform.

[0154] A mobile platform is a movable platform in a virtual game scene that is either automatic or controllable, such as an elevator or escalator. When a mobile platform moves, it can cause virtual objects on it to move in the horizontal and vertical directions. For example, an elevator can cause virtual objects to rise or fall significantly in the vertical direction.

[0155] In this situation, if the virtual object is currently on a mobile platform, without considering the vertical positional changes caused by the mobile platform itself, it is not conducive to accurately and smoothly moving the second virtual plane to the first virtual plane.

[0156] In one possible implementation, the method further includes:

[0157] S11: In response to determining that the virtual object is in a ground movement state, determine the type of ground structure where the virtual object is located;

[0158] S12: In response to the ground structure being a mobile platform type, determine the vertical movement distance of the ground structure from the (i-1)th rendering frame to the ith rendering frame;

[0159] S13: Before smoothly moving the second virtual plane toward the first virtual plane and determining the position change of the rendering position toward the projection point during the smooth movement, update the position parameters of the second virtual plane with the vertical movement distance.

[0160] Since the vertical movement of the mobile platform is not considered autonomous movement of the virtual object, and the positional relationship between the first and second virtual planes is based on the autonomous movement of the virtual object, but the first virtual plane is determined based on the position of the mobile platform in the i-th rendering frame, and the second virtual plane is determined based on the position of the mobile platform in the (i-1)-th rendering frame, it is necessary to erase the vertical movement distance of the mobile platform from the (i-1)-th rendering frame to the i-th rendering frame when performing smooth movement between virtual planes. Only in this way can accurate smooth movement be achieved.

[0161] The terminal device can update the position parameters of the second virtual plane with the vertical movement distance. For example, if the vertical movement distance is 1m higher in the vertical direction, the position parameters of the second virtual plane used to identify the vertical position can be increased by 1m. Assuming that the projection point of the virtual object in the (i-1)th rendering frame is used as the position parameter to identify the vertical position, its vertical coordinate is n meters. By updating the vertical movement distance, its vertical coordinate is updated to n+1 meters.

[0162] Figure 9 This diagram illustrates a virtual object on a vertically moving platform. For ease of explanation, it is presented in two dimensions, and the display height of the rendered frame is elongated.

[0163] It can be seen that, Figure 9 The mobile platform can carry virtual objects upwards. From the (i-1)th rendering frame to the ith rendering frame, the mobile platform moves vertically by a distance equal to the vertical distance. This results in a significant vertical difference between the second virtual plane in the (i-1)th rendering frame and the first virtual plane in the ith rendering frame. However, this difference is not caused by the virtual object's own active movement, but rather by the movement of the mobile platform.

[0164] To correctly render the visual volume of virtual objects on a mobile platform, the differences introduced by the mobile platform need to be eliminated before smoothly moving the second virtual plane towards the first virtual plane. Therefore, the second virtual plane can be moved upwards by that vertical distance to obtain a new second virtual plane. To clearly show the vertical positional relationship between the new second virtual plane and the first virtual plane, in... Figure 9 The new second virtual plane was shifted to the right. In fact, the new second virtual plane should basically overlap with the first virtual plane.

[0165] It can be seen that when the terminal device determines that the virtual object is on the mobile platform, it updates the inter-frame movement distance of the mobile platform to the second virtual plane, thereby eliminating the influence of the mobile platform in the positional relationship between the second virtual plane and the first virtual plane, thus improving the accuracy of smoothly moving the second virtual plane to the first virtual plane.

[0166] It should be noted that in some cases, the virtual objects mentioned in this application can be virtual objects controlled by players. Due to the variety of ways players control them, virtual objects may have various movement states in the virtual game scene, and different movement states require targeted smooth rendering methods.

[0167] In one possible implementation, the method further includes:

[0168] Obtain the movement state of the virtual object;

[0169] In response to determining that the virtual object is in a ground movement state based on the movement state, S202 is executed: an operation is performed to detect physical contact points based on N shape points on the surface of the collider towards the ground of the virtual game scene.

[0170] The movement state of a virtual object identifies how it moves within a virtual game scene. Virtual objects can have various movement states within a virtual game scene, the specifics of which are related to the game application's settings. For example, these may include ground movement states and non-ground movement states. For instance, ground movement states may include normal movement, high-speed movement, and rolling movement, while non-ground movement states may include jumping, flying, and falling.

[0171] If the current movement state of the virtual object is ground movement state, the terminal device can determine that the vertical position of the virtual object in the vertical direction will be affected by the ground structure on the ground. It is necessary to reduce the influence based on the detected physical contact points. Therefore, when the terminal device determines that the movement state of the virtual object is ground movement state, the terminal device will execute the aforementioned S202 to detect the current physical contact points through the shape points of the colliding body.

[0172] If the current movement state of the virtual object is not ground movement state, the terminal device can determine that the vertical position of the virtual object in the vertical direction will not be affected by the ground structure. In this case, it is more necessary to consider the vertical position difference between the colliding object and the visual object to avoid the visual object being displayed in an abnormal position due to excessive vertical difference.

[0173] Therefore, in one possible implementation, in response to determining that the virtual object is not in a ground movement state based on the movement state, the bottom surface of the collider facing the ground is taken as the first virtual plane, and S204 is executed: based on the projection point of the virtual object on the first virtual plane, the visual volume of the virtual object is smoothly rendered from the rendering position of the (i-1)th rendering frame to the projection point.

[0174] In other words, virtual objects generally move faster when not on the ground than when moving on the ground. If the vertical position of the collider and the view object differs too much, it can lead to a perceived lag in control. As mentioned earlier, the game's viewpoint follows the collider, so a large difference in vertical position between the collider and the view object can cause the view object to move far from the center of the screen or even disappear from the screen altogether. Furthermore, when the virtual object is jumping (or in a non-ground-based movement state), it's more physics-compliant for the view object to closely follow the collider. If the view object cannot follow the collider, it will create an unnatural visual experience for the player, such as control lag or abnormal movement.

[0175] Therefore, when the virtual object is in a non-ground-moving state, the terminal device needs to control the virtual object's collider and visual object to overlap as much as possible. Specifically, the bottom surface of the collider can be used as the first virtual plane instead of determining the first virtual plane through physical detection points. In this way, the first virtual plane will serve to mark the position of the collider, and the projection point of the visual object on the first virtual plane is actually the center point of the bottom surface of the collider. Through the first virtual plane, the visual object can be smoothly rendered onto the collider, thereby achieving the control requirement of the virtual object's collider and visual object overlapping as much as possible.

[0176] By implementing different methods for determining the first virtual plane for different movement states, more refined smooth control can be achieved for virtual objects in different movement states. From a rendering perspective, the visual experience closely follows the collider's movement, better reflecting the movement of virtual objects outside of ground-based environments, thus enhancing realism and immersion.

[0177] As mentioned earlier, when a virtual object is moving outside the ground, the visual object needs to follow the colliding object as closely as possible. Therefore, in order to render the visual object more smoothly, different smoothing speeds can be used to process different movement states in a targeted manner.

[0178] In one possible implementation, S204: Based on the projection point of the virtual object on the first virtual plane, smoothly render the visual volume of the virtual object from the rendering position of the (i-1)th rendering frame to the projection point, including:

[0179] S2043: When the first virtual plane is the bottom surface of the collider, according to the projection point of the virtual object on the first virtual plane, the visual body of the virtual object is smoothly rendered from the rendering position of the (i-1)th rendering frame to the projection point at a first smoothing speed.

[0180] S2044: When the first virtual plane is determined based on the physical contact points of the M shape points, the visual volume of the virtual object is smoothly rendered from the rendering position of the (i-1)th rendering frame to the projection point according to the projection point of the virtual object on the first virtual plane, and the first smoothing speed is greater than the second smoothing speed.

[0181] As mentioned earlier, when smoothly rendering the visual object from the rendering position of the (i-1)th rendering frame to the projection point of the ith rendering frame, the vertical position difference between the visual object and the collider has different requirements in different movement states of the virtual object. When the virtual object is in a non-ground movement state, the vertical position difference between the visual object and the collider needs to be reduced as quickly as possible. When the virtual object is in a ground movement state, the reduction speed of the vertical position difference between the visual object and the collider is not required to be as fast.

[0182] Therefore, by determining the method of the first virtual plane, the terminal device can determine which smoothing speed to use for smooth rendering of the visual object. The faster the smoothing speed, the faster the visual object approaches the projection point.

[0183] Next, through Figure 10 and Figure 11 This is used to describe the smooth speed of virtual objects that are moving on the ground and those that are not.

[0184] like Figure 10 As shown, the virtual object is moving on the ground and is climbing stairs. The gray area represents the virtual plane. It can be seen that the vertical difference between the visual object and the colliding object is relatively large, which can reduce the up-and-down jolting of the visual object during the stair climbing process.

[0185] Figure 11 The movement state of the virtual object shown is a non-ground movement state, specifically a jump state. Using three consecutive rendering frames as an example, the positional relationship between the collider and the view object is illustrated from takeoff to mid-air. In the non-ground movement state, the virtual plane of the rendering frame is the bottom surface of the collider, and the second smoothing velocity at this time is greater than... Figure 10 The first smooth speed in the case shown, from Figure 11 From part a to part c, it can be seen that after the virtual object jumps, the vertical difference between the visual object and the collider decreases rapidly, and the visual object basically moves closely following the collider in the vertical direction.

[0186] By using different smoothing speeds for smooth rendering of visual objects in a targeted manner based on the determination method of the first virtual plane, different smoothing rendering speeds can be achieved under different movement states, which can greatly improve the applicability of the embodiments of this application and achieve more adaptive rendering effects under different movement states.

[0187] It should be noted that the aforementioned S2041-S2042 and the S2043-S2044 mentioned here are illustrative embodiments that refine S204 from different perspectives. The step numbers are only to distinguish the two embodiments and do not limit the order of execution.

[0188] When detecting physical contact points via S202, there may be a situation where the number of detected physical contact points is insufficient to determine the first virtual plane.

[0189] Therefore, in one possible implementation, after S202: detecting physical contact points based on N shape points on the surface of the collider towards the ground of the virtual game scene, the method further includes:

[0190] In response to the detection that the number of shape points corresponding to the physical contact point is less than M, the bottom surface of the colliding body facing the ground is taken as the first virtual plane, and the operation of smoothing the visual volume of the virtual object from the rendering position of the (i-1)th rendering frame to the projection point is performed according to the projection point of the virtual object on the first virtual plane.

[0191] In other words, when the virtual object is in some special or extreme positions, since most of it is suspended, it may not be possible to detect enough physical contact points, or the number of shape points corresponding to the physical contact points detected may not be enough to determine the first virtual plane. In this case, in order to enable the embodiments of this application to continue to be implemented, the bottom surface of the collision body can be used as the first virtual plane, that is, a similar processing method as when the virtual object is in a non-ground moving state can be used to solve the problem.

[0192] This backup plan allows for the determination of a reasonable first virtual plane to continue the smooth rendering of the visual volume under the aforementioned conditions, effectively improving the adaptability of the solution.

[0193] The virtual game scene mentioned in this application embodiment is based on the game application. That is, after the terminal device has installed the game application, it can start the virtual game scene by running the game application.

[0194] The game application can be a single-player game application or an online game application. When the game application is an online game application, the smooth rendering method of visual objects provided in this application embodiment can be synchronized to other player objects participating in the virtual game scene, so that the virtual objects seen by each player in the virtual game scene are rendered in the same smooth rendering method, thereby achieving a better user experience.

[0195] Therefore, in one possible implementation, the method further includes:

[0196] The rendering position of the visual object is synchronously updated to the server of the game application, which is used to start the virtual game scene.

[0197] By synchronizing the visual volume rendering optimization results completed on the terminal device side to the server, it is possible to further synchronize the results to other terminal devices running the game application, thereby achieving overall synchronization.

[0198] Next, through Figure 12 A more complete description of the embodiments of this application will be provided.

[0199] The process begins with the i-th rendering frame as the current rendering frame to be processed.

[0200] First, determine whether the virtual object is in a ground movement state. When the virtual object is in a ground movement state, the terminal device will obtain the projection point and normal direction of the second virtual plane in the (i-1)th rendering frame. This information can be used to smoothly move the second virtual plane to the first virtual plane in the future.

[0201] Next, the terminal device needs to determine whether the virtual object is on the mobile platform to avoid anomalies during subsequent smooth movement. When it is determined that the virtual object is on the mobile platform, the terminal device obtains the vertical movement distance of the mobile platform and updates the vertical movement distance to the projection point of the second virtual plane, thereby erasing the vertical difference between the first and second virtual planes caused by the movement of the mobile platform itself.

[0202] Next, the terminal device will detect the physical contact points of the N shape points of the virtual object's collider. It's important to note that if the terminal device determines that the virtual object is not on a mobile platform, it will directly execute this physical contact point detection step.

[0203] exist Figure 12 In the scenario shown, M=3, and with Figure 5Taking the eight shape points shown as an example, these eight shape points are divided into two groups. The first group of shape points includes four shape points: front shape point (F), left shape point (L), rear shape point (B), and right shape point (R). The second group of shape points includes four shape points: left front shape point (LF), left rear shape point (LB), right rear shape point (RB), and right front shape point (RF).

[0204] The terminal device uses the maximum climbable height as the detection length to detect the physical contact points of the shape points in the first shape point group in a counterclockwise direction, and determines whether the cumulative number of detected physical contact points reaches 3. If it does not reach 3, the terminal device uses the maximum climbable height as the detection length to detect the physical contact points of the shape points in the second shape point group in a counterclockwise direction, and continues to determine whether the cumulative number of detected physical contact points reaches 3.

[0205] If the number of collisions still does not reach three, the terminal device will use the bottom surface of the collision object as the first virtual plane. It should be noted that if the terminal device determines that the virtual object is in a non-ground movement state, it will also use the bottom surface of the collision object as the first virtual plane.

[0206] Whether during the detection of the first group of shape points or the detection of the second group of shape points, if the terminal device determines that the cumulative number of detected physical contact points reaches 3, the terminal device determines the normal direction based on the first 3 detected physical contact points. This normal direction indicates the orientation of the first virtual plane in the virtual game scene.

[0207] Next, the terminal device determines the position point of the first virtual plane based on the center point of the player object and determines whether the position point of the first virtual plane is successfully determined. If the position point is not successfully determined based on the center point, the terminal device uses the first physical contact point detected by the shape point as the position point of the first virtual plane, and then performs an operation to smoothly move the second virtual plane towards the first virtual plane. If the position point is successfully determined based on the center point, the terminal device will also perform an operation to smoothly move the second virtual plane towards the first virtual plane.

[0208] It should be noted that if the virtual object is in a non-ground movement state as described above, or if the cumulative number of detected physical contact points is less than 3, the bottom surface of the colliding object will be used as the first virtual plane. In this case, the operation of smoothly moving the second virtual plane towards the first virtual plane can be directly executed.

[0209] During the smooth movement of the second virtual plane toward the first virtual plane, the terminal device determines the projection point of the virtual object on the first virtual plane and smoothly renders the visual object in the vertical direction toward the projection point. During the smooth rendering process, the horizontal position of the visual object is still synchronized with the collision object.

[0210] In the foregoing Figures 1-12 Based on the corresponding embodiments, this application also provides a device structure diagram of a virtual object rendering apparatus. Figure 13 This is a structural diagram of a virtual object rendering apparatus provided in an embodiment of this application. The virtual object rendering apparatus 1300 includes a determining unit 1301, a detecting unit 1302, and a rendering unit 1303.

[0211] The determining unit 1301 is used to determine the collider of the virtual object in the i-th rendering frame of the virtual game scene. The collider of the virtual object is used to perform physics engine logic processing on the virtual object in the virtual game scene.

[0212] The detection unit 1302 is used to detect physical contact points based on N shape points on the surface of the collider towards the ground of the virtual game scene.

[0213] The determining unit 1301 is further configured to, in response to the detection of corresponding physical contact points by the M shape points, determine the first virtual plane in the i-th rendering frame where the virtual object is located based on the physical contact points of the M shape points. <M<N;

[0214] The rendering unit 1303 is used to smoothly render the visual body of the virtual object from the rendering position of the (i-1)th rendering frame to the projection point according to the projection point of the virtual object on the first virtual plane. The visual body is a mesh body used to display the virtual object in the virtual game scene. The horizontal position of the visual body and the collider in the virtual game scene is the same.

[0215] In one possible implementation, the detection unit is further configured to:

[0216] Divide the N shape points into P shape point groups, and each shape point group includes at least M shape points;

[0217] When the number of physical contact points determined based on the first j-1 shape point groups does not reach M, physical contact point detection is performed based on the j-th shape point group towards the ground direction of the virtual game scene. <j≤P;

[0218] When the number of physical contact points determined based on the first j-1 shape point groups reaches M, the operation of determining the first virtual plane where the virtual object is located in the i-th rendering frame based on the physical contact points of the M shape points is performed.

[0219] In one possible implementation, the detection unit is further configured to detect the physical contact points of the shape points in the shape point group in a counterclockwise direction in the process of detecting physical contact points based on each shape point group;

[0220] The determining unit is further configured to:

[0221] Based on the order in which the physical contact points of the M shape points are detected, the vector product between the physical contact points is determined as the normal direction of the first virtual plane;

[0222] The first virtual plane in which the virtual object is located in the i-th rendering frame is determined based on the normal direction.

[0223] In one possible implementation, the detection unit is further configured to:

[0224] Based on N shape points on the surface of the collider, physical contact points within a detection length range are detected towards the ground of the virtual game scene.

[0225] In one possible implementation, the starting position for detecting the physical contact point is the side of the colliding body closer to the ground, and the detection length range is the maximum climbable height allowed for the virtual object in the virtual game scene.

[0226] In one possible implementation, the determining unit is further configured to:

[0227] The normal direction of the first virtual plane is determined based on the physical contact points of the M shape points;

[0228] The position point of the first virtual plane is obtained by detecting the physical contact point from the center point of the virtual object toward the ground.

[0229] The first virtual plane in which the virtual object is located in the i-th rendering frame is determined by the normal direction and the position point.

[0230] In one possible implementation, the determining unit is further configured to:

[0231] In response to the absence of a physical contact point corresponding to the center point, a physical contact point is selected from the physical contact points of the M shape points as the position point of the first virtual plane;

[0232] In response to detecting the physical contact point corresponding to the center point, the physical contact point corresponding to the center point is used as the position point of the first virtual plane.

[0233] In one possible implementation, the apparatus further includes an acquisition unit, which is configured to acquire the second virtual plane of the (i-1)th rendering frame of the virtual game scene, and to determine the projection point of the visual object on the second virtual plane as the rendering position when the second virtual plane is determined;

[0234] The rendering unit is also used for:

[0235] The second virtual plane is smoothly moved toward the first virtual plane, and the position change of the rendering position toward the projection point is determined during the smooth movement.

[0236] The visual volume of the virtual object is rendered based on the rendering position that changes towards the projection point.

[0237] In one possible implementation, the determining unit is further configured to:

[0238] In response to determining that the virtual object is in a ground movement state, the type of ground structure on which the virtual object is located is determined;

[0239] In response to the ground structure being a mobile platform type, the vertical movement distance of the ground structure from the (i-1)th rendering frame to the ith rendering frame is determined;

[0240] Before smoothly moving the second virtual plane toward the first virtual plane and determining the position change of the rendering position toward the projection point during the smooth movement, the vertical movement distance is updated in the position parameters of the second virtual plane.

[0241] In one possible implementation, the detection unit is further configured to:

[0242] Obtain the movement state of the virtual object;

[0243] In response to determining that the virtual object is in a ground-moving state based on the movement state, physical contact points are detected based on N shape points on the surface of the collider towards the ground of the virtual game scene.

[0244] In one possible implementation, the detection unit is further configured to:

[0245] In response to determining that the virtual object is not in a ground-moving state based on the movement state, the bottom surface of the collider facing the ground is taken as the first virtual plane, and the visual volume of the virtual object is smoothly rendered from the rendering position of the (i-1)th rendering frame to the projection point based on the projection point of the virtual object on the first virtual plane.

[0246] In one possible implementation, the rendering unit is further configured to:

[0247] When the first virtual plane is the bottom surface of the collider, the visual volume of the virtual object is smoothly rendered from the rendering position of the (i-1)th rendering frame to the projection point according to the projection point of the virtual object on the first virtual plane at a first smoothing speed.

[0248] When the first virtual plane is determined based on the physical contact points of the M shape points, the visual volume of the virtual object is smoothly rendered from the rendering position of the (i-1)th rendering frame to the projection point according to the projection point of the virtual object on the first virtual plane, and the first smoothing speed is greater than the second smoothing speed.

[0249] In one possible implementation, the rendering unit is further configured to:

[0250] In response to the detection that the number of shape points corresponding to the physical contact point is less than M, the bottom surface of the colliding body facing the ground is taken as the first virtual plane, and according to the projection point of the virtual object on the first virtual plane, the visual volume of the virtual object is smoothly rendered from the rendering position of the (i-1)th rendering frame to the projection point.

[0251] In one possible implementation, the apparatus further includes a synchronization unit for synchronously updating the rendering position of the visual object to the server of the game application, the game application being used to start the virtual game scene.

[0252] As can be seen, in order to improve the rendering effect of virtual objects without modifying the engine's processing logic, virtual objects are separated from the representation of the virtual game scene into colliders and visual objects. The collider is used for physics engine logic processing of virtual objects in the virtual game scene, while the visual object is the mesh that displays the virtual object in the virtual game scene. Since the visual shaking of virtual objects when moving mainly comes from the direction perpendicular to the ground of the virtual game scene, when processing the i-th rendering frame of the virtual game scene, physical contact points can be detected based on N shape points on the surface of the collider towards the ground. These physical contact points are ground structures that can support virtual objects in the virtual game scene. When the number of detected physical contact points reaches M that can define a plane, the corresponding first virtual plane and the projection point of the virtual object on the first virtual plane are determined. Since different physical contact points may correspond to different ground structures, and the first virtual plane is equivalent to a plane resting on different ground structures, the vertical height difference between different ground structures is largely eliminated. When virtual objects move, the collider continues to be used for physics engine logic processing of the ground structure, while the visual object's horizontal position remains the same as the collider, ensuring the correct horizontal position of the virtual object during movement. The virtual plane determines that the visual object's vertical position relative to the collider changes less significantly. Since each rendering frame uses the virtual plane as the rendering basis for the visual object, the visual object is smoothly rendered on the virtual plane of each consecutive rendering frame. This substantially reduces the vertical jitter of the visual object, allowing virtual objects to move more smoothly in the virtual game scene, effectively improving the utilization efficiency of rendering resources and enhancing the user experience.

[0253] This application also provides a computer device, including a terminal device or a server, in which the aforementioned virtual object rendering apparatus can be configured. The computer device will now be described in conjunction with the accompanying drawings.

[0254] If the computer device is a terminal device, please refer to Figure 14 As shown, this application provides a terminal device, taking a mobile phone as an example:

[0255] Figure 14 The diagram shown is a block diagram of a portion of the structure of a mobile phone provided in an embodiment of this application. (Reference) Figure 14 The mobile phone includes components such as a radio frequency (RF) circuit 1410, a memory 1420, an input unit 1430, a display unit 1440, a sensor 1450, an audio circuit 1460, a Wi-Fi module 1470, a processor 1480, and a power supply 1490. Those skilled in the art will understand that... Figure 14 The mobile phone structure shown does not constitute a limitation on the mobile phone and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0256] The following is combined Figure 14 A detailed introduction to each component of a mobile phone:

[0257] The RF circuit 1410 can be used to receive and transmit signals during information transmission or calls. In particular, it receives downlink information from the base station and processes it with the processor 1480; in addition, it transmits uplink data to the base station.

[0258] The memory 1420 can be used to store software programs and modules. The processor 1480 executes various mobile phone functions and data processing by running the software programs and modules stored in the memory 1420. The memory 1420 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the mobile phone (such as audio data, phonebook, etc.). In addition, the memory 1420 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0259] The input unit 1430 can be used to receive input numeric or character information, and to generate key signal inputs related to user settings and function control of the mobile phone. Specifically, the input unit 1430 may include a touch panel 1431 and other input devices 1432.

[0260] The display unit 1440 can be used to display information input by the user or information provided to the user, as well as various menus of the mobile phone. The display unit 1440 may include a display panel 1441.

[0261] The mobile phone may also include at least one sensor 1450, such as a light sensor, a motion sensor, and other sensors.

[0262] Audio circuitry 1460, speaker 1461, and microphone 1462 provide an audio interface between the user and the mobile phone.

[0263] WiFi is a short-range wireless transmission technology. Through the WiFi module 1470, mobile phones can help users send and receive emails, browse web pages, and access streaming media, providing users with wireless broadband internet access.

[0264] The processor 1480 is the control center of the mobile phone. It connects to various parts of the mobile phone through various interfaces and lines. It performs various functions of the mobile phone and processes data by running or executing software programs and / or modules stored in the memory 1420 and calling data stored in the memory 1420.

[0265] The phone also includes a power supply 1490 (such as a battery) that powers the various components.

[0266] In this embodiment, the processor 1480 included in the terminal device is also used to execute the steps in the methods of the various embodiments of this application.

[0267] If the computer device is a server, this application embodiment also provides a server; please refer to [link to relevant documentation]. Figure 15 As shown, Figure 15 This is a structural diagram of a server 1500 provided in an embodiment of this application. The server 1500 can vary significantly due to different configurations or performance. It may include one or more central processing units (CPUs) 1522 (e.g., one or more processors) and a memory 1532, and one or more storage media 1530 (e.g., one or more mass storage devices) for storing application programs 1542 or data 1544. The memory 1532 and storage media 1530 can be temporary or persistent storage. The program stored in the storage media 1530 may include one or more modules (not shown in the diagram), each module including a series of instruction operations on the server. Furthermore, the CPU 1522 may be configured to communicate with the storage media 1530 and execute the series of instruction operations in the storage media 1530 on the server 1500.

[0268] Server 1500 may also include one or more power supplies 1526, one or more wired or wireless network interfaces 1550, one or more input / output interfaces 1558, and / or one or more operating systems 1541, such as Windows Server. TM Mac OS X TM Unix TM Linux TM FreeBSD TM etc.

[0269] The steps performed by the server in the above embodiments can be based on Figure 15 The server structure shown.

[0270] In addition, this application embodiment also provides a storage medium for storing a computer program for executing the method provided in the above embodiment.

[0271] This application also provides a computer program product including a computer program, which, when run on a computer device, causes the computer device to perform the method provided in the above embodiments.

[0272] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium can be at least one of the following media: read-only memory (ROM), RAM, magnetic disk or optical disk, and other media that can store computer programs.

[0273] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.

[0274] It should be noted that the various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for the device and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiments. The device and system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of the solution in this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0275] The above description is merely one specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Moreover, based on the implementation methods provided in the above aspects, this application can be further combined to provide more implementation methods. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for rendering virtual objects, characterized in that, The method includes: Determine the collider of the virtual object in the i-th rendering frame of the virtual game scene. The collider of the virtual object is used to perform physics engine logic processing on the virtual object in the virtual game scene. Physical contact points are detected based on N shape points on the surface of the collider towards the ground of the virtual game scene; In response to the detection of corresponding physical contact points by M shape points, the first virtual plane in which the virtual object is located in the i-th rendering frame is determined based on the physical contact points of the M shape points. <M<N; Based on the projection point of the virtual object on the first virtual plane, the visual body of the virtual object is smoothly rendered from the rendering position of the (i-1)th rendering frame to the projection point. The visual body is a mesh used to display the virtual object in the virtual game scene. The visual body and the collider are at the same horizontal position in the virtual game scene.

2. The method according to claim 1, characterized in that, The detection of physical contact points based on N shape points on the surface of the collider towards the ground of the virtual game scene includes: Divide the N shape points into P shape point groups, and each shape point group includes at least M shape points; When the number of physical contact points determined based on the first j-1 shape point groups does not reach M, physical contact point detection is performed based on the j-th shape point group towards the ground direction of the virtual game scene. <j≤P; When the number of physical contact points determined based on the first j-1 shape point groups reaches M, the operation of determining the first virtual plane where the virtual object is located in the i-th rendering frame based on the physical contact points of the M shape points is performed.

3. The method according to claim 2, characterized in that, During the detection of physical contact points based on each shape point group, the physical contact points of the shape points in the shape point group are detected sequentially in a counterclockwise direction towards the ground. Determining the first virtual plane where the virtual object is located in the i-th rendering frame based on the physical contact points of the M shape points includes: Based on the order in which the physical contact points of the M shape points are detected, the vector product between the physical contact points is determined as the normal direction of the first virtual plane; The first virtual plane in which the virtual object is located in the i-th rendering frame is determined based on the normal direction.

4. The method according to claim 1, characterized in that, The detection of physical contact points based on N shape points on the surface of the collider towards the ground of the virtual game scene includes: Based on N shape points on the surface of the collider, physical contact points within a detection length range are detected towards the ground of the virtual game scene.

5. The method according to claim 4, characterized in that, The starting position for detecting the physical contact point is the side of the colliding body closest to the ground, and the detection length range is the maximum climbable height allowed for the virtual object in the virtual game scene.

6. The method according to claim 1, characterized in that, Determining the first virtual plane where the virtual object is located in the i-th rendering frame based on the physical contact points of the M shape points includes: The normal direction of the first virtual plane is determined based on the physical contact points of the M shape points; The position point of the first virtual plane is obtained by detecting the physical contact point from the center point of the virtual object toward the ground. The first virtual plane in which the virtual object is located in the i-th rendering frame is determined by the normal direction and the position point.

7. The method according to claim 6, characterized in that, The step of detecting physical contact points from the center point of the virtual object towards the ground to obtain the position point of the first virtual plane includes: In response to the absence of a physical contact point corresponding to the center point, a physical contact point is selected from the physical contact points of the M shape points as the position point of the first virtual plane; In response to detecting the physical contact point corresponding to the center point, the physical contact point corresponding to the center point is used as the position point of the first virtual plane.

8. The method according to claim 1, characterized in that, The method further includes: Obtain the second virtual plane of the (i-1)th rendering frame of the virtual game scene, and determine the projection point of the visual object on the second virtual plane when the second virtual plane is determined as the rendering position; The step of smoothly rendering the visual volume of the virtual object from the rendering position of the (i-1)th rendering frame to the projection point based on the projection point of the virtual object on the first virtual plane includes: The second virtual plane is smoothly moved toward the first virtual plane, and the position change of the rendering position toward the projection point is determined during the smooth movement. The visual volume of the virtual object is rendered based on the rendering position that changes towards the projection point.

9. The method according to claim 8, characterized in that, The method further includes: In response to determining that the virtual object is in a ground movement state, the type of ground structure on which the virtual object is located is determined; In response to the ground structure being a mobile platform type, the vertical movement distance of the ground structure from the (i-1)th rendering frame to the ith rendering frame is determined; Before smoothly moving the second virtual plane toward the first virtual plane and determining the position change of the rendering position toward the projection point during the smooth movement, the vertical movement distance is updated in the position parameters of the second virtual plane.

10. The method according to any one of claims 1-8, characterized in that, The method further includes: Obtain the movement state of the virtual object; In response to determining that the virtual object is in a ground-moving state based on the movement state, the operation of detecting physical contact points based on N shape points on the surface of the collider towards the ground of the virtual game scene is performed.

11. The method according to claim 10, characterized in that, The method further includes: In response to determining that the virtual object is not in a ground-moving state based on the movement state, the bottom surface of the collider facing the ground is taken as the first virtual plane, and the operation of smoothly rendering the visual volume of the virtual object from the rendering position of the (i-1)th rendering frame to the projection point is performed based on the projection point of the virtual object on the first virtual plane.

12. The method according to claim 11, characterized in that, The step of smoothly rendering the visual volume of the virtual object from the rendering position of the (i-1)th rendering frame to the projection point based on the projection point of the virtual object on the first virtual plane includes: When the first virtual plane is the bottom surface of the collider, the visual volume of the virtual object is smoothly rendered from the rendering position of the (i-1)th rendering frame to the projection point according to the projection point of the virtual object on the first virtual plane at a first smoothing speed. When the first virtual plane is determined based on the physical contact points of the M shape points, the visual volume of the virtual object is smoothly rendered from the rendering position of the (i-1)th rendering frame to the projection point according to the projection point of the virtual object on the first virtual plane, and the first smoothing speed is greater than the second smoothing speed.

13. The method according to any one of claims 1-8, characterized in that, After detecting the physical contact points based on N shape points on the surface of the collider towards the ground of the virtual game scene, the method further includes: In response to the detection that the number of shape points corresponding to the physical contact point is less than M, the bottom surface of the colliding body facing the ground is taken as the first virtual plane, and the operation of smoothing the visual volume of the virtual object from the rendering position of the (i-1)th rendering frame to the projection point is performed according to the projection point of the virtual object on the first virtual plane.

14. The method according to any one of claims 1-8, characterized in that, The method further includes: The rendering position of the visual object is synchronously updated to the server of the game application, which is used to start the virtual game scene.

15. A virtual object rendering apparatus, characterized in that, The device includes a determining unit, a detecting unit, and a rendering unit: The determining unit is used to determine the collider of the virtual object in the i-th rendering frame of the virtual game scene. The collider of the virtual object is used to perform physics engine logic processing on the virtual object in the virtual game scene. The detection unit is used to detect physical contact points based on N shape points on the surface of the collider towards the ground of the virtual game scene. The determining unit is further configured to, in response to the detection of corresponding physical contact points by M shape points, determine the first virtual plane in the i-th rendering frame where the virtual object is located based on the physical contact points of the M shape points. <M<N; The rendering unit is configured to smoothly render the visual body of the virtual object from the rendering position of the (i-1)th rendering frame to the projection point based on the projection point of the virtual object on the first virtual plane. The visual body is a mesh used to display the virtual object in the virtual game scene, and the horizontal position of the visual body and the collider is the same in the virtual game scene.

16. A computer device, characterized in that, The computer device includes a processor and memory: The memory is used to store computer programs; The processor is configured to perform the method according to any one of claims 1-14 according to the computer program.

17. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program that, when executed by a computer device, performs the method described in any one of claims 1-14.

18. A computer program product comprising a computer program, which, when run on a computer device, causes the computer device to perform the method of any one of claims 1-14.