Crushed animation rendering method and device, computer program product and electronic equipment

By pre-creating vertex animation textures and generating fragmentation animations through real-time sampling, the problem of generating textures for each height in mobile games was solved, achieving efficient resource utilization and improved rendering performance.

CN121731748APending Publication Date: 2026-03-27NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-10
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

In mobile games, existing technologies require generating corresponding textures for each fracture effect at different heights, resulting in wasted resources and decreased rendering performance, which negatively impacts the user experience.

Method used

By pre-creating vertex animation textures and determining the reference breaking time based on the start and end positions of the broken object, the vertex animation textures are sampled in real time to generate breaking animations. This supports flexible invocation of the same breaking effect at different heights, reducing repetitive output processes.

Benefits of technology

It improves resource utilization and animation configuration flexibility, reduces memory and storage space usage, avoids duplicate output due to high degree of variation, and enhances rendering performance and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121731748A_ABST
    Figure CN121731748A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of computers, in particular to a broken animation rendering method and device, a computer program product and electronic equipment. The method comprises the following steps: acquiring a vertex animation texture of a to-be-rendered object, wherein the vertex animation texture is obtained by resolving the breaking effect of the to-be-rendered object placed at an end point breaking position; determining reference crushing time according to the starting crushing position and the ending crushing position of the to-be-rendered object, wherein the reference crushing time is used for indicating the playing duration corresponding to the vertex animation texture; sampling the vertex animation texture according to the motion time of the to-be-rendered object falling from the breaking starting position and the reference breaking time to obtain vertex position data of each time point, and determining vertex displacement data of each time point according to the motion time; and based on the vertex position data and the vertex displacement data of each time point, rendering and generating a broken animation of the to-be-rendered object. According to the invention, the efficiency of fragmented animation rendering can be improved, and resource occupation and performance loss of rendering can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of computer technology, and more particularly, to a shatter animation rendering method, a shatter animation rendering device, a computer program product and an electronic device. BACKGROUND

[0002] With the development of the field of computer technology, users have higher and higher requirements for the animation display in network games. At present, when the shatter effect of a virtual object is represented in a game scene, a PC terminal can handle complex shatter physics, while a mobile terminal needs to bind each set of shatter animation to a specific height for the sake of efficiency. Once the height is changed, a texture map needs to be re-produced, resulting in waste of resources and time and affecting the rendering performance to some extent, which is not conducive to user experience.

[0003] It should be noted that the information disclosed in the above background section is only used to strengthen the understanding of the background of the present disclosure, and therefore can include information that does not constitute prior art known to those of ordinary skill in the art. SUMMARY

[0004] The purpose of the present disclosure is to provide a shatter animation rendering method and device, a computer program product and an electronic device, thereby at least to some extent improving the efficiency of shatter animation rendering and reducing the resource occupation and performance loss of rendering.

[0005] Other characteristics and advantages of the present disclosure will become apparent from the following detailed description, or will be learned by practice of the present disclosure.

[0006] According to one aspect of the present disclosure, a shatter animation rendering method is provided, comprising: obtaining a vertex animation texture of a to-be-rendered object, the vertex animation texture being obtained by performing shatter effect calculation on the to-be-rendered object placed at a final shatter position; determining a reference shatter time according to a start shatter position and the final shatter position of the to-be-rendered object, the reference shatter time being used to indicate a playing duration corresponding to the vertex animation texture; when rendering the to-be-rendered object, sampling the vertex animation texture according to a motion time of the to-be-rendered object falling from the start shatter position and the reference shatter time to obtain vertex position data at each time point, and determining vertex displacement data at each time point according to the motion time; and rendering a shatter animation of the to-be-rendered object based on the vertex position data and the vertex displacement data at each time point.

[0007] In an exemplary embodiment of the present disclosure, determining the reference shatter time according to the start shatter position and the final shatter position of the to-be-rendered object comprises: obtaining a height difference between the start shatter position and the final shatter position of the to-be-rendered object; obtaining a required time for the to-be-rendered object to fall from the start shatter position to the final shatter position by moving a distance of the height difference, and determining the reference shatter time according to the required time.

[0008] In an example embodiment of the present disclosure, the reference break time is determined according to the required time, including: obtaining a minimum reference time, the minimum reference time being used to indicate a shortest playing duration allowed for the break animation; comparing the required time with the minimum reference time, and determining the reference break time from the required time and the minimum reference time according to a comparison result.

[0009] In an example embodiment of the present disclosure, the motion time is a time elapsed from the start break position to each time frame for the object to be rendered; the vertex animation texture is sampled according to the motion time and the reference break time to obtain vertex position data at each time point, including: determining a normalized animation sampling time according to the motion time and the reference break time; sampling the vertex animation texture based on the animation sampling time to obtain the vertex position data.

[0010] In an example embodiment of the present disclosure, the method further includes: determining a material blending factor based on the animation sampling time for any time point; performing interpolation processing on the initial material data and the end material data based on the material blending factor to obtain material interpolation data; and adjusting surface material properties of the object to be rendered according to the material interpolation data corresponding to each time point.

[0011] In an example embodiment of the present disclosure, the vertex displacement data at each time point is determined according to the motion time, including: calculating a whole displacement of the object to be rendered after the motion time from the start break position according to the motion time, the whole displacement at least including a vertical displacement; and determining the vertex displacement data according to the whole displacement.

[0012] In an example embodiment of the present disclosure, the break animation of the object to be rendered is generated based on the vertex position data and the vertex displacement data at each time point, including: converting the vertex position data at a time point from a model space to a world space to obtain target vertex position data in the world space for any time point; determining target vertex world coordinate data according to the start break position, the vertex displacement data and the target vertex position data; and generating the break animation of the object to be rendered according to the target vertex world coordinate data at each time point.

[0013] In one exemplary embodiment of this disclosure, obtaining the vertex animation texture of an object to be rendered includes: generating vertex animation textures corresponding to different levels of detail for the object to be rendered; and sampling the vertex animation textures to obtain vertex position data at each time point, which includes: determining a target vertex animation texture from the vertex animation textures corresponding to different levels of detail based on the current sampling attribute information of the object to be rendered, and sampling the target vertex animation textures to obtain vertex position data at each time point; wherein the current sampling attribute information includes at least one of the distance between the object to be rendered and the virtual camera, current system load information, and sampling configuration information.

[0014] According to one aspect of this disclosure, a breaking animation rendering apparatus is provided, comprising: a texture acquisition module for acquiring vertex animation textures of an object to be rendered, wherein the vertex animation textures are obtained by calculating the breaking effect of the object to be rendered placed at the endpoint breaking position; a time determination module for determining a reference breaking time based on the start breaking position and the end breaking position of the object to be rendered, wherein the reference breaking time is used to indicate the playback duration corresponding to the vertex animation texture; a first rendering module for sampling the vertex animation textures based on the motion time of the object to be rendered falling from the start breaking position and the reference breaking time when rendering the object to be rendered, obtaining vertex position data at each time point, and determining vertex displacement data at each time point based on the motion time; and a second rendering module for rendering and generating a breaking animation of the object to be rendered based on the vertex position data and vertex displacement data at each time point.

[0015] According to one aspect of this disclosure, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the method described in any of the foregoing descriptions.

[0016] According to one aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the method described in any of the preceding methods by executing the executable instructions.

[0017] The shattering animation rendering method in the exemplary embodiments of this disclosure obtains the vertex animation texture of the object to be rendered, which is obtained by calculating the shattering effect of the object to be rendered placed at the end shattering position; determines a reference shattering time based on the start shattering position and the end shattering position of the object to be rendered, which is used to indicate the playback duration corresponding to the vertex animation texture; when rendering the object to be rendered, samples the vertex animation texture based on the motion time of the object falling from the start shattering position and the reference shattering time to obtain vertex position data at each time point, and determines vertex displacement data at each time point based on the motion time; and renders and generates the shattering animation of the object to be rendered based on the vertex position data and vertex displacement data at each time point.

[0018] On the one hand, vertex animation textures can be pre-made and reused, eliminating the need to output corresponding textures for each height to represent the shattering effect at different heights. This supports flexible use of the same shattering effect at different heights, improving resource availability and animation configuration flexibility while reducing memory and storage space. On the other hand, there's no need to process and output the shattering effect for each height separately to the game. When the height changes, the shattering effect can be rendered based on the height and vertex animation texture, avoiding repetitive output processes, shortening the development cycle, and reducing development workload. Furthermore, since the entire rendering only requires a single texture, even if the height is adjusted, there's no need to re-output a new texture, thus not impacting system performance. Especially in resource-constrained environments, this improves rendering performance and enhances the user experience.

[0019] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0020] The above and other objects, features, and advantages of this disclosure will become readily apparent from the following detailed description of exemplary embodiments, taken in conjunction with the accompanying drawings. Several embodiments of this disclosure are illustrated in the drawings by way of example and not limitation.

[0021] Figure 1 An application environment according to an exemplary embodiment of this disclosure is shown.

[0022] Figure 2 A flowchart of a fragmented animation rendering method according to an exemplary embodiment of the present disclosure is shown.

[0023] Figure 3 A schematic diagram is shown illustrating a calculation of a fragmentation effect on an object to be rendered according to an exemplary embodiment of the present disclosure.

[0024] Figure 4A schematic diagram of a VAT resource according to an exemplary embodiment of the present disclosure is shown.

[0025] Figure 5 A schematic diagram illustrating the effect of a block breaking on the ground according to an exemplary embodiment of the present disclosure is shown.

[0026] Figure 6 A flowchart illustrating animation rendering based on vertex position data and vertex displacement data at each time point, according to an exemplary embodiment of the present disclosure, is shown.

[0027] Figure 7 A schematic diagram is shown of a cube block according to an exemplary embodiment of the present disclosure breaking at a certain height above the ground and landing.

[0028] Figure 8 A schematic diagram of the composition of a fragmented animation rendering apparatus according to an exemplary embodiment of the present disclosure is shown.

[0029] Figure 9 A block diagram of an electronic device according to an exemplary embodiment of the present disclosure is shown.

[0030] In the accompanying drawings, the same or corresponding reference numerals indicate the same or corresponding parts. Detailed Implementation

[0031] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of exemplary embodiments to those skilled in the art. The same reference numerals in the drawings denote the same or similar structures, and therefore their detailed description will be omitted.

[0032] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this disclosure. However, those skilled in the art will recognize that the technical solutions of this disclosure can be practiced without one or more of the specific details described, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known structures, methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this disclosure.

[0033] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, or in one or more software-hardened modules, or in different network and / or processor devices and / or microcontroller devices.

[0034] Currently, there is a significant platform performance gap in the rendering of fragmentation effects for game scene components: PCs can handle complex fragmentation physics in real time, while mobile devices, to maintain efficiency, generally use VAT (Vertex Animation Texture) technology. This involves pre-storing vertex motion data as textures for the renderer to directly access, thus avoiding the high cost of real-time computation. However, this approach has the following problems: each fragmentation animation is bound to a specific object height. Once the component height changes, the original VAT textures cannot generate a fragmentation effect that fits the ground. To solve this problem, textures need to be recreated. Since VAT requires pre-processing animation effects, when processing fragmentation effects of the same object at different heights, corresponding textures need to be output for each height. This leads to a huge waste of resources and time. A large number of textures consume memory and storage space, and when multiple textures are loaded simultaneously, it significantly impacts system performance, especially in resource-constrained environments, leading to a decrease in rendering performance and affecting the user experience.

[0035] Based on this, an exemplary embodiment of this disclosure provides a fragmented animation rendering method. By using an adaptive height fragmented rendering method, it is not necessary to generate VAT resources independently for each different height, thereby significantly reducing the space occupied by resources and improving development effect and system operation performance.

[0036] The fragmentation animation rendering method provided in the exemplary embodiments of this disclosure can be applied to, for example... Figure 1 The application environment shown is illustrated. Terminal 101 communicates with server 102 via a network. A data storage system can store the data that server 102 needs to process. The data storage system can be integrated onto server 102, or it can be located in the cloud or on another network server.

[0037] In one exemplary embodiment, the provided shattering animation rendering method can be executed by server 102, and the corresponding shattering animation rendering device is disposed in server 102. Correspondingly, in this manner executed by server 102, server 102 can begin executing the steps of the technical solution in the exemplary embodiment of this disclosure in response to a triggering command, wherein the triggering command can be sent by a terminal used by a user, or can be triggered locally by the server in response to some automated event.

[0038] Server 102 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. Server 102 can execute background tasks.

[0039] Furthermore, in another exemplary embodiment, terminal 101 may also have similar functions to server 102, thereby executing the fragmented animation rendering method provided by the exemplary embodiments of this disclosure. Terminal 101 may be a smartphone, tablet, laptop, desktop computer, IoT device, or portable wearable device. IoT devices may include smart TVs and smart in-vehicle devices, etc. Portable wearable devices may include smartwatches, smart bracelets, head-mounted devices, etc. Terminal 101 may also be referred to as a mobile terminal, terminal device, mobile device, etc., and the exemplary embodiments of this disclosure do not limit the type of terminal 101.

[0040] Furthermore, the technical solutions of the exemplary embodiments of this disclosure can also be executed collaboratively by terminal 101 and server 102. In this collaborative execution method, some steps of the technical solutions provided in the exemplary embodiments of this disclosure are executed by terminal 101, while other steps are executed by server 102. In this collaborative execution method, the steps executed by terminal 101 and server 102 respectively can be dynamically adjusted according to actual conditions, and no special restrictions are placed on this. Terminal 101 and server 102 can be directly or indirectly connected via wireless communication, and no special restrictions are placed on this in the exemplary embodiments of this disclosure.

[0041] refer to Figure 2 The diagram shown is a flowchart of a fragmentation animation rendering method according to an exemplary embodiment of this disclosure. Figure 2 As shown, the broken animation rendering method includes steps S210 to S240, as detailed below: Step S210: Obtain the vertex animation texture of the object to be rendered. The vertex animation texture is obtained by solving the fracture effect of the object to be rendered placed at the end fracture position.

[0042] Step S220: Determine the reference break time based on the start and end break positions of the object to be rendered. The reference break time is used to indicate the playback duration corresponding to the vertex animation texture.

[0043] Step S230: When rendering the object to be rendered, the vertex animation texture is sampled according to the motion time of the object falling from the starting breaking position and the reference breaking time to obtain the vertex position data at each time point, and the vertex displacement data at each time point is determined according to the motion time.

[0044] Step S240: Based on the vertex position data and vertex displacement data at each time point, render and generate the broken animation of the object to be rendered.

[0045] The fracture animation rendering method in the exemplary embodiments of this disclosure has several advantages. First, vertex animation textures can be pre-made and reused, eliminating the need to output corresponding textures for each height to represent fracture effects at different heights. This supports flexible invocation of the same fracture effect at different heights, improving resource availability and animation configuration flexibility while reducing memory and storage space. Second, it eliminates the need to process and output the fracture effect for each height separately to the game. When the height changes, the fracture effect can be rendered based on the height and vertex animation texture, avoiding repetitive output processes, shortening the development cycle, and reducing development workload. Third, since the entire rendering only requires one texture, even if the height is adjusted, there is no need to re-output a new texture, which will not affect system performance. Especially in resource-constrained environments, this can improve rendering performance and thus enhance the user experience.

[0046] Steps S210 to S240 will be described in more detail below.

[0047] In step S210, the vertex animation texture of the object to be rendered is obtained. The vertex animation texture is obtained by solving the fracture effect of the object to be rendered placed at the end fracture position.

[0048] In the exemplary embodiments disclosed herein, the object to be rendered is a virtual object that is to be displayed and is about to break, such as a virtual character, virtual building, or virtual item in a game or film. The endpoint breakage position refers to the position where all the fragments finally come to rest under physical simulation after the object to be rendered is completely broken, such as the ground. The endpoint breakage position can be set according to the actual rendering requirements. The breaking effect solution is a physical simulation process, which can be executed offline by a professional physics engine or DCC (Digital Content Creation) tools. It simulates the entire process of an object breaking into multiple fragments and moving, colliding, and finally coming to rest after being subjected to external forces, according to physical laws such as material properties, fracture modes, and gravity. Vertex animation texture (VAT) is a texture used to store vertex data. Its UV coordinates in the spatial dimension correspond to different vertex IDs. For example, the U-axis of the texture can represent different vertex indices, and the V-axis can represent different time frames. Its data channels, such as the RGBA channels, can be used to store the vertex position (x, y, z) and possible other attributes (such as normals). Vertex animation textures bake dynamic, frame-by-frame changing vertex position data into a static texture that can be quickly read in the shader.

[0049] This step can be understood as the preprocessing stage, which takes complex physical calculations offline and staticizes dynamic results before real-time rendering.

[0050] In the physics calculation, the object to be rendered is placed from its complete state at the final broken position to simulate its breaking, scattering, falling, and colliding, eventually stabilizing at the preset final broken position. Unlike traditional calculations, the exemplary embodiment of this disclosure only needs to calculate the breaking effect of the object to be rendered at the final broken position once, so that the position data of each vertex at each time point (i.e., each frame) after breaking can be output to obtain the vertex animation texture.

[0051] For example, such as Figure 3 The diagram illustrates a method using a cube as the object to be rendered. The cube is placed on the ground, and the effect of it breaking on the ground is calculated. The spatial coordinates (x, y, z) of each vertex after breaking are recorded and output in each frame to obtain the VAT resource. Figure 4 As shown. Due to the effect of the cube breaking when it hits the ground, during actual rendering, it can be adjusted... Figure 4 The VAT resource shown is UV sampled to calculate the position data of each vertex in each frame, thereby rendering a broken block effect that touches the ground, as shown. Figure 5 As shown. In the method of the exemplary embodiment of this disclosure, the broken landing effect is separated from VAT and calculated separately, thereby decomposing the overall broken effect of the object to be rendered into a "broken explosion" stage animation and a "landing" stage animation. During subsequent rendering, the relevant data of the broken explosion is obtained by sampling the vertex animation texture, and combined with the data of the landing stage animation calculated in real time, to obtain the broken effect of breaking from a specified height and landing.

[0052] By using the endpoint as the starting point for the solution, the physics simulation naturally calculates the motion trajectory of all fragments that eventually converge stably to that endpoint. This ensures that during animation playback, the fragments will not suddenly disappear or appear out of place midway through the animation, but rather have a complete and well-defined motion process. Each vertex animation texture is an independent resource file that can be referenced by multiple instances of the same object and can be reused in different scenes and game levels. This helps reduce memory usage, accelerates development iteration speed, and provides conditions for large-scale deployment of complex fragmentation effects.

[0053] In one exemplary embodiment, when obtaining the vertex animation texture of the object to be rendered, vertex animation textures corresponding to different levels of detail can be generated for the object to be rendered.

[0054] In this context, vertex animation textures at different levels of detail refer to multiple sets of vertex animation textures with varying precision, pre-generated for the same fragmentation effect on the same object to be rendered. These correspond to different levels of detail (LOD) vertex animation textures. For higher levels, the original high-vertex-count model is used for solving and baking, preserving all details; for lower levels, a simplified low-vertex-count model is used for solving and baking, resulting in a coarser outline.

[0055] Based on this, the steps of sampling vertex animation textures to obtain vertex position data at each time point include: Based on the current sampled attribute information of the object to be rendered, the target vertex animation texture is determined from the vertex animation textures corresponding to different detail levels, and the target vertex animation texture is sampled to obtain the vertex position data at each time point. Among them, the current sampling attribute information is related to which level of vertex animation texture is used during rendering, including at least one of the following: the distance between the object to be rendered and the virtual camera, the current system load information, and the sampling configuration information.

[0056] Specifically, regarding the distance between the object to be rendered and the virtual camera, the farther the distance, the fewer pixels the object occupies on the screen, and the visual improvement brought by using a high-precision model is not significant. Therefore, a low-precision version can be used. Conversely, a closer distance allows for the use of a high-precision version. Current system load information refers to real-time performance metrics of the CPU and GPU, such as frame rate, CPU utilization, and GPU utilization, which are dynamic adaptive decision factors. Sampling configuration information can be statically configured by the developer or user. For example, in "high-performance" mode, a lower-level texture can be used. For specific types of objects to be rendered, a default layer can be specified, such as stones in the background.

[0057] Furthermore, based on the aforementioned current sampled attribute information, the most suitable target vertex animation texture for use in the current frame can be selected in real time through certain decision-making logic.

[0058] For example, for an object to be rendered, three levels of VAT can be generated: LOD0 uses the original model (10,000 vertices) with 120 frames of animation for very close-up shots; LOD1 uses a simplified model (3,000 vertices) with 60 frames of animation for mid-range shots; and LOD2 uses a highly simplified model (500 vertices) with 30 frames of animation for distant shots or when there is a lot of fragmentation. During real-time rendering, when rendering the object in each frame, the current sampling attribute information can be calculated or obtained first. For example, the distance between the object's bounding box and the virtual camera can be calculated, the current game's frame rate can be queried, or the user-set graphics quality can be read. Then, according to preset rules, the target vertex animation texture is selected from the LOD chain. For example, if the distance is greater than a first preset value, LOD2 is used; otherwise, if the distance is greater than a second preset value (less than the first preset value), LOD1 is used; otherwise, LOD0 is used. Once the target texture is determined, the subsequent shader sampling and rendering process is completely consistent with the basic scheme, except that the data source for sampling becomes a texture of selected precision. Of course, the exemplary embodiments of this disclosure can be flexibly configured with preset rules according to actual rendering needs to decide on the target vertex animation texture to be used during actual rendering, without any special limitations.

[0059] By introducing a dynamic LOD decision-making mechanism based on multiple real-time factors, it becomes possible to deploy and render high-quality fragmented animations on a large scale in resource-constrained real-time environments, achieving significant optimization of rendering performance without noticeable loss of visual appeal.

[0060] In step S220, a reference break time is determined based on the start break position and the end break position of the object to be rendered. The reference break time is used to indicate the playback duration corresponding to the vertex animation texture.

[0061] In the exemplary embodiments of this disclosure, the initial breakage position refers to the initial position of the object to be rendered in the virtual world when it begins to break, at which point the object is intact and unbroken. The reference breakage time is a calibration parameter, not the actual time of the physical simulation, but a reference duration that maps the pre-computed vertex animation texture onto the real-time rendering timeline, used to define the duration for playing this pre-recorded breakage animation (vertex animation texture).

[0062] In one exemplary embodiment, determining a reference breaking time based on the start and end breaking positions of the object to be rendered includes: Get the height difference between the start and end break positions of the object to be rendered; Obtain the distance traveled by the object to be rendered from the starting breaking position to the ending breaking position, and determine the reference breaking time based on the required time.

[0063] Here, the height difference is the vertical distance between the starting and ending points of the object's breakage in the virtual world coordinate system. The height of the starting breakage point is the vertical coordinate of the object's reference point in world space when it begins to break, such as the bottom of the bounding box or its center of gravity. Similarly, the height of the ending breakage point is the vertical coordinate (Y-coordinate) of a reference point (such as the average height or the height of the main supporting surface) of the accumulated fragments after the object has broken. The required time is the time required for the object to travel across the height difference under ideal conditions (subject to gravity only) from rest in free fall, which can be calculated using Physics Formula 1: Formula 1 Where t is the required time, h is the height difference, and g is the gravitational acceleration.

[0064] In this embodiment, the reference breaking time is directly or indirectly anchored to the calculated free fall time, so that the playback speed of the pre-calculated breaking animation matches the natural rhythm of the object to be rendered falling in the real world.

[0065] In one exemplary embodiment, determining a reference breaking time based on the required time includes: Obtain the minimum reference time, which indicates the shortest allowed playback duration for the shattering animation; compare the required time with the minimum reference time, and determine the reference shattering time from the required time and the minimum reference time based on the comparison result.

[0066] The minimum reference time is a preset threshold parameter used to limit the shortest playback duration allowed for the breaking animation. For example, the minimum parameter time can be set globally to 0.5 seconds, or 0.3 seconds for glass material and 1.0 seconds for stone material. This embodiment does not impose any special limitation on the value of the minimum parameter time.

[0067] By comparing the required time with the minimum reference time, the larger of the two can be selected as the reference breaking time. Based on this, the problem of animation playing too fast due to scene design (too small a height difference) can be avoided, ensuring that all breaking effects meet an acceptable minimum visual quality standard.

[0068] In step S230, when rendering the object to be rendered, the vertex animation texture is sampled according to the motion time of the object falling from the starting breaking position and the reference breaking time to obtain the vertex position data at each time point, and the vertex displacement data at each time point is determined according to the motion time.

[0069] In the exemplary embodiments of this disclosure, motion time is the real-time time elapsed from the instant the object to be rendered begins to break (t=0) to the current rendering frame; that is, motion time is the time elapsed from the start of breaking to each time frame. Sampling the vertex animation texture involves sampling the vertex animation texture to obtain vertex displacement data at each time point. Vertex position data, obtained by sampling the vertex animation texture, describes the correct position of each vertex relative to the local space of the model at the current moment in the pre-computed, endpoint-oriented breaking animation, defining the deformation, rotation, and scattering of the fragments themselves. Vertex displacement data is calculated in real-time based on motion time and describes the displacement of the object to be rendered as a whole from the starting breaking position to the current moment, defining the overall motion trajectory of the object.

[0070] In one exemplary embodiment, the vertex animation texture is sampled based on the motion time of the object to be rendered falling from the starting breaking position and a reference breaking time to obtain vertex position data at each time point, including: The normalized animation sampling time is determined based on the motion time and the reference break time; Based on the animation sampling time, the vertex animation texture is sampled to obtain vertex position data.

[0071] The normalized animation sampling time data is a scalar value that maps the real, increasing motion time to a fixed, standardized time interval, and can be determined by the ratio of motion time to a reference breaking time. Optionally, its range can be constrained to [0.0, 1.0], representing the playback progress of the pre-calculated breaking animation. 0.0 represents the start of the animation (virtual object complete), 1.0 represents the end of the animation (virtual object completely broken and at the endpoint), and 0.5 represents the animation playing halfway through.

[0072] The sampling coordinates here can include U coordinates and V coordinates. The U coordinates are mapped from the vertex ID or vertex index and are used to locate the column in the texture where specific vertex data is stored. The V coordinates are the normalized animation sampling time and are used to locate the row in the texture where a specific time frame is stored. By performing UV sampling on the vertex animation texture based on the animation sampling time, the position (x, y, z) that the vertex should have in the local space of the model at the current animation progress is obtained.

[0073] Specifically, in the vertex shader, each vertex to be rendered undergoes a time normalization operation. This involves calculating the ratio of motion time to a reference break time and constraining it to within the range of [0.0, 1.0]. This constraint ensures that if the motion time exceeds the reference break time, the animation sampling time is set to 1.0, causing the animation to stop at the last frame and preventing data overflow, animation bounce, or other visual errors. Furthermore, each vertex has a unique ID. The U-coordinate is determined based on this unique ID, and sampling is performed according to the animation sampling time and the U-coordinate to obtain the vertex position data. Optionally, the vertex ID can be packaged into the mesh's UV channels, and the mapping operation from ID to coordinates can be completed during the preprocessing stage.

[0074] By normalizing the real-time motion time with the baseline break time, a standardized progress value is obtained. This allows the variable real-time physical time to be uniformly mapped to a fixed animation interval, ensuring that the playback progress of the pre-calculated break animation strictly corresponds to the movement stage of the object in the real world. Furthermore, using the normalized time as texture coordinates to sample vertex animation textures greatly improves rendering efficiency.

[0075] In one exemplary embodiment, a method for adjusting the material properties of an object to be rendered is also provided. Specifically, for any given time point, a material blending factor can be determined based on the animation sampling time. Based on the material blending factor, the initial material data and the final material data are interpolated to obtain material interpolation data. Then, the surface material properties of the object to be rendered are adjusted according to the material interpolation data corresponding to each time point.

[0076] The material blending factor is a coefficient used to control the degree of blending from the initial material to the final material. It ranges from [0.0, 1.0], where 0.0 indicates the initial material is used entirely, 1.0 indicates the final material is used entirely, and 0.5 indicates a 50 / 50 blend. Initial material data refers to the surface material properties of the object being rendered at the point where it begins to break (i.e., in its intact state). Examples include clean colors, smooth textures, and complete texture maps. Final material data refers to the surface material properties of the object being rendered at the point where it breaks completely (i.e., after it is completely broken). Examples include rough surface textures, exposed internal textures (such as the brick material inside a brick wall), and the color of dirt at the cracks. Material interpolation data is calculated through interpolation (such as linear interpolation or non-linear interpolation) and represents the final material parameters used at the current time point. Examples include interpolated color values, roughness values, and metallic values.

[0077] Specifically, surface material properties are the material parameters used by the rendering engine, such as base color, roughness, and metallicity. Two sets of material data can be pre-set: initial material data and final material data, which can be encoded into the material animation texture. During real-time rendering, the shader can determine the material blending factor for each pixel to be rendered based on the animation sampling time. Then, it performs linear interpolation on each property in the initial and final material data accordingly. Based on the obtained material interpolation data, it calculates the final material of the pixel and uses it to adjust the surface material properties of the object to be rendered.

[0078] Optionally, the animation sampling time can be directly used as the material blending factor. Alternatively, a preset curve can be used to remap the animation sampling time to achieve a non-linear blending effect. For example, a predefined mathematical function can be used directly in the shader for real-time calculation, or a custom curve can be used. Examples include quadratic functions, sigmoid functions, or smoothing step functions. In this embodiment, the appropriate preset curve can be selected according to the actual rendering result required.

[0079] By linking the material blending factor to the animation sampling time, the surface material properties can evolve synchronously with the breaking process. Through controllable interpolation, the complex material evolution effect during the breaking process can be accurately simulated, further improving the rendering effect of the breaking effect.

[0080] In an exemplary embodiment, determining vertex displacement data at each time point based on the motion time includes: Calculate the overall displacement of the object to be rendered after the motion time from the starting position of the breakage, based on the motion time. The overall displacement includes at least the vertical displacement. Determine the vertex displacement data based on the overall displacement.

[0081] The overall displacement is the total displacement vector of the object being rendered, considered as a point mass, from its initial breakage position to the current moment, within world space. It describes the trajectory of the object as a whole. Vertical displacement is the component of the overall displacement in the vertical direction (usually the Y-axis) of the virtual world. Of course, this embodiment may also include displacements in other directions, such as the X-axis and Z-axis components. Vertex displacement data is ultimately applied to the displacement vector of each vertex. In this embodiment, since it is an overall displacement, all vertices share the same displacement vector; that is, vertex displacement data = overall displacement.

[0082] For example, vertex displacement data can be calculated using the following formula 2: Formula 2 Where s represents the vertex displacement data and t1 represents the motion time.

[0083] Optionally, if each vertex initially has an initial velocity, the vertex displacement data can also be calculated using the physical formula with the initial velocity.

[0084] By using a unified time base (motion time) to drive vertex animation texture sampling and overall displacement calculation, the playback progress of the internal fragmented animation is ensured to strictly correspond to the external motion trajectory, which can avoid the visual disconnect that may occur between pre-calculated animation and real-time motion.

[0085] In step S240, based on the vertex position data and vertex displacement data at each time point, a broken animation of the object to be rendered is generated.

[0086] In an exemplary embodiment of this disclosure, during actual rendering, the following operations are performed for each vertex in the vertex shader: First, the local vertex position obtained from the vertex animation texture sampling and the world space displacement vector (vertex displacement data) calculated and transmitted by the CPU are acquired. Then, the two parts of data are combined and calculated, and the combined result is rasterized before each pixel is colored in the fragment shader.

[0087] In one exemplary embodiment, such as Figure 6 As shown, based on the vertex position data and vertex displacement data at each time point, a fragmentation animation of the object to be rendered is generated, including: Step S610: For any given time point, convert the vertex position data of that time point from model space to world space to obtain the target vertex position data in world space.

[0088] Model space, also known as local space, is the original space for vertex coordinates, with its origin and axes typically based on the model itself. Vertex position data sampled from vertex animation textures is defined in model space. Target vertex position data is the result of transforming the sampled vertex positions in model space to world space. For example, a basic model matrix (a pre-defined matrix for transforming model space to world space) can be used to transform vertex position data from model space to world space.

[0089] Step S620: Determine the world coordinate data of the target vertex based on the starting break position, vertex displacement data, and target vertex position data.

[0090] The target vertex world coordinates are the absolute coordinates of each vertex in world space that are ultimately used for rendering. They are obtained by combining the target vertex position data (considering the breaking animation) with the vertex displacement data (considering the overall motion). Specifically, for each vertex, a correction vector is determined based on the world coordinates of the starting breaking position and the model origin (i.e., the reference point in world space during model rendering, which is the default world origin). The correction vector represents the offset between the actual starting breaking position and the initial modeled world position of the object to be rendered. This correction vector is then used to adjust the target vertex position data to obtain the adjusted result. This is because the Vertex Animation Texture (VAT) is calculated based on the model's ending breaking position during baking, but in real-time, the object to be rendered may be located anywhere in the world. This step essentially moves the animation described by the VAT from its recorded original position to the actual position where it should occur.

[0091] Furthermore, the adjustment results can be superimposed with the vertex displacement data to obtain the target vertex world coordinate data. This target vertex world coordinate data includes internal, pre-calculated fragmentation details and external, real-time overall motion data. For example, the target vertex world coordinate data can be determined using the following formula 3:

[0092] Formula 3

[0093] Step S630: Based on the world coordinate data of the target vertex at each time point, render and generate the broken animation of the object to be rendered.

[0094] After obtaining the world coordinates of the target vertex at each time point, the breaking animation of the object to be rendered can be rendered accordingly, resulting in an animation effect that begins to break at a specified height. For example... Figure 7 The diagram illustrates a cube breaking at a certain height above the ground and landing. By calculating the playback duration of the vertex animation texture based on the height difference between the starting and ending points of the object's breakage, the duration changes as the object's height changes. This allows the cube to be moved freely without ever floating in mid-air, ensuring it always lands on the ground after breaking. During game engine runtime, the playback time of the vertex animation textures for the shattering and bursting phase is calculated and driven in real-time based on the height difference between the world coordinates of the object and the ground. Simultaneously, the landing phase effect is calculated based on the height difference, and the combined effect presents the final, stationary fragments on the ground.

[0095] By converting vertex animation data from model space to world space and synthesizing it with vertex displacement data based on physical calculations, a precise combination of complex pre-calculated breaking animations inside an object and its overall real-time motion trajectory is achieved, so that the object's own breaking animation can be presented synchronously and naturally as it moves along its own free fall trajectory.

[0096] The fracture animation rendering method in the exemplary embodiments of this disclosure has several advantages. First, vertex animation textures can be pre-made and reused, eliminating the need to output corresponding textures for each height to represent fracture effects at different heights. This supports flexible invocation of the same fracture effect at different heights, improving resource availability and animation configuration flexibility while reducing memory and storage space. Second, it eliminates the need to process and output the fracture effect for each height separately to the game. When the height changes, the fracture effect can be rendered based on the height and vertex animation texture, avoiding repetitive output processes, shortening the development cycle, and reducing development workload. Third, since the entire rendering only requires one texture, even if the height is adjusted, there is no need to re-output a new texture, which will not affect system performance. Especially in resource-constrained environments, this can improve rendering performance and thus enhance the user experience.

[0097] In an exemplary embodiment of this disclosure, a fragmentation animation rendering apparatus is also provided. (See reference...) Figure 8 As shown, the broken animation rendering device 800 may include a texture acquisition module 810, a timing determination module 820, a first rendering module 830, and a second rendering module 840. Specifically: The texture acquisition module 810 is used to acquire the vertex animation texture of the object to be rendered. The vertex animation texture is obtained by calculating the shattering effect of the object to be rendered placed at the end shattering position. The time determination module 820 is used to determine the reference shattering time based on the start shattering position and the end shattering position of the object to be rendered. The reference shattering time is used to indicate the playback duration corresponding to the vertex animation texture. The first rendering module 830 is used to sample the vertex animation texture based on the motion time of the object to be rendered falling from the start shattering position and the reference shattering time when rendering the object to be rendered, to obtain the vertex position data at each time point, and to determine the vertex displacement data at each time point based on the motion time. The second rendering module 840 is used to render and generate the shattering animation of the object to be rendered based on the vertex position data and vertex displacement data at each time point.

[0098] In one exemplary embodiment of this disclosure, determining a reference breaking time based on the start breaking position and the end breaking position of the object to be rendered includes: obtaining the height difference between the start breaking position and the end breaking position of the object to be rendered; obtaining the time required for the object to fall from the start breaking position to the end breaking position by the distance of the height difference; and determining the reference breaking time based on the required time.

[0099] In one exemplary embodiment of this disclosure, determining a reference break time based on a required time includes: obtaining a minimum reference time, which indicates the shortest possible playback duration of the break animation; comparing the required time with the minimum reference time; and determining a reference break time from the required time and the minimum reference time based on the comparison result.

[0100] In one exemplary embodiment of this disclosure, the motion time is the time elapsed from the start of the object to be rendered breaking to each time frame; sampling the vertex animation texture based on the motion time of the object falling from the start of the breaking position and the reference breaking time to obtain vertex position data at each time point includes: determining a normalized animation sampling time based on the motion time and the reference breaking time; and sampling the vertex animation texture based on the animation sampling time to obtain vertex position data.

[0101] In one exemplary embodiment of this disclosure, the apparatus further includes a material adjustment module configured to determine a material blending factor based on the animation sampling time for any given time point; to perform interpolation processing on the initial material data and the final material data based on the material blending factor to obtain material interpolation data; and to adjust the surface material properties of the object to be rendered according to the material interpolation data corresponding to each time point.

[0102] In one exemplary embodiment of this disclosure, determining vertex displacement data at each time point based on the motion time includes: calculating the overall displacement of the object to be rendered after the motion time from the starting break position, wherein the overall displacement includes at least the vertical displacement; and determining vertex displacement data based on the overall displacement.

[0103] In one exemplary embodiment of this disclosure, a shattering animation of an object to be rendered is generated based on vertex position data and vertex displacement data at each time point, including: for any time point, converting the vertex position data of that time point from model space to world space to obtain target vertex position data in world space; determining target vertex world coordinate data based on the start shattering position, vertex displacement data, and target vertex position data; and generating a shattering animation of the object to be rendered based on the target vertex world coordinate data at each time point.

[0104] In one exemplary embodiment of this disclosure, obtaining the vertex animation texture of an object to be rendered includes: generating vertex animation textures corresponding to different levels of detail for the object to be rendered; and sampling the vertex animation textures to obtain vertex position data at each time point, which includes: determining a target vertex animation texture from the vertex animation textures corresponding to different levels of detail based on the current sampling attribute information of the object to be rendered, and sampling the target vertex animation textures to obtain vertex position data at each time point; wherein the current sampling attribute information includes at least one of the distance between the object to be rendered and the virtual camera, current system load information, and sampling configuration information.

[0105] Since the details of each functional module of the broken animation rendering apparatus of the present disclosure have been described in the exemplary embodiments of the broken animation rendering method described above, they will not be repeated here.

[0106] It should be noted that although several modules or units of the broken animation rendering apparatus have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0107] Exemplary embodiments of this disclosure also provide a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the above-described fragmentation animation rendering method.

[0108] In one implementation, the computer program product can be a tangible product containing a computer program, such as a computer-readable storage medium storing the computer program. The readable storage medium can be a storage medium based on electrical, magnetic, optical, electromagnetic, infrared, or other signals, including but not limited to: random access memory (RAM), read-only memory (ROM), magnetic tape, floppy disk, flash memory, hard disk drive (HDD), solid-state drive (SSD), etc. For example, the computer program product can be implemented as a non-volatile storage medium storing a computer program, such as read-only memory, NAND flash memory, etc.

[0109] In one implementation, the computer program product can be an intangible product containing a computer program. For example, the computer program product can be implemented as a virtual digital product, such as an executable file, installation package, or other digital file storing the computer program.

[0110] Computer program code can be written in one or more programming languages. Examples of programming languages ​​include C, Java, and C++. Program code can execute entirely on the user's computing device, partially on the user's computing device, or as a standalone software package. It can also execute partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, such as a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via an internet connection provided by a mobile network operator).

[0111] Computer programs can be carried or transmitted via signals such as electricity, magnetism, light, electromagnetic radiation, and infrared rays. Electronic devices can convert the signals carrying computer programs into digital signals, thereby running the computer programs. When a computer program runs on an electronic device, its code causes the electronic device to execute (more specifically, its processor) the method steps of various exemplary embodiments of this disclosure, such as the aforementioned fragmentation animation rendering method. Specifically, the following can be executed: The process involves obtaining the vertex animation texture of the object to be rendered, which is obtained by calculating the shattering effect of the object placed at the end shattering position. A reference shattering time is determined based on the start and end shattering positions of the object, indicating the playback duration of the vertex animation texture. During rendering, the vertex animation texture is sampled based on the object's movement time from the start shattering position and the reference shattering time to obtain vertex position data at each time point, and vertex displacement data is determined based on the movement time. Finally, the shattering animation of the object is generated based on the vertex position and displacement data at each time point.

[0112] In one exemplary embodiment of this disclosure, determining a reference breaking time based on the start breaking position and the end breaking position of the object to be rendered includes: obtaining the height difference between the start breaking position and the end breaking position of the object to be rendered; obtaining the time required for the object to fall from the start breaking position to the end breaking position by the distance of the height difference; and determining the reference breaking time based on the required time.

[0113] In one exemplary embodiment of this disclosure, determining a reference break time based on a required time includes: obtaining a minimum reference time, which indicates the shortest possible playback duration of the break animation; comparing the required time with the minimum reference time; and determining a reference break time from the required time and the minimum reference time based on the comparison result.

[0114] In one exemplary embodiment of this disclosure, the motion time is the time elapsed from the start of the object to be rendered breaking to each time frame; sampling the vertex animation texture based on the motion time of the object falling from the start of the breaking position and the reference breaking time to obtain vertex position data at each time point includes: determining a normalized animation sampling time based on the motion time and the reference breaking time; and sampling the vertex animation texture based on the animation sampling time to obtain vertex position data.

[0115] In one exemplary embodiment of this disclosure, the method further includes: determining a material blending factor based on the animation sampling time for any given time point; interpolating the initial material data and the final material data based on the material blending factor to obtain material interpolation data; and adjusting the surface material properties of the object to be rendered according to the material interpolation data corresponding to each time point.

[0116] In one exemplary embodiment of this disclosure, determining vertex displacement data at each time point based on the motion time includes: calculating the overall displacement of the object to be rendered after the motion time from the starting break position, wherein the overall displacement includes at least the vertical displacement; and determining vertex displacement data based on the overall displacement.

[0117] In one exemplary embodiment of this disclosure, a shattering animation of an object to be rendered is generated based on vertex position data and vertex displacement data at each time point, including: for any time point, converting the vertex position data of that time point from model space to world space to obtain target vertex position data in world space; determining target vertex world coordinate data based on the start shattering position, vertex displacement data, and target vertex position data; and generating a shattering animation of the object to be rendered based on the target vertex world coordinate data at each time point.

[0118] In one exemplary embodiment of this disclosure, obtaining the vertex animation texture of an object to be rendered includes: generating vertex animation textures corresponding to different levels of detail for the object to be rendered; and sampling the vertex animation textures to obtain vertex position data at each time point, which includes: determining a target vertex animation texture from the vertex animation textures corresponding to different levels of detail based on the current sampling attribute information of the object to be rendered, and sampling the target vertex animation textures to obtain vertex position data at each time point; wherein the current sampling attribute information includes at least one of the distance between the object to be rendered and the virtual camera, current system load information, and sampling configuration information.

[0119] Furthermore, in exemplary embodiments of this disclosure, an electronic device capable of implementing the above-described methods is also provided. Those skilled in the art will understand that various aspects of this disclosure can be implemented as systems, methods, or program products. Therefore, various aspects of this disclosure can be specifically implemented as: entirely hardware embodiments, entirely software embodiments (including firmware, microcode, etc.), or embodiments combining hardware and software aspects, collectively referred to herein as "circuit," "module," or "system."

[0120] The following reference Figure 9 To describe an electronic device 900 according to such an embodiment of the present disclosure. Figure 9 The electronic device 900 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.

[0121] like Figure 9 As shown, the electronic device 900 is presented in the form of a general-purpose computing device. The components of the electronic device 900 may include, but are not limited to: at least one processing unit 910, at least one storage unit 920, a bus 930 connecting different system components (including storage unit 920 and processing unit 910), and a display unit 940.

[0122] The storage unit stores program code that can be executed by the processing unit 910, causing the processing unit 910 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure. For example, the processing unit 910 is used to perform: The process involves obtaining the vertex animation texture of the object to be rendered, which is obtained by calculating the shattering effect of the object placed at the end shattering position. A reference shattering time is determined based on the start and end shattering positions of the object, indicating the playback duration of the vertex animation texture. During rendering, the vertex animation texture is sampled based on the object's movement time from the start shattering position and the reference shattering time to obtain vertex position data at each time point, and vertex displacement data is determined based on the movement time. Finally, the shattering animation of the object is generated based on the vertex position and displacement data at each time point.

[0123] Storage unit 920 may include readable media in the form of volatile storage units, such as random access memory (RAM) 921 and / or cache memory 922, and may further include read-only memory (ROM) 923.

[0124] Storage unit 920 may also include a program / utility 924 having a set (at least one) program module 925, such program module 925 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.

[0125] Bus 930 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.

[0126] Electronic device 900 can also communicate with one or more external devices 1000 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 900, and / or with any device that enables electronic device 900 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 950. Furthermore, electronic device 900 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 960. As shown, network adapter 960 communicates with other modules of electronic device 900 via bus 930. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 900, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0127] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0128] Furthermore, the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of this disclosure and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Additionally, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.

[0129] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the claims.

Claims

1. A method for rendering fragmented animation, characterized in that, include: Obtain the vertex animation texture of the object to be rendered, which is obtained by solving the fracture effect of the object to be rendered placed at the end fracture position; Based on the start break position and the end break position of the object to be rendered, a reference break time is determined, and the reference break time is used to indicate the playback duration corresponding to the vertex animation texture; When rendering the object to be rendered, the vertex animation texture is sampled according to the motion time of the object falling from the starting breaking position and the reference breaking time to obtain the vertex position data at each time point, and the vertex displacement data at each time point is determined according to the motion time. Based on the vertex position data and vertex displacement data at each time point, a broken animation of the object to be rendered is generated.

2. The method according to claim 1, characterized in that, Determining the reference breaking time based on the start breaking position and the end breaking position of the object to be rendered includes: Obtain the height difference between the start break position and the end break position of the object to be rendered; The time required for the object to be rendered to travel the distance of the height difference from the starting breaking position to the ending breaking position is obtained, and the reference breaking time is determined based on the required time.

3. The method according to claim 2, characterized in that, Determining the reference crushing time based on the required time includes: Obtain a minimum reference time, which is used to indicate the shortest possible playback duration for the broken animation; The required time is compared with the minimum reference time, and the reference breaking time is determined from the required time and the minimum reference time based on the comparison result.

4. The method according to claim 1, characterized in that, The motion time is the time elapsed from the start of the object being rendered to each time frame. The step of sampling the vertex animation texture based on the motion time of the object to be rendered falling from the starting breaking position and the reference breaking time to obtain vertex position data at each time point includes: The normalized animation sampling time is determined based on the motion time and the reference breakage time; Based on the animation sampling time, the vertex animation texture is sampled to obtain the vertex position data.

5. The method according to claim 4, characterized in that, The method further includes: For any given time point, the material blending factor is determined based on the animation sampling time; Based on the material mixing factor, interpolation processing is performed on the initial material data and the final material data to obtain material interpolation data; The surface material properties of the object to be rendered are adjusted based on the material interpolation data corresponding to each time point.

6. The method according to claim 1, characterized in that, The step of determining the vertex displacement data at each time point based on the motion time includes: The overall displacement of the object to be rendered after moving from the starting break position for the specified time is calculated based on the motion time, and the overall displacement includes at least the vertical displacement. The vertex displacement data is determined based on the overall displacement.

7. The method according to claim 1, characterized in that, The process of rendering a fragmented animation of the object to be rendered based on the vertex position data and vertex displacement data at each time point includes: For any given time point, the vertex position data at that time point is transformed from model space to world space to obtain the target vertex position data in world space; Based on the starting break position, the vertex displacement data, and the target vertex position data, determine the world coordinate data of the target vertex; Based on the world coordinate data of the target vertex at each time point, a fragmented animation of the object to be rendered is generated.

8. The method according to any one of claims 1 to 7, characterized in that, The process of obtaining the vertex animation texture of the object to be rendered includes: Generate vertex animation textures corresponding to different levels of detail for the object to be rendered; The step of sampling the vertex animation texture to obtain vertex position data at each time point includes: Based on the current sampled attribute information of the object to be rendered, the target vertex animation texture is determined from the vertex animation textures corresponding to different detail levels, and the target vertex animation texture is sampled to obtain vertex position data at each time point; The current sampling attribute information includes at least one of the following: the distance between the object to be rendered and the virtual camera, the current system load information, and the sampling configuration information.

9. A fragmented animation rendering device, characterized in that, The device includes: The texture acquisition module is used to acquire the vertex animation texture of the object to be rendered. The vertex animation texture is obtained by calculating the fracture effect of the object to be rendered placed at the end fracture position. The time determination module is used to determine a reference breaking time based on the start breaking position and the end breaking position of the object to be rendered. The reference breaking time is used to indicate the playback duration corresponding to the vertex animation texture. The first rendering module is used to sample the vertex animation texture based on the motion time of the object falling from the starting breaking position and the reference breaking time when rendering the object to be rendered, to obtain vertex position data at each time point, and to determine vertex displacement data at each time point based on the motion time. The second rendering module is used to render and generate the broken animation of the object to be rendered based on the vertex position data and the vertex displacement data at each time point.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1 to 8.

11. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to perform the method of any one of claims 1 to 8 by executing the executable instructions.