Object processing method and apparatus

By determining the current and target positions of objects in the game scene and adjusting their movement actions in conjunction with terrain data, the problem of insufficient physical simulation capabilities of objects in the game scene is solved, thereby improving the realism of the game and the player experience.

CN116459524BActive Publication Date: 2026-02-03ZHUHAI KINGSOFT ONLINE GAME TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202310180882.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-27
Publication Date
2026-02-03
Estimated Expiration
2043-02-27

AI Technical Summary

Technical Problem

In existing technologies, the physical simulation capabilities of moving objects in game scenes are weak, resulting in significant differences from real-world scenes and impacting the player experience.

Method used

By determining the current and target positions of the initial moving object, and combining terrain data and current movement data, the object's movement is adjusted to obtain the target moving object, ensuring that the object fits the ground and avoids clipping.

Benefits of technology

It improves the realism of game scenes and player experience, ensures that object movement conforms to the laws of physics, and reduces the consumption of computing resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116459524B_ABST
    Figure CN116459524B_ABST
Patent Text Reader

Abstract

Embodiments of the present specification provide an object processing method and device, wherein the object processing method comprises: determining a current position of an initial moving object moving in a target region, and determining a target position of the initial moving object moving from the target region according to the current position; determining action adjustment data according to terrain data of the target position and current movement data of the initial moving object moving; and adjusting a current movement action of the initial moving object according to the action adjustment data to obtain a target moving object, thereby improving the realism of the target moving object.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments in this specification relate to the field of computer technology, and in particular to an object processing method. Background Technology

[0002] With the continuous development of internet and gaming technologies, game developers need to simulate real-world scenarios in game environments to ensure the authenticity and enjoyment of their games. However, existing technologies suffer from weak and inaccurate physical simulation capabilities, leading to significant differences between moving objects in the game environment and real-world conditions. This results in low realism of moving objects and a poor player experience. Summary of the Invention

[0003] In view of the above, embodiments of this specification provide an object processing method. One or more embodiments of this specification also relate to an object processing apparatus, a computing device, a computer-readable storage medium, and a computer program, to address the technical deficiencies existing in the prior art.

[0004] According to a first aspect of the embodiments of this specification, an object processing method is provided, including:

[0005] Determine the current position of the initial moving object in the target area, and determine the target position of the initial moving object from the target area based on the current position;

[0006] Based on the terrain data of the target location and the current movement data of the initial moving object, determine the action adjustment data;

[0007] The current movement action of the initial moving object is adjusted based on the action adjustment data to obtain the target moving object.

[0008] According to a second aspect of the embodiments of this specification, an object processing apparatus is provided, comprising:

[0009] The position determination module is configured to determine the current position of the initial moving object in the target area, and determine the target position of the initial moving object from the target area based on the current position;

[0010] The data determination module is configured to determine action adjustment data based on the terrain data of the target location and the current movement data of the initial moving object.

[0011] The motion adjustment module is configured to adjust the current movement motion of the initial moving object according to the motion adjustment data to obtain the target moving object.

[0012] According to a third aspect of the embodiments of this specification, a computing device is provided, comprising:

[0013] Memory and processor;

[0014] The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions, which, when executed by the processor, implement the steps of the object processing method.

[0015] According to a fourth aspect of the embodiments of this specification, a computer-readable storage medium is provided that stores computer-executable instructions that, when executed by a processor, implement the steps of the object processing method.

[0016] According to a fifth aspect of the embodiments of this specification, a computer program is provided, wherein when the computer program is executed in a computer, it causes the computer to perform the steps of the object processing method.

[0017] The object processing method provided in this specification includes: determining the current position of an initial moving object in a target area, and determining the target position of the initial moving object from the target area based on the current position; determining action adjustment data based on the terrain data of the target position and the current movement data of the initial moving object; and adjusting the current movement action of the initial moving object based on the action adjustment data to obtain the target moving object.

[0018] Specifically, this method uses the current movement data of the initial moving object in the target area and the terrain data of the target location that the initial moving object needs to move to in the target area to determine the action adjustment data for the initial moving object, and adjusts the current movement action of the initial moving object based on the action adjustment data, thereby obtaining a more realistic target moving object, thereby improving the realism of the game and the game experience of the players. Attached Figure Description

[0019] Figure 1 This is a schematic diagram illustrating an application scenario of an object processing method provided in one embodiment of this specification;

[0020] Figure 2 This is a flowchart of an object processing method provided in one embodiment of this specification;

[0021] Figure 3 This is a schematic diagram of the target region in an object processing method provided in one embodiment of this specification;

[0022] Figure 4This is a flowchart illustrating the processing procedure of an object processing method provided in one embodiment of this specification.

[0023] Figure 5 This is a schematic diagram of an existing leaf simulation provided in one embodiment of this specification;

[0024] Figure 6 This is a schematic diagram illustrating the simulation of leaves in an object processing method provided in one embodiment of this specification;

[0025] Figure 7 This is a schematic diagram of the structure of an object processing device provided in one embodiment of this specification;

[0026] Figure 8 This is a structural block diagram of a computing device provided in one embodiment of this specification. Detailed Implementation

[0027] Many specific details are set forth in the following description to provide a full understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this specification. Therefore, this specification is not limited to the specific implementations disclosed below.

[0028] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to be limiting of the one or more embodiments of this specification. The singular forms “a,” “described,” and “the” as used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.

[0029] It should be understood that although the terms first, second, etc., may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first may also be referred to as second without departing from the scope of one or more embodiments of this specification, and similarly, second may also be referred to as first. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."

[0030] First, the terms and concepts used in one or more embodiments of this specification will be explained.

[0031] Mask: A type of game texture.

[0032] VisualEffectGraph: A particle effects editing component used for rendering particle effects.

[0033] Shuriken: A particle system that generates particles that can be used to create smoke, steam, fire, and other atmospheric effects.

[0034] CustomData: A temporary data storage solution for VisualEffectGraph.

[0035] Offset: The preset numerical offset.

[0036] With the continuous development of internet and gaming technologies, game developers need to simulate real-world scenarios in game environments to ensure the realism and enjoyment of their games. However, existing simulation technologies suffer from weak and inaccurate physical simulation capabilities, leading to significant differences between moving objects in the game and their real-world counterparts. For example, the existing Shuriken particle system supports too few particles to meet the demands of larger scenes. Furthermore, the existing VisualEffectGraph has weak physical simulation capabilities with large temporal and spatial granularities. This can result in significant discrepancies between simulated and real objects, such as simulated leaves constantly trembling, leaves clipping through and falling below the ground, or leaves floating on the ground instead of touching it. To address these issues, a physical simulation system capable of handling a large number of particles and independent of temporal granularity is needed.

[0037] Based on this, this specification provides an object processing method, and also relates to an object processing apparatus, a computing device, a computer-readable storage medium, and a computer program, which will be described in detail in the following embodiments.

[0038] Figure 1 This diagram illustrates an application scenario of an object processing method according to an embodiment of this specification. Figure 1Taking the content as an example, the initial moving object can be a leaf falling in the game scene, the target moving object can be a leaf with adjusted movement animation, and the target area can be the area in the game scene where the leaf falls. The leaf gradually falls from top to bottom to the ground within the game scene. During this process, to ensure the realism of the leaf simulation and avoid issues such as clipping or not touching the ground, the object processing method provided in this manual determines the current position of the leaf while it is moving within the game scene, and then determines the target position where the leaf needs to fall based on this current position. Next, it determines the terrain data of the target position and the current movement data of the leaf, and determines the animation adjustment data for adjusting the leaf's falling motion. Finally, based on these animation adjustment parameters, it adjusts the current falling motion of the leaf to obtain a leaf that fits the ground and does not clip.

[0039] Figure 2 A flowchart of an object processing method according to an embodiment of this specification is shown, which specifically includes the following steps.

[0040] Step 202: Determine the current position of the initial moving object in the target area, and determine the target position of the initial moving object from the target area based on the current position.

[0041] The target area can be understood as the region where the initial moving object moves. When the object processing method is applied to game applications, the target area can be the game map; or it can be a specific area within the game map. When the object processing method is applied to virtual reality applications, the target area can be a virtual reality scene simulating a real physical scene. The target area can be a two-dimensional region, such as a two-dimensional game scene in a two-dimensional game; or it can be a three-dimensional region, such as a three-dimensional game scene in a three-dimensional game. This specification does not impose specific limitations on this.

[0042] The initial movement object can be understood as an object that moves within the target area. For example, the initial movement object can be a game model moving within the game scene, including but not limited to character models, animal models, or object models. Alternatively, the initial movement object can be understood as simulated particles within the game scene, including but not limited to leaf particles, snowflake particles, etc. This manual does not impose specific limitations on this. Alternatively, the initial movement object can be a virtual object simulating the movement of a real object in a virtual reality scene. For example, virtual characters, virtual animals, etc. It should be noted that movement within the target area can be understood as running, descending, floating, walking, etc., within the target area; this manual does not impose specific limitations on this.

[0043] The current position can be understood as the current coordinate position, that is, the current coordinate position of the initially moving object within the target area; this coordinate position can be two-dimensional or three-dimensional. The target position can be understood as the target coordinate position to which the initially moving object needs to move; for example, the endpoint of a car model's movement, or the landing point of a leaf falling to the ground; this target position can be two-dimensional or three-dimensional.

[0044] Specifically, in one embodiment provided in this specification, determining the current position of the initial moving object within the target area, and determining the target position for the initial moving object to move from the target area based on the current position, includes:

[0045] Get the current state data of the initial moving object as it moves within the target area;

[0046] If the current state data satisfies the action adjustment conditions, the current position of the initial moving object in the target area is determined, and the target position of the initial moving object in the target area is determined from the target area based on the current position.

[0047] The current state data can be understood as information representing the current state of the initially moving object. For example, if the initial moving object is a leaf, then if the height difference between the leaf and its landing point on the ground is greater than 0.5 meters, the leaf is determined to be in a floating state; if the height difference is less than or equal to 0.5 meters but greater than 0.1 centimeters, or if the height difference is less than a preset leaf length (e.g., 3 centimeters), the leaf is determined to be in a near-ground state; and if the height difference is less than or equal to 0.1 centimeters, the leaf is determined to be in a ground-hugging state. It should be noted that the object processing method provided in this specification provides a state storage unit for storing the current state data to facilitate the determination of the initial moving object's current state data. For example, this state storage unit can be CustomData. By using CustomData to store the current state data of the leaf (including but not limited to floating, near-ground, landing, and interactive states), it is easy to quickly obtain the current state data. It should be noted that in practical applications, during the process of the landing blade rotating and touching the ground, when the blade is in a floating state, the blade obtains random gravitational acceleration, thereby achieving the effect of "random flipping". That is, the blade flips at a random angle in a floating state and falls according to random gravity parameters.

[0048] Furthermore, it should be noted that when the leaf is in a floating or near-ground state: the x-axis and z-axis components of the leaf's velocity remain unchanged; however, the y-axis component of the leaf's velocity exhibits acceleration due to the preset gravity parameters, transitioning vertically downwards to achieve a descent effect. When the leaf is in a floating state: the leaf's current y-axis velocity is downwards, and the distance from the ground is less than the expected length of a leaf (e.g., 3 cm), the leaf enters a near-ground state. When the leaf is in a near-ground state, and the leaf's height from the ground is less than the ground threshold (e.g., 0.01 cm), its state is updated to ground-hugging, its height is set to ground height, and it stops moving.

[0049] The moment the leaf switches from a floating state to a near-ground state, an adjustment operation is triggered for the leaf's movement angle. That is, when the height of the leaf is too close to the ground, for example, if the height difference between the leaf and the ground landing point is less than or equal to 0.5 meters and greater than 0.1 centimeters, the leaf is changed from a floating state to a near-ground state. At the same time, the terrain data of the leaf's landing point is determined, the optimal angle for the leaf to conform to the ground (i.e., motion adjustment data) is calculated, and based on this optimal angle, the current shape of the leaf is adjusted by rotation so that the leaf conforms to the terrain when it lands on the ground.

[0050] Action adjustment conditions can be understood as the conditions that allow the initially moving object to perform action adjustments. For example, if the current state data is near-ground, then the action adjustment condition is determined to be met.

[0051] Specifically, the object processing method provided in this specification, before performing operations such as determining the current position of the initial moving object in the target area and obtaining the target moving object, needs to obtain the current state information of the initial moving object's movement within the target area. For example, this current state information could be the floating state or near-ground state of a leaf particle. Then, if the current state data satisfies the action adjustment conditions, the method determines the current position of the initial moving object in the target area and, based on the current position, determines the target position for the initial moving object to move to within the target area, until the target moving object is obtained. This achieves the goal of processing the initial moving object when its current state data meets the action adjustment conditions, avoiding hindering the normal movement of the initial moving object while saving computer computing resources.

[0052] Taking the scenario of adjusting the falling action of leaves as an example, the initial moving object is the initial leaf particle. It should be noted that this leaf particle is created based on VisualEffectGraph, which can support millions of particles. Furthermore, each leaf particle can have a corresponding control unit. During the falling action of the leaf particle on the game map, the current map's terrain height map is read and mapped to its world space position. This world space position is compared with the leaf's own height position to distinguish the leaf particle's current state information, including but not limited to floating, near the ground, landing, and interacting. Based on this, before adjusting the leaf particle's current falling action, it is necessary to determine and obtain the leaf particle's current state information. If the current state information is determined to be near the ground, in order to ensure that the leaf can adhere to the ground during falling, the action adjustment for the leaf particle is triggered, thus obtaining an adjusted leaf particle that adheres to the ground.

[0053] Furthermore, in the embodiments provided in this specification, in order to improve the applicability of the object processing method, it can also be determined in real time whether to adjust the current movement action of the initial moving object based on the height difference between the current height of the initial moving object and the ground height of the target location, thereby avoiding the computer resources consumed by storing the current state data. Specifically, determining that the current state data meets the action adjustment conditions includes:

[0054] Determine a first height difference between the current height at which the initial moving object moves within the target area and the ground height at the target location;

[0055] If the first height difference meets the first preset difference range, the current state data is determined to meet the action adjustment conditions.

[0056] The first preset difference range can be understood as a numerical range. This first preset difference range can be set according to the actual application scenario. This manual does not make a specific setting for it. For example, a numerical range of less than or equal to 0.5 meters and greater than 0.1 centimeters.

[0057] Using the previous example, as the leaf particles fall in the game map, the current map's terrain height map is read and mapped to a world space position. Then, the height difference between the world space position and the leaf's own height position is calculated. If the height difference is less than or equal to 0.5 meters and greater than 0.1 centimeters, the current state data is determined to meet the action adjustment conditions.

[0058] Step 204: Determine the action adjustment data based on the terrain data of the target location and the current movement data of the initial moving object.

[0059] The terrain data can be understood as data representing the terrain conditions at the target location, including but not limited to data representing the terrain direction at the target location and terrain angle data representing the terrain angle at the target location. For example, the terrain data can be normal direction data.

[0060] Current movement data can be understood as data that characterizes the current movement of the initially moving object, and this current movement data can be the current movement angle data.

[0061] Motion adjustment data can be understood as data used to adjust the current movement motion of the initially moving object, such as motion adjustment angle data.

[0062] Specifically, in one embodiment provided in this specification, the terrain data is terrain angle data, and the current movement data is current movement angle data;

[0063] Accordingly, determining the motion adjustment data based on the terrain data of the target location and the current movement data of the initial moving object includes:

[0064] The terrain angle data for determining the target location, and the current movement angle data for the initial moving object to move;

[0065] Based on the terrain angle data and the current movement angle data, the action adjustment angle data is determined.

[0066] The terrain angle data can be understood as data representing the terrain angle corresponding to the target location, such as the normal direction. In practical applications, the object processing method provided in this specification, in determining the terrain angle data of the target location, includes determining the regional terrain data corresponding to the target area, and determining the terrain angle data corresponding to the target location from the regional terrain data. The regional terrain data can be a normal map, and the terrain angle data can be the normal direction. For example, in practical applications, the object processing method provided in this specification can obtain the coordinates of the initial moving object projected onto the ground from its current position, which is the target location; use these coordinates to sample the normal map of the scene terrain map to obtain the normal direction of the corresponding location. The terrain angle data can include the angle data of the target location on the x-axis, y-axis, and z-axis.

[0067] The current movement angle data can be understood as the angle data of the initial moving object currently moving. For example, the current movement angle can be a horizontal angle. This current movement angle data can include the angle data of the initial moving object on the x-axis, y-axis, and z-axis.

[0068] The motion adjustment angle data can be understood as the data for adjusting the current motion angle of the initial moving object. This motion adjustment angle data can include the angle data that the initial moving object needs to adjust on the x-axis, y-axis, and z-axis.

[0069] Specifically, in order to ensure the realism of the initial moving object during the movement process, the object processing method provided in this specification will adjust the movement angle of the initial moving object to ensure that the movement process of the initial moving object conforms to the real physical laws. Based on this, it is necessary to determine the terrain angle data of the target location and the current movement angle data of the initial moving object; then, based on the terrain angle data and the current movement angle data, the action adjustment angle data for the initial moving object is calculated.

[0070] Continuing with the previous example, by obtaining the coordinates of the leaf particle's projection onto the ground from its current position, we use these coordinates to sample the normal map of the terrain, thereby obtaining the normal direction corresponding to the target position. Then, based on the relationship between the normal direction and the positive y-axis direction, we deduce the angle adjustment parameters that the leaf must make to transition from its initial angle (i.e., horizontal angle) to a ground-hugging angle.

[0071] Furthermore, in one embodiment provided in this specification, during the calculation of the action adjustment angle data, the rotation degree between the terrain angle data and the current movement angle data can be used to determine the angle. This facilitates subsequent adjustments to the current movement of the initial moving object based on the action adjustment angle, thereby obtaining a realistic target moving object that conforms to the laws of physics. Specifically, determining the action adjustment angle data based on the terrain angle data and the current movement angle data includes:

[0072] Determine the rotation degree between the terrain angle data and the current movement angle data, and determine the action adjustment angle data based on the rotation degree.

[0073] Here, the rotation degree can be understood as the angle parameter that the initially moving object needs to rotate.

[0074] Following the previous example, after obtaining the normal direction corresponding to the target position and the horizontal angle of the leaf, the angle at which the leaf needs to be deflected is determined by calculating the degree of rotation between the normal direction and the horizontal angle.

[0075] In one embodiment provided in this specification, to ensure the realism and precision of adjusting the current movement action of the initial moving object, the object processing method provided in this specification determines the deflection angle of the initial moving object on multiple coordinate axes more accurately based on the comparison of angles on multiple coordinate axes. Specifically, determining the rotation degree between the terrain angle data and the current movement angle data, and determining the action adjustment angle data based on the rotation degree, includes:

[0076] Based on the current movement angle data, determine the first coordinate axis plane and the second coordinate axis plane;

[0077] Determine the first component data of the terrain angle data in the first coordinate axis plane, and the second component data in the second coordinate axis plane;

[0078] The rotation degree of the first coordinate axis is calculated based on the first component data and the first coordinate axis, and the rotation degree of the second coordinate axis is calculated based on the second component data and the second coordinate axis.

[0079] Obtain the preset rotation degree of the third coordinate axis corresponding to the initial moving object;

[0080] The rotation degrees of the first coordinate axis, the rotation degrees of the second coordinate axis, and the preset rotation degrees of the third coordinate axis are determined as the rotation degrees of the initial moving object.

[0081] Here, the first coordinate axis can be understood as the horizontal axis in the game scene, also known as the X-axis; the terrain's first coordinate axis angle can be understood as the angle between the normal direction of the target position and the X-axis; and the object's first coordinate axis angle can be understood as the angle between the current angle of the initially moving object (such as a leaf particle) and the X-axis.

[0082] The second coordinate axis can be understood as the vertical axis in the game scene, also known as the Z-axis; the terrain's second coordinate axis angle can be understood as the angle between the normal direction of the target position and the Z-axis. The object's second coordinate axis angle can be understood as the angle between the current angle of the initially moving object (such as a leaf particle) and the Z-axis.

[0083] The third coordinate axis can be understood as the vertical axis in the game scene, also known as the Y-axis; the preset angle value of the third coordinate axis can be understood as a pre-set random degree of rotation around the Y-axis. By setting this random degree, the effect of leaf particles rotating and falling can be achieved, improving the realism of the leaf particles.

[0084] Using the previous example, the current movement angle data is the vector of the leaf along the x-axis, z-axis, and y-axis; the first coordinate axis is the x-axis; the second coordinate axis is the z-axis; the first coordinate axis plane is the x-axis plane, and the second coordinate axis plane is the z-axis plane; based on this, according to the relationship between the terrain normal direction and the positive y-axis direction, calculate the amount of rotation required to rotate the leaf's vector parallel to the y-axis to be parallel to the terrain normal, specifically the amount of rotation required around the x-axis and around the z-axis.

[0085] The specific approach is as follows: First, calculate the projections of the unit-length normal vector onto the x-plane and z-plane. Since the plane to be projected is horizontal, the projection process can be simplified to directly using the x-axis component (i.e., the first component data) and z-axis component (i.e., the second component data) of the original vector. Because the referenced normal vector is of unit length, its x-axis component is exactly equal to the sine value of the angle it needs to rotate around the z-axis. Similarly, the length of the z-axis component of the projection of the unit normal vector is also exactly equal to the sine value of the angle it needs to rotate around the x-axis. By calculating the asin (the inverse function of the sine function) of these two components, the required rotation degrees around the x-axis (i.e., the first coordinate axis rotation degrees) and rotation degrees around the z-axis (i.e., the second coordinate axis rotation degrees) of the blade can be obtained. Then, when the blade's ground contact angle is determined, a random degree of rotation around the y-axis (i.e., the preset third coordinate axis rotation degree) is obtained. The rotation components obtained above, such as the angle of rotation around the x-axis, the angle of rotation around the z-axis, and the random degree of rotation around the y-axis, are combined into a Vector3. This Vector3 is the Euler angle of the blade rotating in the yxz order. Rotating in the yxz order means rotating the blade first along the y-axis, then along the x-axis, and finally along the z-axis to obtain the final Euler angle.

[0086] It should be noted that since the particle engine's default Euler angles are in the zxy order, the Euler angles obtained above in the yxz order need to be converted into quaternions and then converted into Euler angles in the zxy order.

[0087] Step 206: Adjust the current movement action of the initial moving object according to the action adjustment data to obtain the target moving object.

[0088] The current movement action can be understood as the movement action that the initial moving object is currently performing within the target area, including but not limited to falling, running, and walking actions.

[0089] The target object to be moved can be understood as the object whose movement is being adjusted.

[0090] Specifically, adjusting the current movement action of the initial moving object based on the action adjustment data includes:

[0091] Based on the rotation degree of the first coordinate axis, the current movement action of the initially moving object on the first coordinate axis is adjusted;

[0092] Based on the rotation degree of the second coordinate axis, the current movement action of the initially moving object on the second coordinate axis is adjusted;

[0093] Based on the preset rotation degree of the third coordinate axis, the current movement action of the initially moving object on the third coordinate axis is adjusted.

[0094] Following the previous example, after obtaining the Euler angles selected for the movement angle of the fallen leaf, the leaf is rotated along the X-axis according to the rotation angle that the leaf must rotate around the x-axis; the leaf is rotated along the z-axis according to the rotation angle that the leaf must rotate around the z-axis; and the leaf is rotated along the y-axis according to the rotation angle that the leaf must rotate around the y-axis, thereby obtaining a leaf that fits at the angle to the ground.

[0095] Furthermore, the initial moving object is the initial falling object, the current moving action is the current falling action, and the target moving object is the target falling object;

[0096] Accordingly, adjusting the current movement action of the initial moving object based on the action adjustment data to obtain the target moving object includes:

[0097] The current falling motion of the initial falling object is adjusted based on the motion adjustment data to obtain the target falling object.

[0098] The initial falling object can be understood as an object falling within the target area, such as a game model, leaf particles, snowflake particles, or a virtual reality object that needs to fall (such as virtual leaves or virtual raindrops). The target falling object can be understood as an object whose falling motion has been modified. For example, a leaf particle whose falling angle has been changed to fit the ground.

[0099] Following the previous example, after obtaining the Euler angle for the movement angle of the falling leaf, the movement angle of the leaf is adjusted according to the Euler angle to obtain a leaf that fits the angle of the ground, thereby improving the realism of the game scene and enhancing the player's experience.

[0100] It's worth noting that the object processing method provided in this manual scatters generated particles (such as fallen leaf particles or snowflake particles) onto the game scene ground at random or specified locations. During the scattering process, the particle positions need to be initialized. Taking fallen leaf particles as an example, a rectangular area can be drawn on the game map as the scattering area, i.e., the target area. Leaves will fall within this rectangular area. Leaves outside the rectangular area can be hidden. Specifically, a rectangular area (such as a rectangle) is set. See [link to documentation]. Figure 3 , Figure 3 This is a schematic diagram of the target area in an object processing method provided in one embodiment of this specification; this rectangular area needs to be able to project onto the terrain model. For the method of scattering according to random positions, the position of the center point of the rectangular area can be determined by length and width, and four coordinate positions can be obtained. These four points are the four corners of the rectangular area. By setting the maximum and minimum values ​​of the blade generation area using the coordinates of the four corners, random positions are generated. Each blade uses a different random value, thereby achieving random scattering. For the method of scattering according to specified positions, also known as the grid generation method, the number of rows h and the number of columns c of the grid set in the rectangular area can be calculated using the particle number i. The quotient d and the remainder r of the number i with respect to the number of rows h and the number of columns c respectively (only the integer part is taken); then, the result of d(i) / h [decimal] is remapped from the interval of 0-1 to the width range of the rectangle, and the result of r(1) / c is remapped from the interval of 0-1 to the length range of the rectangle. This result is the blade position obtained by the grid generation method. However, this grid generation method generates particles with equal spacing between them. During development, the grid generation scheme makes it easier to control the position of particles and facilitates debugging on special terrains.

[0101] Furthermore, the object processing method provided in this manual can also generate particles within a specified range. That is, depending on the needs of the actual application, an irregular area can be drawn on the map, and particles will fall within that area (particles outside the area can be hidden). Specifically, a mask image of the same size as the map is used to set the generation range of the leaves. The area where leaves need to be laid on the terrain map is outlined and filled with white; the remaining areas are left black. Then, the mask image is sampled using the projection of the leaf coordinates onto the xz plane, and the brightness of the sampled pixels is used to determine whether to retain the leaf particles. Leaves in white areas are retained, while leaves in black areas are not displayed.

[0102] In one embodiment provided in this specification, when the target moving object is too close to the ground, the movement of the target moving object will be stopped to avoid clipping. Specifically, after adjusting the current movement action of the initial moving object according to the action adjustment data to obtain the target moving object, the process further includes:

[0103] Determine the current height at which the target moving object is moving within the target area, and stop the target moving object from moving within the target area if the current height meets a preset stopping condition.

[0104] The preset stop condition can be understood as the condition under which the initially moving object can stop moving.

[0105] Using the previous example, as the leaf particle falls in the game map, the current map's terrain height map is read and mapped to its world space position. Then, the height difference between the world space position and the leaf's own height position is calculated. If the height difference meets the preset stopping condition, the leaf particle stops moving and saves its state of being in contact with the ground.

[0106] Further, determining that the current height meets the preset stopping condition includes:

[0107] Determine the height difference between the current height at which the target moving object is moving in the target area and the ground height of the target area;

[0108] If the second height difference meets the second preset difference range, the current height is determined to meet the preset stop condition.

[0109] Using the previous example, as the leaf particles fall in the game map, the terrain height map of the current map is read and mapped to the world space position. Then, the height difference between the world space position and the height position of the leaf itself is calculated. When the height difference between the leaf particle and the ground is less than the ground threshold (such as 0.01 cm), its state is updated to ground-hugging, its height is set to the ground height, and it stops moving, thus avoiding the clipping problem.

[0110] In one embodiment provided in this specification, after the target moving object stops moving, when other objects in the target area interact with the target moving object, such as touching or kicking it, the target moving object will be triggered to move again. For example, in the leaf kicking effect interaction scheme, a transform (i.e., an interactive object) outside the VisualEffectGraph system is bound as the protagonist that can interact with the leaf. When the leaf is on the ground, when the distance between the model (game protagonist) and the leaf reaches a preset distance difference, a displacement speed is determined for the leaf based on the protagonist's movement direction and a randomly set intensity value, thereby achieving the effect of kicking the leaf away, making the leaf state float in the air, thus making the game scene more realistic. Specifically, after stopping the target moving object from moving in the target area, the process further includes:

[0111] Determine the current position of the movement triggering object in the target area, and the distance difference between the current position of the target moving object in the target area, wherein the movement triggering object triggers the target moving object to move;

[0112] If the distance difference satisfies the preset movement triggering condition, the object movement data of the target moving object is determined based on the current movement state of the moving triggering object;

[0113] Based on the object movement data, the target moving object is moved within the target area.

[0114] The movement trigger object can be understood as the object that triggers the target movement object to move again. The movement trigger object can be a model that moves within the target area, such as a game character or a game animal.

[0115] The object movement data can be understood as the data required for the target moving object to move again, including but not limited to movement direction data and object movement speed data.

[0116] The preset movement trigger condition can be set according to the actual application scenario. For example, if the distance difference is less than the preset threshold, then the distance difference is determined to meet the preset movement trigger condition.

[0117] The current movement state of the movement triggering object can be understood as the movement direction, movement speed, and other data of the movement triggering object.

[0118] Continuing with the previous example, in practical applications, the control unit of the leaf particle will attach a protagonist object and input the protagonist's position information. Then, based on a pre-set response radius parameter, when the distance difference between the leaf particle's position and the protagonist's position is less than the response radius, the leaf will be affected. Then, based on the protagonist's own movement direction, speed, and other data, the leaf's movement data is calculated. Based on this movement data, the leaf is moved at a specific speed and in a specific direction, achieving a kicking effect, improving the realism of the game scene and the player's gaming experience. It should be noted that this distance difference is obtained by converting the leaf particle's position to the world reference frame and subtracting it from the protagonist's position; the modulus of this difference is the distance between the leaf and the protagonist.

[0119] Further, determining the object movement data of the target moving object based on the current movement state of the moving trigger object includes:

[0120] Determine the movement direction data between the movement trigger object and the target movement object;

[0121] Based on the movement direction data and preset speed calculation parameters, calculate the object speed data of the target moving object;

[0122] The movement direction data and the object movement speed data are determined as the object movement data of the target movement data.

[0123] The movement direction data can be understood as a direction vector pointing from the current position of the triggering object to the target moving object. The preset movement speed calculation parameter can be understood as a random momentum parameter used to calculate the object's movement speed data.

[0124] Continuing with the previous example, when the leaf is close to the ground and its distance from the player's center is less than the response radius, the effect of kicking the leaf away will be triggered. To achieve this effect, the displacement velocity and direction of the leaf need to be determined. The displacement direction can be determined by setting a direction vector pointing from the player's position to the leaf's current position, retaining the x and z axis components of this direction vector, and setting an upward y-axis component with random intensity. Then, this direction vector is normalized and multiplied by a random momentum parameter to obtain a product vector. This product vector is then set as the leaf's displacement velocity. Simultaneously, the leaf's state is changed to a floating state. Subsequently, the leaf can be moved according to its displacement velocity and direction.

[0125] In one embodiment provided in this specification, to ensure that the target moving object closely matches the terrain of the target location and enhances realism, the operation of determining the motion adjustment data and adjusting the current movement motion of the initial moving object based on the motion adjustment data is continuously performed. Therefore, at least two motion adjustment data sets can be obtained; based on this, the motion adjustment data is determined according to the terrain data of the target location and the current movement data of the initial moving object, including:

[0126] The target motion adjustment data is obtained by taking a weighted average of at least two motion adjustment data, and then the current motion of the initial moving object is adjusted based on the target motion adjustment data to obtain the target movement data.

[0127] Following the previous example, during the weighted averaging of at least two action adjustment data, the leaf's age needs to be reset to 0 seconds, and its near-ground survival time needs to be estimated based on the height difference between the leaf's current height and the target position. Then, the leaf's age is calculated by dividing the survival time mentioned above. This result (i.e., the ratio) is used as a weight to calculate a weighted average of multiple Euler angles, including the leaf's current rotation Euler angle and historically obtained Euler angles. Finally, the weighted average result is assigned as the final angle to the leaf.

[0128] In practical applications, when it is determined that the leaf is in a state of touching the ground, the normal direction of the leaf corresponding to the ground position can be read, the Euler angles of the z-axis, x-axis and y-axis can be recalculated, and the values ​​can be directly assigned to the leaf to obtain a leaf that is touching the ground.

[0129] The object processing method provided in this specification determines the action adjustment data for the initial moving object by using the current movement data of the initial moving object moving in the target area and the terrain data of the target location that the initial moving object needs to move to in the target area. Based on the action adjustment data, the current movement action of the initial moving object is adjusted to obtain a more realistic target moving object, thereby improving the realism of the game and the game experience of the players.

[0130] The following is in conjunction with the appendix Figure 4 Taking the application of the object processing method provided in this specification to the falling leaf effect in an interactive scene as an example, the object processing method will be further explained. Figure 4 The present specification shows a flowchart of an object processing method according to an embodiment, which includes the following steps.

[0131] Step 402: Generate leaf particles and determine the falling area of ​​the leaf particles.

[0132] The leaf particle can be the initial moving object mentioned above, and the falling area can be the target area mentioned above.

[0133] It should be noted that when the landing area is large, in order to save performance, the landing area can be divided into multiple smaller areas, and the relative positions of the smaller areas in the terrain can be set for the script to switch some particles on and off.

[0134] Specifically, the object processing method provided in this specification can generate leaf particles and initialize their positions, allowing the leaf particles to scatter within a rectangular falling area set in the game map. This position initialization method includes random positions and specified positions, as detailed in the corresponding content of the above embodiments.

[0135] In addition, leaves can be generated within a specified range. That is, the range for leaf generation can be determined by reading a mask image, as detailed in the corresponding content of the above embodiments.

[0136] It should be noted that the object processing methods provided in this manual determine the behavior of the leaf particles based on their current state. For example, when a particle is floating, it will randomly rotate and tumble, gaining gravitational acceleration; when a particle is near the ground, it will stop tumbling and its angle will gradually rotate towards the Euler angle calculated based on the terrain normal; when a particle lands (i.e., in a close-to-the-ground state), its velocity and angular velocity will return to zero. When a particle is in an interactive state, it gains momentum that is upward along the y-axis and outward along the x and z-axis planes.

[0137] Step 404: If the current state of the leaf particles is determined to be near the ground, determine the landing point of the fallen leaf particles.

[0138] The landing point is the target location in the above embodiment.

[0139] Specifically, the control unit of the leaf particle reads the terrain height map and maps it to the world space position. The terrain height is compared with the height of the leaf itself and the state is distinguished. When the leaf is determined to be in a near-ground state, the coordinates of the leaf's projection onto the ground at the current position are obtained, that is, the landing point position.

[0140] Step 406: Determine the normal direction corresponding to the landing point of the fallen leaf particles.

[0141] Specifically, the control unit of the leaf particles uses the coordinates of the landing point to sample the normal map of the terrain map, and obtains the normal direction of the corresponding landing point based on the read terrain normal map.

[0142] Step 408: Calculate the Euler angle of the fallen leaf particle based on the normal direction and the current angle of the fallen leaf particle.

[0143] Specifically, based on the relationship between the normal direction and the positive y-axis direction, the angles of rotation around the x-axis and around the z-axis that the leaf must make to transition from its initial angle to its ground-hugging angle are deduced; a preset random degree of rotation around the y-axis is obtained. These three values ​​are then used as the Euler angles that the leaf particle should have when it is touching the ground.

[0144] Step 410: Based on Euler angles, the falling motion angle of the leaf particles is adjusted by rotation.

[0145] Specifically, the aforementioned Euler angles require three rotations in the order of first rotating around the y-axis, then around the x-axis, and finally around the z-axis to bring the blade to the ground. Any other rotation sequence will result in a final rotation angle that does not meet the expected calculation. However, VisualEffectGraph supports a rotation sequence of zxy, not yxz. Therefore, the yxz Euler angles obtained in step 408 need to be converted into quaternions, and then converted back from the quaternions to another Euler angle in the zxy rotation sequence to achieve the desired ground-hugging state after the blade rotates. Setting this resulting Euler angle as the final angle of the blade will achieve the purpose of rotating and adjusting the falling angle of the leaf particles.

[0146] Step 412: If the current state of the leaf particle is determined to be ground-hugging, stop the movement of the leaf particle.

[0147] Step 414: If the distance between the game protagonist and the fallen leaf particle in its ground-hugging state is less than the response radius, calculate the displacement direction and displacement velocity of the fallen leaf particle.

[0148] Step 416: Move the leaf particles according to the displacement direction and displacement velocity.

[0149] Based on the above steps, the problems of weak physical simulation capabilities and large temporal and spatial granularity of existing VisualEffectGraph can be avoided. See details... Figure 5 , Figure 5 This is a schematic diagram of an existing leaf simulation provided in one embodiment of this specification, based on... Figure 5 It is known that existing technologies suffer from problems such as leaves falling off the substrate and failing to adhere to the ground during leaf simulation. The object processing method provided in this specification offers a physical simulation system that is adaptable to large-scale particle simulations and is independent of time granularity; see [link to documentation]. Figure 6 , Figure 6 This is a schematic diagram illustrating leaf simulation in an object processing method provided in one embodiment of this specification. Based on Figure 6 As can be seen, the object processing method provided in this manual overcomes the problems of leaf clipping and falling off, and not being able to stick to the ground, thus improving the realism of the physical simulation and the player's gaming experience.

[0150] Corresponding to the above method embodiments, this specification also provides embodiments of an object processing apparatus. Figure 7 A schematic diagram of an object processing apparatus according to one embodiment of this specification is shown. Figure 7 As shown, the device includes:

[0151] The position determination module 702 is configured to determine the current position of the initial moving object in the target area, and determine the target position of the initial moving object from the target area based on the current position;

[0152] The data determination module 704 is configured to determine action adjustment data based on the terrain data of the target location and the current movement data of the initial moving object.

[0153] The motion adjustment module 706 is configured to adjust the current movement motion of the initial moving object according to the motion adjustment data to obtain the target moving object.

[0154] Optionally, the terrain data is terrain angle data, and the current movement data is current movement angle data;

[0155] Accordingly, the data determination module 704 is further configured to:

[0156] The terrain angle data for determining the target location, and the current movement angle data for the initial moving object to move;

[0157] Based on the terrain angle data and the current movement angle data, the action adjustment angle data is determined.

[0158] Optionally, the data determination module 704 is further configured to:

[0159] Determine the rotation degree between the terrain angle data and the current movement angle data, and determine the action adjustment angle data based on the rotation degree.

[0160] Optionally, the data determination module 704 is further configured to:

[0161] Based on the current movement angle data, determine the first coordinate axis plane and the second coordinate axis plane;

[0162] Determine the first component data of the terrain angle data in the first coordinate axis plane, and the second component data in the second coordinate axis plane;

[0163] The rotation degree of the first coordinate axis is calculated based on the first component data and the first coordinate axis, and the rotation degree of the second coordinate axis is calculated based on the second component data and the second coordinate axis.

[0164] Obtain the preset rotation degree of the third coordinate axis corresponding to the initial moving object;

[0165] The rotation degrees of the first coordinate axis, the rotation degrees of the second coordinate axis, and the preset rotation degrees of the third coordinate axis are determined as the rotation degrees of the initial moving object.

[0166] Optionally, the motion adjustment module 706 is further configured to:

[0167] Based on the rotation degree of the first coordinate axis, the current movement action of the initially moving object on the first coordinate axis is adjusted;

[0168] Based on the rotation degree of the second coordinate axis, the current movement action of the initially moving object on the second coordinate axis is adjusted;

[0169] Based on the preset rotation degree of the third coordinate axis, the current movement action of the initially moving object on the third coordinate axis is adjusted.

[0170] Optionally, the initial moving object is the initial falling object, the current moving action is the current falling action, and the target moving object is the target falling object;

[0171] Accordingly, the motion adjustment module 706 is also configured to:

[0172] The current falling motion of the initial falling object is adjusted based on the motion adjustment data to obtain the target falling object.

[0173] Optionally, the position determination module 702 is further configured to:

[0174] Get the current state data of the initial moving object as it moves within the target area;

[0175] If the current state data satisfies the action adjustment conditions, the current position of the initial moving object in the target area is determined, and the target position of the initial moving object in the target area is determined from the target area based on the current position.

[0176] Optionally, the position determination module 702 is further configured to:

[0177] Determine a first height difference between the current height at which the initial moving object moves within the target area and the ground height at the target location;

[0178] If the first height difference meets the first preset difference range, the current state data is determined to meet the action adjustment conditions.

[0179] Optionally, the object processing device further includes a stop movement module, configured to:

[0180] Determine the current height at which the target moving object is moving within the target area, and stop the target moving object from moving within the target area if the current height meets a preset stopping condition.

[0181] Optionally, the stop-movement module is further configured to:

[0182] Determine the height difference between the current height at which the target moving object is moving in the target area and the ground height of the target area;

[0183] If the second height difference meets the second preset difference range, the current height is determined to meet the preset stop condition.

[0184] Optionally, the object processing device further includes a trigger movement module, configured to:

[0185] Determine the current position of the movement triggering object in the target area, and the distance difference between the current position of the target moving object in the target area, wherein the movement triggering object triggers the target moving object to move;

[0186] If the distance difference satisfies the preset movement triggering condition, the object movement data of the target moving object is determined based on the current movement state of the moving triggering object;

[0187] Based on the object movement data, the target moving object is moved within the target area.

[0188] Optionally, the trigger movement module is further configured to:

[0189] Determine the movement direction data between the movement trigger object and the target movement object;

[0190] Based on the movement direction data and preset speed calculation parameters, calculate the object speed data of the target moving object;

[0191] The movement direction data and the object movement speed data are determined as the object movement data of the target movement data.

[0192] The object processing device provided in this specification determines action adjustment data for the initial moving object by using the current movement data of the initial moving object moving in the target area and the terrain data of the target location that the initial moving object needs to move to in the target area. Based on the action adjustment data, the current movement action of the initial moving object is adjusted to obtain a more realistic target moving object, thereby improving the realism of the game and the game experience of the players.

[0193] The above is an illustrative scheme of an object processing apparatus according to this embodiment. It should be noted that the technical solution of this object processing apparatus and the technical solution of the object processing method described above belong to the same concept. For details not described in detail in the technical solution of the object processing apparatus, please refer to the description of the technical solution of the object processing method described above.

[0194] Figure 8 A structural block diagram of a computing device 800 according to one embodiment of this specification is shown. The components of the computing device 800 include, but are not limited to, a memory 810 and a processor 820. The processor 820 is connected to the memory 810 via a bus 830, and a database 850 is used to store data.

[0195] The computing device 800 also includes an access device 840, which enables the computing device 800 to communicate via one or more networks 860. Examples of these networks include a Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), or a combination of communication networks such as the Internet. The access device 840 may include one or more of any type of wired or wireless network interface (e.g., a Network Interface Card (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) interface, a Wi-MAX interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC) interface, and so on.

[0196] In one embodiment of this specification, the above-described components of the computing device 800 and Figure 8 Other components, not shown, can also be connected to each other, for example, via a bus. It should be understood that... Figure 8 The block diagram of the computing device shown is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art can add or replace other components as needed.

[0197] The computing device 800 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or PCs. The computing device 800 can also be a mobile or stationary server.

[0198] The processor 820 is configured to execute the following computer-executable instructions, which, when executed by the processor 820, implement the steps of the above-described object processing method.

[0199] The above is an illustrative scheme of a computing device according to this embodiment. It should be noted that the technical solution of this computing device and the technical solution of the object processing method described above belong to the same concept. For details not described in detail in the technical solution of the computing device, please refer to the description of the technical solution of the object processing method described above.

[0200] An embodiment of this specification also provides a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the steps of the object processing method described above.

[0201] The above is an illustrative scheme of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of this storage medium and the technical solution of the object processing method described above belong to the same concept. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the object processing method described above.

[0202] An embodiment of this specification also provides a computer program, wherein when the computer program is executed in a computer, it causes the computer to perform the steps of the above-described object processing method.

[0203] The above is an illustrative scheme of a computer program according to this embodiment. It should be noted that the technical solution of this computer program and the technical solution of the object processing method described above belong to the same concept. For details not described in detail in the technical solution of the computer program, please refer to the description of the technical solution of the object processing method described above.

[0204] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0205] The computer instructions include computer program code, which may be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added to or subtracted according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

[0206] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments in this specification are not limited to the described order of actions, because according to the embodiments in this specification, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the embodiments in this specification.

[0207] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0208] The preferred embodiments disclosed above are merely illustrative of this specification. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the embodiments described herein. These embodiments are selected and specifically described in this specification to better explain the principles and practical applications of the embodiments, thereby enabling those skilled in the art to better understand and utilize this specification. This specification is limited only by the claims and their full scope and equivalents.

Claims

1. An object processing method, characterized in that, include: If the height difference reaches a first preset difference range when the current state data of the initial moving object moving in the target area is determined, the current position of the initial moving object moving in the target area is determined, and the target position of the initial moving object moving in the target area is determined from the target area according to the current position. The height difference refers to the height difference between the world space position mapped by the terrain height map of the current map and the height position of the initial moving object. Based on the terrain data of the target location and the current movement data of the initial moving object, determine the action adjustment data; Adjusting the current movement action of the initial moving object according to the action adjustment data to obtain the target moving object includes: adjusting the current falling action of the initial falling object according to the action adjustment data to obtain the target falling object, wherein the initial moving object is the initial falling object, the current movement action is the current falling action, and the target moving object is the target falling object.

2. The object processing method according to claim 1, characterized in that, The terrain data is terrain angle data, and the current movement data is current movement angle data; Accordingly, determining the motion adjustment data based on the terrain data of the target location and the current movement data of the initial moving object includes: The terrain angle data for determining the target location, and the current movement angle data for the initial moving object to move; Based on the terrain angle data and the current movement angle data, the action adjustment angle data is determined.

3. The object processing method according to claim 2, characterized in that, The step of determining the action adjustment angle data based on the terrain angle data and the current movement angle data includes: Determine the rotation degree between the terrain angle data and the current movement angle data, and determine the action adjustment angle data based on the rotation degree.

4. The object processing method according to claim 3, characterized in that, The step of determining the rotation degree between the terrain angle data and the current movement angle data, and determining the action adjustment angle data based on the rotation degree, includes: Based on the current movement angle data, determine the first coordinate axis plane and the second coordinate axis plane; Determine the first component data of the terrain angle data in the first coordinate axis plane, and the second component data in the second coordinate axis plane; The rotation degree of the first coordinate axis is calculated based on the first component data and the first coordinate axis, and the rotation degree of the second coordinate axis is calculated based on the second component data and the second coordinate axis. Obtain the preset rotation degree of the third coordinate axis corresponding to the initial moving object; The rotation degrees of the first coordinate axis, the rotation degrees of the second coordinate axis, and the preset rotation degrees of the third coordinate axis are determined as the rotation degrees of the initial moving object.

5. The object processing method according to claim 4, characterized in that, The step of adjusting the current movement action of the initial moving object based on the action adjustment data includes: Based on the rotation degree of the first coordinate axis, the current movement action of the initially moving object on the first coordinate axis is adjusted; Based on the rotation degree of the second coordinate axis, the current movement action of the initially moving object on the second coordinate axis is adjusted; Based on the preset rotation degree of the third coordinate axis, the current movement action of the initially moving object on the third coordinate axis is adjusted.

6. The object processing method according to claim 1, characterized in that, Determining the current position of the initial moving object within the target area, and determining the target position for the initial moving object to move from the target area based on the current position, includes: Get the current state data of the initial moving object as it moves within the target area; If the current state data satisfies the action adjustment conditions, the current position of the initial moving object in the target area is determined, and the target position of the initial moving object in the target area is determined from the target area based on the current position.

7. The object processing method according to claim 6, characterized in that, Determining that the current state data meets the action adjustment conditions includes: Determine a first height difference between the current height at which the initial moving object moves within the target area and the ground height at the target location; If the first height difference meets the first preset difference range, the current state data is determined to meet the action adjustment conditions.

8. The object processing method according to claim 1, characterized in that, After adjusting the current movement action of the initial moving object according to the action adjustment data to obtain the target moving object, the process further includes: Determine the current height at which the target moving object is moving within the target area, and stop the target moving object from moving within the target area if the current height meets a preset stopping condition.

9. The object processing method according to claim 8, characterized in that, The step of determining that the current height meets the preset stopping condition includes: Determine a second height difference between the current height at which the target moving object is moving in the target area and the ground height of the target area; If the second height difference meets the second preset difference range, the current height is determined to meet the preset stop condition.

10. The object processing method according to claim 8, characterized in that, After stopping the target moving object from moving within the target area, the method further includes: Determine the current position of the movement triggering object in the target area, and the distance difference between the current position of the target moving object in the target area, wherein the movement triggering object triggers the target moving object to move; If the distance difference satisfies the preset movement triggering condition, the object movement data of the target moving object is determined based on the current movement state of the moving triggering object; Based on the object movement data, the target moving object is moved within the target area.

11. The object processing method according to claim 10, characterized in that, The step of determining the object movement data of the target moving object based on the current movement state of the moving trigger object includes: Determine the movement direction data between the movement trigger object and the target movement object; Based on the movement direction data and preset speed calculation parameters, calculate the object speed data of the target moving object; The movement direction data and the object movement speed data are determined as the object movement data of the target moving object.

12. An object processing apparatus, characterized in that, include: The location determination module is configured to determine the current position of the initial moving object in the target area when the height difference is determined to reach a first preset difference range based on the current state data of the initial moving object moving in the target area, and to determine the target position of the initial moving object from the target area based on the current position. The height difference refers to the height difference between the world spatial position mapped by the terrain height map of the current map and the height position of the initial moving object. The data determination module is configured to determine action adjustment data based on the terrain data of the target location and the current movement data of the initial moving object. The motion adjustment module is configured to adjust the current movement motion of the initial moving object according to the motion adjustment data to obtain the target moving object; The motion adjustment module is further configured to adjust the current falling motion of the initial falling object according to the motion adjustment data to obtain the target falling object, wherein the initial moving object is the initial falling object, the current moving motion is the current falling motion, and the target moving object is the target falling object.

13. A computing device, comprising: Memory and processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions, which, when executed by the processor, implement the steps of the object processing method according to any one of claims 1 to 11.

14. A computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the steps of the object processing method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Picture rendering method and device, equipment and medium

    CN111882638A

  • Virtual prop interaction method and device and electronic equipment

    CN112090070A

  • Target vegetation model rendering display method and device, equipment and storage medium

    CN112862968A

  • Prop special effect display method and device, computer equipment and storage medium

    CN114100128A