Model array animation generation method and apparatus, and electronic device and storage medium

By generating random noise values ​​for the three-dimensional models in the model array to perturb them, the complex problem of cube matrix animation production is solved and efficient random motion animation generation is achieved.

WO2025195040A1PCT designated stage Publication Date: 2025-09-25NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/076766
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-21
Filing Date
2025-02-11
Publication Date
2025-09-25

AI Technical Summary

Technical Problem

In the existing technology, generating cube matrix animation requires complicated bone binding and motion path design, which leads to a large workload and long cycle of animation production, affecting efficiency.

Method used

By generating random noise values ​​for each 3D model in a virtual scene, using the noise values ​​to perturb the model array, determining the initial offset and target position, and controlling the movement of the model during the animation playback cycle, a model array animation is generated.

Benefits of technology

The generation process of model array animation is simplified, the technical threshold is lowered, the generation efficiency is improved, and the animation effect of random motion is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025076766_25092025_PF_FP_ABST
    Figure CN2025076766_25092025_PF_FP_ABST
Patent Text Reader

Abstract

A model array animation generation method, comprising: determining an initial position, in a virtual scene, of each three-dimensional model in a model array; on the basis of initial positions, respectively performing sampling on a preset noise texture map, so as to obtain sampling noise values; on the basis of the initial position of each three-dimensional model and each of the sampling noise values, determining an initial offset corresponding to each three-dimensional model; on the basis of each initial offset, determining a first target offset corresponding to each three-dimensional model at each time node within a preset animation playing period; on the basis of the initial position of each three-dimensional model and the first target offset, determining a first target position corresponding to each three-dimensional model in a preset movement direction at each time node; and at each time node, controlling each three-dimensional model to move to the first target position corresponding to the three-dimensional model at the time node, so as to generate a model array animation. An animation generation process can be simplified, thereby improving the efficiency of animation generation. (FIG. 2)
Need to check novelty before this filing date? Find Prior Art

Description

Model array animation generation method, device, electronic device and storage medium

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to Chinese patent application number 202410325802.3 filed on March 21, 2024, entitled “Model Array Animation Generation Method, Device, Electronic Device and Storage Medium”, the entire contents of which are incorporated herein by reference. Technical Field

[0003] The present disclosure relates to the field of computers, and in particular to a method, device, electronic device, and computer-readable storage medium for generating a model array animation. Background Art

[0004] In some movies or games, dynamic effects can be generated for the cube matrices that make up different scenes, such as the animation generation of text matrices or the animation generation of the rise and fall of a virtual stage matrix.

[0005] In the related art, to achieve the above-mentioned animation for a cube matrix, it is usually necessary to bind and skin the skeletons of each small cube in the cube matrix, design a corresponding motion path, and then use a program to manipulate the skeletons to move according to the designed motion path to generate the animation. This method is labor-intensive and time-consuming to produce, which affects the efficiency of animation generation and maintenance.

[0006] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute relevant technology known to ordinary technicians in the field. Summary of the Invention

[0007] According to one aspect of the present disclosure, a method for generating a model array animation is provided. The model array is located in a virtual scene, and the model array includes multiple three-dimensional models. The method includes: determining an initial position of each three-dimensional model in the model array in the virtual scene; sampling a preset noise texture map based on the initial position of each three-dimensional model to obtain a sampled noise value corresponding to each three-dimensional model; wherein the preset noise texture map stores noise values ​​that continuously and dynamically change over time; determining an initial offset corresponding to each three-dimensional model based on the initial position of each three-dimensional model and the sampled noise value corresponding to each three-dimensional model; determining a first target offset corresponding to each three-dimensional model at each time node within a preset animation playback period based on the initial offset corresponding to each three-dimensional model; the animation playback period is the time period during which the model array animation corresponding to the model array to be generated is played; determining a first target position corresponding to each three-dimensional model at each time node in a preset motion direction based on the initial position of each three-dimensional model and the first target offset corresponding to each three-dimensional model at each time node; and controlling each three-dimensional model to move to the first target position corresponding to each three-dimensional model at each time node to generate the model array animation.

[0008] According to one aspect of the present disclosure, a device for generating a model array animation is provided, wherein the model array is located in a virtual scene, and the model array includes a plurality of three-dimensional models. The device includes: a determining unit, a sampling unit, and a control unit; wherein the determining unit is configured to determine the initial position of each three-dimensional model in the model array in the virtual scene; the sampling unit is configured to sample a preset noise texture map according to the initial position of each three-dimensional model, and obtain a sampling noise value corresponding to each three-dimensional model; wherein the preset noise texture map stores a noise value that continuously and dynamically changes with time; the determining unit is further configured to determine the corresponding value of each three-dimensional model according to the initial position of each three-dimensional model and the sampling noise value corresponding to each three-dimensional model. An initial offset; a determination unit is further configured to determine, based on the initial offset corresponding to each three-dimensional model, a first target offset corresponding to each three-dimensional model at each time node within a preset animation playback cycle; the animation playback cycle is the time period during which the model array animation corresponding to the model array to be generated is played; the determination unit is further configured to determine, based on the initial position of each three-dimensional model and the first target offset corresponding to each three-dimensional model at each time node, a first target position corresponding to each three-dimensional model when it is located at each time node in a preset motion direction; a control unit is configured to control each three-dimensional model to move to the first target position corresponding to each three-dimensional model at the time node at each time node to generate a model array animation.

[0009] According to one aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing a data processing program. After the electronic device is powered on and the program is run by the processor, the method for generating the model array animation as described above is executed.

[0010] According to one aspect of the present disclosure, a computer-readable storage medium is provided, storing a data processing program, which is executed by a processor to perform the above-mentioned method for generating a model array animation.

[0011] The present disclosure provides a method for generating a model array animation. The method first determines the initial position of each three-dimensional model in a model array located in a virtual scene. A preset noise texture map is sampled according to the initial position of each three-dimensional model to obtain a sampled noise value corresponding to each three-dimensional model. The preset noise texture map stores a noise value that continuously and dynamically changes over time. An initial offset corresponding to each three-dimensional model is determined based on the initial position of each three-dimensional model and the sampled noise value of each three-dimensional model. That is, a disturbance is added to the initial position of each three-dimensional model so that each three-dimensional model has a different initial offset. Furthermore, based on the initial offset corresponding to each three-dimensional model, the first target offset corresponding to each three-dimensional model at each time node within a preset animation playback cycle is determined; since the initial offset corresponding to each three-dimensional model is different, a different first target offset can be obtained for each three-dimensional model at each time node, wherein the animation playback cycle is the time period during which the model array animation corresponding to the generated model array is played; based on the initial position of each three-dimensional model and the first target offset corresponding to each three-dimensional model at each time node, the first target position corresponding to each three-dimensional model when it is located at each time node in the preset motion direction is determined; each three-dimensional model is controlled to move to the first target position corresponding to each three-dimensional model at the time node at each time node to generate a model array animation.

[0012] It can be seen that the model array animation generation method provided by the present disclosure generates a random noise value for each three-dimensional model in the model array, so as to perturb the initial position of each three-dimensional model through the random noise value, so that the time node when each three-dimensional model starts to move is inconsistent, thereby generating a motion animation of the random movement of each three-dimensional model, thereby generating a motion animation of the random movement of the model array. Compared with the related art that requires the combination of bone binding and program design to generate the animation of the random movement of the model array, the embodiment of the present disclosure can realize the random movement of each three-dimensional model in the model array only through the noise value, which can reduce the technical threshold for the generation of the model array animation of the model array, is simple to operate, and the generation process of the model array animation is simple, thereby improving the generation efficiency of the model array animation. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] FIG1 is a system schematic diagram of an animation generation system provided by an embodiment of the present disclosure;

[0014] FIG2 is a flow chart of a method for generating a model array animation according to an embodiment of the present disclosure;

[0015] FIG3 is a schematic diagram of one model array provided in an embodiment of the present disclosure;

[0016] FIG4 is a flow chart of one method for determining noise values ​​corresponding to three-dimensional models provided by an embodiment of the present disclosure;

[0017] FIG5 is a flowchart of one method for determining the initial position of each three-dimensional model provided by an embodiment of the present disclosure;

[0018] FIG6 is a flowchart of one method for determining the initial offset corresponding to each three-dimensional model provided by an embodiment of the present disclosure;

[0019] FIG7 is a flowchart of one method for determining interpolation parameters corresponding to each three-dimensional model at each time node provided by an embodiment of the present disclosure;

[0020] FIG8 is a flowchart of one method for determining the initial offset corresponding to each three-dimensional model provided by an embodiment of the present disclosure;

[0021] FIG9 is a flowchart of one method of determining a first target offset corresponding to each three-dimensional model at each time node provided by an embodiment of the present disclosure;

[0022] FIG10 is a flowchart of one method of controlling each three-dimensional model to move along a preset movement direction by using each first target offset provided by an embodiment of the present disclosure;

[0023] FIG11 is a schematic diagram showing a display of one frame of a model array animation according to an embodiment of the present disclosure;

[0024] FIG12 is a schematic diagram showing one frame of another model array animation provided by an embodiment of the present disclosure;

[0025] FIG13 is a flowchart of one method for determining the target color corresponding to each three-dimensional model at each time node provided by an embodiment of the present disclosure;

[0026] FIG14 is a flowchart of one method for determining a target radial distance corresponding to each time node provided by an embodiment of the present disclosure;

[0027] FIG15 is a flowchart of one method for determining the second target offset corresponding to each model set at each time node provided by an embodiment of the present disclosure;

[0028] FIG16 is a schematic diagram of an example of a random motion model array animation provided by an embodiment of the present disclosure;

[0029] FIG17 is a schematic diagram of a model array animation in which a model array moves in a model set manner, according to an embodiment of the present disclosure;

[0030] FIG18 is a schematic structural diagram of a device for generating a model array animation according to an embodiment of the present disclosure;

[0031] FIG19 is a structural block diagram of an electronic device for generating a model array animation according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0032] The following description sets forth many specific details to facilitate a full understanding of the present disclosure. However, the present disclosure can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the scope of the present disclosure. Therefore, the present disclosure is not limited to the specific implementations disclosed below.

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

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

[0035] It should be understood that in the embodiments of the present disclosure, "B corresponding to A," "B corresponding to A," "A corresponds to B," or "B corresponds to A" means that B is associated with A and B can be determined based on A. Determining B based on A does not mean determining B based solely on A; B can also be determined based on A and / or other information.

[0036] Based on the problems existing in the above-mentioned related technologies, embodiments of the present disclosure provide a method, device, electronic device and computer-readable storage medium for generating a model array animation.

[0037] The method for generating a model array animation provided by the embodiments of the present disclosure can be executed by an electronic device, which can be a terminal or a server. The terminal can be a terminal device such as a smart phone, a tablet computer, or a laptop computer. The server can be an independent physical server, or 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 storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. It is understandable that the present disclosure does not specifically limit the execution subject of the method for generating a model array animation.

[0038] In an optional embodiment, when the model array animation generation method is executed on a terminal device, the terminal device stores an application for generating matrix animation. The terminal device interacts with the user via a graphical user interface. The terminal device may provide the graphical user interface to the user in various ways, such as rendering and displaying the graphical user interface on a display screen of the terminal device or presenting the graphical user interface via holographic projection.

[0039] In an optional embodiment, when the method for generating the model array animation runs on a server, the method can be implemented and executed based on a cloud service system. A cloud service system refers to a service method based on cloud computing. A cloud service system includes a server and a client device. The operating body of the application that generates the animation and the display screen presentation body are separated, and the storage and operation of the method for generating the model array animation are completed on the server. The display screen presentation of the animation is completed on the client. The client is mainly used for receiving, sending and presenting animation data. For example, the client can be a display device with data transmission function close to the user side, such as a mobile terminal, TV, computer, PDA, personal digital assistant, head-mounted display device, etc., but the electronic device that generates the animation is a server in the cloud. When playing the game, the user operates the client to send instructions to the server. The server controls the operation of the method for generating the model array animation according to the instructions, encodes and compresses the data such as the animation display screen, and returns it to the client via the network. Finally, the client decodes and outputs the animation.

[0040] It should be noted that in the embodiments of the present disclosure, the execution entity of the method for generating the model array animation can be a terminal device or a server, wherein the terminal device can be a local terminal device or a client device in the aforementioned cloud service system. The embodiments of the present disclosure do not limit the type of execution entity.

[0041] For example, in conjunction with the above description, FIG1 illustrates an animation generation system 100 for implementing a method for generating model array animations, according to an embodiment of the present disclosure. The animation generation system 100 may include a terminal 110, a server 120, a database 130, and a network. The user's terminal 110 can connect to different servers via the network. A terminal is any device with computing hardware capable of supporting and executing software application tools for animation generation.

[0042] The terminal 110 includes a display screen and a processor. The display screen is used to present animations and receive user operations generated by a graphical user interface. The processor is used to respond to and send operation instructions and control the display of the animation on the display screen. When the user operates the animation via the display screen, the processor can control the local content of the terminal in response to the received operation instructions. The server 120 is used to execute the above-mentioned model array animation generation method and perform related operations based on the instructions received from the terminal 110.

[0043] In addition, when the system 100 includes multiple terminals, multiple servers, and multiple networks, different terminals can be connected to each other through different networks and different servers. The network can be a wireless network or a wired network, such as a wireless local area network (WLAN), a local area network (LAN), a cellular network, a second generation mobile communication technology (2G) network, a 3G network, a 4G network, a 5G network, etc. In addition, different terminals can also use their own Bluetooth network or hotspot network to connect to other terminals or to servers, etc. In addition, the system 100 may include multiple databases, multiple databases coupled to different servers, and game-related information can be continuously stored in the database when different users play multi-user games online.

[0044] It should be noted that the animation generation system schematic diagram shown in Figure 1 is only an example. The animation generation system 100 described in the embodiment of the present disclosure is to more clearly illustrate the technical solution of the embodiment of the present disclosure, and does not constitute a limitation on the technical solution provided by the embodiment of the present disclosure. Ordinary technicians in this field can know that with the evolution of game systems and the emergence of new business scenarios, the technical solution provided by the embodiment of the present disclosure is also applicable to similar technical problems.

[0045] The technical solution of the present disclosure is described in detail below through specific embodiments. It should be noted that the following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments described below are used to explain the technical solution of the present disclosure and are not intended to be used as limitations for actual use.

[0046] As shown in FIG2 , FIG2 is a flowchart of a method for generating a model array animation provided by an embodiment of the present disclosure. It should be noted that the steps shown can be performed in a different logical order than that shown in the flowchart of the method. The method can include the following steps S011 to S016.

[0047] Step S011: determining the initial position of each three-dimensional model in the model array in the virtual scene.

[0048] The three-dimensional models described above can be understood as three-dimensional objects of any shape, such as cubes, spheres, or cylinders. A model array can be understood as a matrix consisting of multiple three-dimensional models arranged according to a certain pattern or layout in a virtual scene. The virtual scene can be a virtual scene in a game, and this embodiment does not specifically limit this. The model array can include multiple three-dimensional models of different shapes. For example, a model array can include, but is not limited to, cube models, cylindrical models, spherical models, or other irregular models. This embodiment does not limit the shape of each model in the model array.

[0049] As shown in Figure 3, which is a schematic diagram of one model array provided in this embodiment, a virtual scene 300 includes a model array 10, which can include nine cubic three-dimensional models. For ease of understanding, each of the nine three-dimensional models is numbered, for example, 1, 2, 3, 4, 5, 6, 7, 8, and 9.

[0050] The initial position of each of the above-mentioned three-dimensional models in the virtual scene is the position of each three-dimensional model in the virtual scene when the model array animation is not generated. In this embodiment, the position of each three-dimensional model in the virtual scene can be represented by the world coordinates in the world coordinate system established for the virtual scene, that is, the initial position of each three-dimensional model corresponds to the world coordinates one by one. The world coordinate system provided in the embodiment of the present disclosure has three axes: X, Y, and Z. Therefore, the initial position of the three-dimensional model can also be understood as a three-dimensional vector. Among them, the plane formed by the X-axis and the Y-axis is the plane where the preset ground plane is located in the virtual scene, and the Z-axis represents the height from the preset ground plane.

[0051] As shown in FIG3 , in a virtual scene 300, a world coordinate system is established for the virtual scene 300. The origin of the world coordinate system may be the center of the virtual scene 300 or other location point, which is not specifically limited in this embodiment. The X-axis and Y-axis of the world coordinate system constitute a preset ground plane 301 in the virtual scene 300. The virtual scene 300 includes the above-mentioned model array 10, which may include 9 cube-shaped three-dimensional models. Each three-dimensional model has a corresponding world coordinate in the world coordinate system to represent the initial position of the three-dimensional model in the virtual scene. For example, for each three-dimensional model shown in FIG3 , its initial position may be as shown in Table 1.

[0052] Table 1 Initial position of the 3D model and examples of initial positions

[0053] Among them, the initial position corresponding to three-dimensional model No. 1 in the virtual scene is (x1, y1, z1), indicating that three-dimensional model No. 1 is located at the position indicated by the coordinate value (x1, y1, z1) of the world coordinate system corresponding to virtual scene 300; the initial position corresponding to three-dimensional model No. 2 in the virtual scene is (x2, y2, z2), the initial position corresponding to three-dimensional model No. 3 in the virtual scene is (x3, y3, z3), and so on. The initial position corresponding to three-dimensional model No. 9 in the virtual scene is (x9, y9, z9). The specific values ​​in the above initial positions can be determined according to the actual position of the three-dimensional model in the virtual scene, and this embodiment does not specifically limit them.

[0054] Assume that, as shown in Table 2, Table 2 provides specific numerical examples of the initial positions of the three-dimensional model.

[0055] Table 2 Specific numerical examples of the initial positions of the three-dimensional model

[0056] As shown in Table 2, the specific values ​​of the initial position (x1, y1, z1) corresponding to the 3D model No. 1 are (0.2, 0.4, 1.0); the specific values ​​of the initial position (x2, y2, z2) corresponding to the 3D model No. 2 are (0.1, 0.3, 1.0); the specific values ​​of the initial position (x3, y3, z3) corresponding to the 3D model No. 3 are (0.1, 0.3, 0.5); and so on, the specific values ​​of the initial position (x9, y9, z9) corresponding to the 3D model No. 9 are (0.4, 0.6, 0.5).

[0057] It is understandable that the above coordinate values ​​for the initial positions of the three-dimensional models are merely examples to facilitate subsequent calculations and do not constitute a specific limitation on the initial positions of the three-dimensional models in the embodiments of the present disclosure.

[0058] In a specific embodiment, the Unreal Engine (UE) material editor can be used to generate animation for the above-mentioned model array. That is, this embodiment can mainly generate model array animation for the model array by using material displacement in the material editor. It is understood that there are multiple node tools in the material editor to generate a special resource for describing the appearance and properties of the object surface, such as the color, texture, reflectivity, etc. of each three-dimensional model surface in the model array.

[0059] In an optional implementation, the initial position of each three-dimensional model in the virtual scene can be obtained by calculating the center position of the world scene space of the object boundary corresponding to each three-dimensional model.

[0060] In an optional embodiment, the location of the model boundary of a 3D model at the center of the boundary of a virtual scene can be determined by the following steps: First, the local space coordinates of the 3D model are obtained. Second, the boundary of the 3D model is calculated by obtaining the 3D model data and then calculating the maximum and minimum values ​​of its geometric shape. The world space coordinates of the boundary of the 3D model can then be obtained by converting the local space coordinates and boundary data of the object to world space. Furthermore, the initial position of the 3D model in the virtual scene can be obtained by calculating the average of the world space coordinates corresponding to each boundary of the 3D model.

[0061] Alternatively, in a specific embodiment, the initial position of each of the three-dimensional models in the virtual scene can be obtained through the "Object Position" node in the material editor. The "Object Position" node is a node for obtaining the center position of the object boundary of the three-dimensional model in the world scene space.

[0062] Step S012: sampling the preset noise texture map according to the initial position of each three-dimensional model to obtain a sampling noise value corresponding to each three-dimensional model.

[0063] The preset noise texture map is used to store noise values ​​that continuously and dynamically change over time. In this embodiment, the noise texture in the noise texture map is a texture effect composed of noise values ​​generated by a preset noise function. Specifically, a noise texture map is obtained by generating a series of time-varying noise values ​​using a preset noise function and storing them in the form of an image; that is, the pixel values ​​of each pixel constituting the image are the noise values. The noise texture map can be a grayscale image, an RGB color image, or other multi-channel texture map, and this embodiment does not specifically limit this.

[0064] A noise function is a function that can generate random and smooth output values. In this embodiment, the preset noise function may include but is not limited to Perlin noise, Simplex noise, Worley noise, Voronoi noise, etc. This embodiment does not specifically limit the type of noise function.

[0065] It can be understood that the noise value output by the noise function is a random value.

[0066] The above-mentioned sampling of the preset noise texture map according to the initial position of each three-dimensional model can be specifically performed by determining the texture coordinates corresponding to the initial position of each three-dimensional model, and then obtaining noise values ​​from the corresponding positions of the noise texture map based on the texture coordinates.

[0067] Texture coordinates, also known as UV coordinates or mapping coordinates, in this embodiment, each three-dimensional model corresponds to a texture coordinate. The noise value is sampled from the noise texture map through the texture coordinates, and the noise value is applied to the three-dimensional model, thereby achieving the effect of giving the noise texture to the surface of each three-dimensional model.

[0068] Since the texture coordinates corresponding to each 3D model are different, the noise value sampled for each 3D model is different, and thus the initial offset generated based on the noise value in the subsequent technical solution for each 3D model is different.

[0069] It's understood that when the noise texture map is a grayscale image, different noise values ​​can correspond to different grayscale colors. For example, when the sampled noise value is 0, the corresponding 3D model can be displayed black; when the noise value is 1, the corresponding 3D model can be displayed white; and when the noise value is anywhere between 0 and 1, the corresponding 3D model can be displayed gray. This allows each 3D model in the model array to produce a different color visual effect when in motion.

[0070] In a specific embodiment, in the Unreal Engine's material editor, a "Vector Noise" node can be used to generate noise values ​​that continuously vary between 0 and 1. By storing the generated noise values ​​in the form of an image, a noise texture map can be obtained. The "Vector Noise" node has a preset noise function.

[0071] As shown in Figure 4, in the material editor, if the initial position (0.2, 0.4, 1.0) of the three-dimensional model No. 1 obtained by the "Object Position" node is input into the "Vector Noise" node, then the texture coordinates corresponding to the initial position (0.2, 0.4, 1.0) can be sampled from the noise texture map generated by the "Vector Noise" node to obtain the noise value (0.0, 0.0, 1.0) corresponding to the three-dimensional model No. 1.

[0072] It's understandable that the noise value sampled by the "Vector Noise" node is a three-dimensional vector. Each component of this three-dimensional vector corresponds to the noise value of the 3D model in the X-axis, Y-axis, and Z-axis directions, respectively. This noise value can be used to perturb the world coordinates of the 3D model.

[0073] Assuming that the output noise value for 3D model No. 1 is (0.0, 0.0, 1.0), it can be said that there is no noise disturbance in the X-axis and Y-axis directions of 3D model No. 1, and the corresponding noise value in the Z-axis direction is 1.0.

[0074] As shown in Table 3, Table 3 provides examples of noise values ​​corresponding to each three-dimensional model.

[0075] Table 3 Examples of noise values ​​corresponding to three-dimensional models

[0076] It is understandable that the noise values ​​corresponding to the three-dimensional models provided in Table 3 above are merely examples and are not intended to limit the actual noise values ​​generated.

[0077] As shown in Table 3, the noise values ​​corresponding to 3D model No. 1 are (0.0, 0.0, 1.0), the noise values ​​corresponding to 3D model No. 2 are (0.5, 0.3, 1.0), the noise values ​​corresponding to 3D model No. 3 are (0.8, 0.3, 0.2), and so on. The noise values ​​corresponding to 3D model No. 9 are (0.6, 0.4, 0.0).

[0078] Step S013: determining an initial offset corresponding to each three-dimensional model according to the initial position of each three-dimensional model and the sampling noise value corresponding to each three-dimensional model.

[0079] This step applies the sampled noise values ​​to the initial positions of the corresponding 3D models, perturbing the initial positions of each 3D model. Because the noise values ​​sampled for each 3D model are different, the degree of perturbation varies. This results in a different initial offset for each 3D model. This facilitates the subsequent determination of a different first target offset for each 3D model, thereby creating a randomly fluctuating animation effect for each 3D model.

[0080] In a specific embodiment, the product of the sampling noise value corresponding to each 3D model and the initial position of each 3D model can be used to determine the initial offset corresponding to each 3D model. This initial offset can be used to represent the time when each 3D model begins to move. Because the sampling noise value corresponding to each 3D model is different, that is, the disturbance to the initial position of each 3D model is different, each 3D model will start moving at a different time point within the animation playback cycle of the model array, thus generating a random, staggered motion animation.

[0081] It is understandable that the initial position of each 3D model and the noise value obtained by sampling are both 3D vectors. To simplify calculations, any component of the 3D vector can usually be used to generate animation effects later.

[0082] In this embodiment, the Component Mask (Mask) node in Unreal Engine can be used to separate the input data into its components or channels. The "Component Mask" node allows the R channel, G channel, B channel, and / or A channel to be selected from the input for output. Specifically, the coordinate vector representing the initial position is input to the Mask node, which causes the Mask node to output a component of the coordinate vector. It is understood that the R channel, G channel, and B channel correspond to the X, Y, and Z of the initial position, respectively. For example, as shown in Figure 5, the initial position of the three-dimensional model No. 1 obtained by the "Object Position" node is (0.2, 0.4, 1.0). Then the initial position (0.2, 0.4, 1.0) is used as the input of the "Component Mask" node, and the B channel is selected as the output. Then the "Component Mask" node can output the value 1.0; similarly, the noise value as a three-dimensional vector can be obtained as a component to keep the data dimension consistent during the calculation process. As shown in Figure 4, the noise value (0.0, 0.0, 1.0) corresponding to the three-dimensional model No. 1 is output through the "Component Mask" node. The component 1.0 in the Z-axis direction.

[0083] For example, as shown in Table 4, Table 4 provides examples of initial offsets of various three-dimensional models.

[0084] Table 4 Examples of initial offsets corresponding to 3D models

[0085] As shown in Table 4, the initial offset corresponding to 3D model No. 1 and 3D model No. 2 is 1.0, which indicates that the maximum intensity perturbation is to be added to the Z-axis vectors of 3D model No. 1 and 3D model No. 2, so that the initial positions of the starting movement of 3D model No. 1 and 3D model No. 2 can be offset to a large extent; the initial offset corresponding to 3D model No. 3 is 0.01, which indicates that a smaller degree of perturbation is to be added to the Z-axis vector of 3D model No. 3, that is, the initial position of 3D model No. 3 will not be significantly offset; the initial offset corresponding to 3D model No. 9 is 0.0, which indicates that the Z-axis vector of 3D model No. 9 is not perturbated, that is, the initial position of 3D model No. 9 is not offset.

[0086] In this way, after the initial coordinates of each three-dimensional model are disturbed, the initial position of each three-dimensional model at the beginning of movement can be made more random, and the visual effect can be richer.

[0087] As shown in FIG6 , after the noise value component 1.0 and the initial position component 1.0 of the 3D model No. 1 are output through the “Component Mask” node, the noise value component and the initial position component are multiplied to obtain an initial offset 1.0.

[0088] Step S014: Determine a first target offset corresponding to each time node of each three-dimensional model within a preset animation playback cycle based on the initial offset corresponding to each three-dimensional model.

[0089] The animation playing period is the time period during which the model array animation corresponding to the model array to be generated is played.

[0090] In this embodiment, at least one play cycle can be determined for the model array animation. If the model array animation has multiple play cycles, the model array animation generated by the band can be played in a loop to avoid playback interruptions.

[0091] The playback cycle can be a time period consisting of real time or a time period when a computer program starts running. For example, if the model array animation is preset to play for 12 seconds, then 12 seconds of real time constitutes one playback cycle. As another example, the above time period can be a global time period in a game. This time period generally refers to the elapsed time of the game or scene running, measured in seconds. When the game starts running, this time period starts to accumulate from zero and is continuously updated as the game progresses in real time. This embodiment is not specifically limited.

[0092] A playback cycle may include one or more time nodes, for example, a first time node, a second time node, and so on. There is a preset time interval between each time node. This embodiment does not specifically limit the specific value of the preset time interval. It is understandable that in this embodiment, each time node in the animation playback cycle may correspond to an animation frame in the model array animation, and the size of each time node is proportional to the frame sequence of the animation frame. For example, the first time node plays the first frame of animation, and the second time node plays the second frame of animation.

[0093] It is understood that the first target offset is the position offset of the 3D model at each time node. The position offset refers to the relative change between the position of each 3D model at the next time node and the position at the current time node.

[0094] In a specific embodiment, step S013 can be implemented through the following steps A1 to A3.

[0095] Step A1: Determine the interpolation parameters corresponding to each 3D model at each time node based on the initial offset corresponding to each 3D model.

[0096] Step A2: Obtain a preset first offset distance and a preset second offset distance for the model array; the second offset distance is greater than the first offset distance.

[0097] Step A3: According to the interpolation parameters corresponding to each 3D model at each time node, the first offset distance and the second offset distance are mixed to obtain the first target offset corresponding to the 3D model at each time node.

[0098] The above-mentioned preset first offset distance and preset second offset distance can be understood as the minimum distance and maximum distance by which the initial position of each three-dimensional model can be offset, wherein the second offset distance is greater than the first offset distance, that is, the second offset distance is the maximum offset distance and the first offset distance is the minimum offset distance.

[0099] In this embodiment, the first and second offset distances can be set manually based on animation requirements. By setting a maximum offset distance, the motion of the 3D model can be constrained, preventing the model from moving infinitely. This allows the 3D model's motion animation to better conform to physical laws, meet the spatial limitations of the virtual scene, and enhance the user's visual experience.

[0100] For example, if the first offset distance is 0 units and the second offset distance is 2 units, it means that each 3D model can be offset by a maximum distance of 2 units. The specific unit of the offset distance is not specifically limited in this disclosure and can be centimeters, meters, feet, etc.

[0101] The interpolation parameters are used to define how to smoothly transition between the first offset distance and the second offset distance. In this embodiment, the interpolation parameters are dynamically changing over time during the animation playback cycle, so that each 3D model has a different first target offset at different time nodes.

[0102] In some specific embodiments, the above step A1 can be implemented through the following steps A11 to A12.

[0103] Step A11: Obtain a preset fitting curve function, which is a continuously changing periodic function.

[0104] Step A12: Generate interpolation parameters corresponding to each 3D model at each time node based on the initial offset and the fitting curve function corresponding to each 3D model.

[0105] In step A12, the interpolation parameters corresponding to each time node may be generated based on the principle that the variation rule of the interpolation parameters is consistent with the variation rule of the fitting curve function.

[0106] Through this embodiment, an interpolation parameter that changes periodically with time can be obtained, and then a first target offset that changes periodically with time can be obtained through the periodically changing interpolation parameter. Through the periodically changing first target offset, each three-dimensional model can move back and forth between the initial position and the first target position described subsequently during the animation playback cycle, generating a richer animation effect.

[0107] The above-mentioned fitting curve function may include but is not limited to a trigonometric sine function, a trigonometric cosine function or other continuously changing periodic functions. In this embodiment, the trigonometric cosine function is used as an example to introduce the subsequent solutions.

[0108] In a specific embodiment, the aforementioned time nodes for the animation playback cycle can be output via the "Time" node in the material editor. The time nodes output by the "Time" node and the initial offsets corresponding to the three-dimensional models are then input into a trigonometric cosine function to output interpolated values ​​corresponding to the three-dimensional models that vary periodically, consistent with the variation pattern of the trigonometric cosine function. The initial offsets can be used to control the phase of the cosine waveform output by the trigonometric cosine function, thereby controlling the timing of the output interpolation parameters. In other words, each initial offset can control the timing at which the trigonometric cosine function begins outputting the interpolation parameters corresponding to the three-dimensional models.

[0109] In this way, the initial offset obtained by the noise value can control the trigonometric cosine function to start calculating the first target offset corresponding to each three-dimensional model at different time nodes, thereby causing each three-dimensional model to start moving at a different time node, and generating a motion animation of a model array with rich randomness.

[0110] For example, as shown in FIG7 , the sum of the initial offset and the output time node of the “time” node is input into the cosine function node, and an interpolation parameter with a value range of -1 to 1 that changes periodically can be output.

[0111] Optionally, in a specific embodiment, the interpolation parameters of the cosine function output, which range from -1 to 1 and periodically change, can be normalized. This can optimize the animation generation process and avoid abnormal 3D model motion caused by different value ranges. In the material editor, the "Normalize" node can be used to normalize the initial position.

[0112] In a specific embodiment, when the above-mentioned animation playback period is the time period when the computer program starts running, a speed factor can also be added to each time node output by the "Time" node. By controlling the change speed of each time node through the speed factor, the movement speed of each three-dimensional model can be controlled.

[0113] Specifically, as shown in Figure 8, the time node and speed factor output by the "Time" node can be input into a Multiply node. This speed factor controls the speed of the time node output by the "Time" node, thereby controlling the movement speed of each 3D model. For example, multiplying the time parameter output by the "Time" node by 0.2 can control the speed of the time node output by the "Time" node, thereby achieving an animation effect that controls the movement of each 3D model in the model array at a slower speed.

[0114] In a specific embodiment, the first offset distance and the second offset distance may be mixed according to the interpolation parameters corresponding to each three-dimensional model at each time node generated in the above manner to obtain the first target offset corresponding to each three-dimensional model at each time node.

[0115] In this embodiment, blending the first offset distance and the second offset distance can be achieved by using an interpolation function. The interpolation function may include a linear interpolation (Lerp) function. The Lerp function can perform linear interpolation between two values. Its basic concept is to find a line segment, insert a new point between the starting point and the end point, and evenly distribute the new point along the line segment.

[0116] Specifically, given two values ​​A and B (starting point and ending point), and an interpolation parameter Alpha, the Lerp function can calculate where the new point C is located on line segment AB. The specific formula of its interpolation function is shown in formula (1). Lerp(A,B,Alpha)=A+(B-A)*Alpha (1)

[0117] In formula (1), A represents the interpolation starting point, and B represents the interpolation end point. Alpha ranges from 0 to 1 and represents the interpolation percentage. When Alpha = 0, the calculated new point C is exactly equal to the starting point A; when Alpha = 1, C is exactly equal to the end point B. When Alpha = 0.5, the result is the average of A and B. By adjusting the value of Alpha, the degree of smoothness during the interpolation process can be controlled.

[0118] As shown in Figure 9, the time-varying interpolation parameters corresponding to each 3D model are input into the Alpha interface of the Lerp function node, the first offset distance is input into the A interface of the Lerp function node, and the second offset distance is input into the B interface of the Lerp function node. The Lerp function node then outputs the first target offset corresponding to each 3D model at each time point. For example, if the interpolation parameter corresponding to a 3D model at a certain time point is 0.5, the first offset distance is 0, and the second offset distance is 2, then the first target offset corresponding to this 3D model is 1.

[0119] Step S015: determining the first target position corresponding to each 3D model at each time node in the preset motion direction based on the initial position of each 3D model and the first target offset corresponding to each 3D model at each time node.

[0120] It is understood that the aforementioned preset motion directions can be understood as the target directions in which each 3D model is to move. In this embodiment, the preset motion directions can include the axis directions of the world coordinate system described above, that is, the 3D model can move along each axis direction. It is understood that the axis directions can include positive and negative directions. That is, in this embodiment, both positive and negative motion of the 3D model along an axis direction are referred to as motion of the 3D model along the axis direction.

[0121] In a specific embodiment, the preset motion direction of each 3D model can be selected from the aforementioned axis directions based on the desired animation effect, and this embodiment is not particularly limited. For example, if the desired target animation effect is to control the up and down movement of each 3D model, the Z axis direction among the aforementioned axis directions can be determined as the motion direction corresponding to each 3D model.

[0122] It should be noted that, in this embodiment, the movement direction corresponding to each of the three-dimensional models is the same, that is, the movement direction can be understood as the movement direction of the model array.

[0123] The first target position may be understood as a new position obtained by shifting each three-dimensional model from its initial position along a preset movement direction by the first target offset.

[0124] In a specific embodiment, the above step S015 can be implemented by the following steps B1 to B3:

[0125] Step B1: Determine a direction vector for representing a preset motion direction.

[0126] It is understood that in the world space coordinate system, the direction of movement of each 3D model can be represented by a direction vector. For example, the direction vector (0,0,1) indicates that the 3D model is moving in the Z-axis direction; the direction vector (0,1,0) indicates that the 3D model is moving in the Y-axis direction; and the direction vector (1,0,0) indicates that the 3D model is moving in the X-axis direction.

[0127] Step B2: Determine the first target offset with a directional attribute corresponding to each three-dimensional model at each time node according to the first target offset and direction vector corresponding to each three-dimensional model at each time node.

[0128] Step B3: Determine the first target position corresponding to each 3D model at each time node in the preset motion direction based on the initial position of each 3D model and the first target offset with directional attributes corresponding to each 3D model.

[0129] It should be noted that the first target offset is one-dimensional data, and the direction vector is a three-dimensional vector.

[0130] It can be understood that the above steps B1 and B2 are used to add a direction attribute to the first target offset corresponding to each three-dimensional model, so that each three-dimensional model moves in a preset direction.

[0131] In a specific embodiment, the product of the first target offset and the direction vector corresponding to each three-dimensional model can be used to determine the first target offset with a directional attribute corresponding to each three-dimensional model. For example, when the first target offset is 1 and the direction vector is (0, 0, 1), the first target offset with a directional attribute is (0, 0, 1), indicating that the three-dimensional model moves a distance of 1 unit along the Z axis from its initial position.

[0132] As shown in FIG10 , in the material editor, the first target offset corresponding to each three-dimensional model can be multiplied by the direction vector representing the preset motion direction, and each product can be determined as the first target offset with direction attribute corresponding to the three-dimensional model.

[0133] After obtaining the first target offsets with directional attributes corresponding to the three-dimensional models, the above step B3 can be specifically implemented through the following steps S1 to S4.

[0134] S1: Determine the initial position of each three-dimensional model as the first target position corresponding to the i-th time node of each three-dimensional model in the animation playback cycle, where i=0.

[0135] When i = 0, the i-th time node is the time node at which the model array animation is initially played. For example, when the model array is a model array in a game, the time node at which the model array animation begins playing can be the time node when the player launches the game, or the time node when the player triggers the display of the model array, without limitation. In this case, the initial position of each 3D model can be used as the first target position of each 3D model at the i-th time node.

[0136] S2: Determine the first target position corresponding to each three-dimensional model at the i+1th time node based on the first target position corresponding to each three-dimensional model at the i-th time node and the first target offset with directional attributes corresponding to each three-dimensional model at the i+1th time node.

[0137] In a specific embodiment, the first target position of the three-dimensional model at the i-th time node and the first target offset with a directional attribute corresponding to the three-dimensional model at the i+1 time point can be summed to obtain the first target position of the three-dimensional model at the i+1 time point. For example, as shown in Table 2, the initial position of the three-dimensional model No. 1 at the 0th time node is (0.2, 0.4, 1.0). Assuming that the first target offset with a directional attribute corresponding to the three-dimensional model at the 1st time node is (0, 0, 1.0), the first target position of the three-dimensional model at the 1st time node can be obtained as (0.2, 0.4, 2.0), indicating that the three-dimensional model changes over time and moves upward along the Z axis in the virtual scene starting from the initial position.

[0138] S3: When the (i+1)th time node is not the last time node in the animation playback cycle, set i=i+1 and return to execute steps S2 to S3.

[0139] It is understandable that the last time node of the animation playback cycle can be understood as the time node corresponding to the end of the animation playback cycle. Assume that the animation playback cycle is 12 seconds, then the 12th time node is the last time node corresponding to the animation playback cycle.

[0140] This step is used to loop through steps S2 and S3 while the animation playback cycle is still in progress, so as to calculate the first target position of each 3D model by accumulating the values ​​at each time node. For example, if the (i+1)th time node is the 11th time node, which is not the last time node in the 12-second animation playback cycle, the first target position of the 3D model at the 11th time node can be calculated as the sum of the first target offset with directional attributes corresponding to the 3D model at the 12th time node.

[0141] S4: When the (i+1)th time node is the last time node in the animation playback cycle, the initial positions of the three-dimensional models are respectively determined as the first target positions of the three-dimensional models corresponding to the (i+1)th time node.

[0142] That is, in step S4, when the animation playback cycle ends, each three-dimensional model returns to its origin and stops moving.

[0143] Step S016: Control each three-dimensional model to move to a first target position corresponding to each three-dimensional model at each time node, to generate a model array animation.

[0144] In summary, the disclosed embodiments can calculate the first target position of each 3D model at the next time point after the current time point by summing the first target position corresponding to the current time point and the first target offset with directional attributes corresponding to the next time point after the current time point. The 3D models can then be controlled to move over time from the first target position corresponding to the current time point to the first target position corresponding to the next time point. Similarly, each 3D model can be moved along a preset motion direction over time, thereby generating a model array animation through rendering.

[0145] As shown in Figure 10, in the material editor, the first target offset corresponding to each three-dimensional model at each time node can be input into the world position offset node in the material editor. The first target position corresponding to each three-dimensional model at each time node is calculated through the world position offset node, and then each three-dimensional model is controlled to move along the preset motion direction over time.

[0146] Through the above-mentioned embodiments, a random noise value is generated for each three-dimensional model in the model array, and the initial position of each three-dimensional model is disturbed by the random noise value, so that the time node when each three-dimensional model starts to move is inconsistent, thereby generating a motion animation of the random movement of each three-dimensional model, thereby generating a motion animation of the model array. Compared with the related art that requires the combination of bone binding and programming to generate an animation of the random movement of the model array, the embodiment of the present disclosure only realizes the random movement of each model array through the noise value, which can lower the technical threshold for generating the model array animation, is simple to operate, and has a simple animation generation process, thereby improving the generation efficiency of the model array animation.

[0147] As shown in FIG11 , FIG11 provides a frame of a model array animation. Each three-dimensional model can move randomly up and down, that is, move along the Z axis, and the movement distance of each three-dimensional model at the time point corresponding to the animation frame is different, generating a random up and down motion animation for the model array 10. Three-dimensional models with different movement distances can be displayed in different colors. For example, as shown in FIG11 , three-dimensional model No. 1, three-dimensional model No. 3, and three-dimensional model No. 8, which have not moved, are displayed in black, and three-dimensional model No. 4, which has moved the second offset distance in FIG11 , is displayed in white, while three-dimensional model No. 2, three-dimensional model No. 5, three-dimensional model No. 6, three-dimensional model No. 7, and three-dimensional model No. 9, whose corresponding movement distances are between the first offset distance and the second offset distance in FIG11 , are displayed in different grays.

[0148] As shown in Figure 12, Figure 12 provides another frame of the motion animation of the model array. In Figure 12, each 3D model can randomly move horizontally, forward, backward, left, and right, i.e., along the X-axis and Y-axis. Each 3D model moves a different distance at the time point corresponding to that animation frame. A random left and right motion animation is generated for the model array 10, and different colors are displayed for 3D models with different movement distances. Specifically, 3D models 1 and 3, which have moved by the second offset distance, are displayed white, while 3D model 2, which has not moved, is displayed black. 3D models 4 through 9, whose movement distances are between the first offset distance and the second offset distance, are displayed in different shades of gray.

[0149] In an optional embodiment, a self-luminous effect may be added to each three-dimensional model whose position information is offset, so that the three-dimensional model with position offset is displayed differently from the three-dimensional model without position offset, thereby enriching the display effect of the model array.

[0150] In a specific embodiment, an animation effect of a gradual color change on the surface of the three-dimensional model can be achieved in the position shift process of the three-dimensional model, which can be achieved through the following steps S017 to S018.

[0151] Step S017: obtaining a first preset color corresponding to each 3D model at an initial position, and a second preset color corresponding to each 3D model at a position offset from the initial position by a second offset distance.

[0152] Step S018: According to the interpolation parameters corresponding to each three-dimensional model at each time node, the first preset color and the second preset color corresponding to each three-dimensional model are mixed respectively to obtain the target color corresponding to each three-dimensional model at each time node, so that each three-dimensional model presents the target color corresponding to the time node when it moves to the first target position corresponding to the time node at each time node.

[0153] The first and second preset colors can each be any color. In this embodiment, a color difference between the first and second preset colors is sufficient. In other words, the first and second preset colors are different. For example, the first preset color may include, but is not limited to, white, blue, and black; the second preset color may include, but is not limited to, white, blue, and black.

[0154] As shown in Figure 13, the interpolation parameters corresponding to each three-dimensional model at each time node calculated above are input into the Lerp function node over time, and the first preset color and the second preset color corresponding to each three-dimensional model are respectively input into the two input interfaces of the Lerp function node to obtain the target color corresponding to each time node. Then, the target color corresponding to each time node is input into the self-luminous node. The self-luminous node can be used to control the three-dimensional model to present the target color corresponding to the time node when it moves to the first target position corresponding to the time node at each time node.

[0155] The self-luminous node in the above example is a node in the material editor used to simulate the material itself emitting light. In the embodiment of the present disclosure, the self-luminous node can be used to make each three-dimensional model emit light of different colors to enrich the animation effect of the model array.

[0156] In some embodiments, the method for generating a model array animation provided by the present disclosure may further include the following steps S019 to S021.

[0157] Step S019: In response to a trigger instruction for a target three-dimensional model in the model array, the three-dimensional models in the model array are divided with the initial position of the target three-dimensional model as the center to obtain at least one model set; the model set includes multiple three-dimensional models, and each model set is distributed in the virtual scene in the form of at least one concentric ring.

[0158] The target 3D model is any 3D model in the model array. For example, in some games, the 3D model at the center of the model array can be used as the target 3D model. In another example, in some games, the 3D model triggered by the player's virtual character can be used as the target 3D model. For example, the model array can be the game platform where the player's virtual character is located. When the player controls the virtual character to move, different 3D models can be triggered. In this case, the 3D model triggered by the player's virtual character is used as the target 3D model.

[0159] In a specific embodiment, the above-mentioned step S019 of "in response to a trigger instruction for a target three-dimensional model in the model array, dividing each three-dimensional model in the model array with the initial position of the target three-dimensional model as the center to obtain at least one model set" can be specifically implemented through the following steps S019-1 to step 019-2.

[0160] Step S019-1: In response to a trigger instruction for a target three-dimensional model in the model array, the world coordinates used to represent the initial position of each three-dimensional model are converted into polar coordinates with the initial position of the target three-dimensional model as the origin of the polar coordinate system.

[0161] It is understandable that the position of each three-dimensional model is represented by world coordinates in the world coordinate system, and the position of each three-dimensional model is represented by polar coordinates in the polar coordinate system. It is understandable that the position of the three-dimensional model can be described by three parameters in the polar coordinate system, namely radial distance, polar angle and azimuth. Among them, the radial distance is used to describe the distance between the three-dimensional model and the origin of the polar coordinate system, the polar angle is used to describe the angle between the positive direction of the Z axis and the radius line of the origin and the location point of the three-dimensional model, and the azimuth is used to describe the angle formed by the projection of the radius line from the positive direction of the X axis to the origin and the location point of the three-dimensional model on the horizontal plane formed by the X-axis and the Y-axis counterclockwise.

[0162] In the disclosed embodiment, a polar coordinate system is constructed for the model array, with the initial position of the target 3D model serving as the origin of the polar coordinate system. Then, the initial position of each 3D model in the model array undergoes a coordinate transformation, converting the world coordinates of each 3D model into polar coordinates. This coordinate transformation process is not the focus of the technical solution provided by the disclosed invention and will not be further described here.

[0163] Step S019-2: Divide each three-dimensional model according to the principle that the radial distances in the polar coordinates of each three-dimensional model are equal to obtain at least one model set.

[0164] After obtaining the polar coordinates of each 3D model in the polar coordinate system, the 3D models are divided according to the principle that the radial distances between the polar coordinates of each 3D model are equal. In this way, the model array can be divided into multiple model sets centered on the target 3D model. Each model set includes multiple 3D models, and each model set is distributed in the virtual scene in the form of at least one concentric ring. It is understood that the radial distances between the 3D models in the same ring are equal.

[0165] Step S020: Determine the second target position corresponding to each model set at each time node.

[0166] Step S021: For each model set, control each three-dimensional model in the model set to move to the second target position corresponding to the model set at each time node, and obtain a model array animation in which each three-dimensional model corresponding to the model array moves in the form of a model set.

[0167] In this embodiment, after the model sets are divided, the second target position corresponding to each model set at each time node can be determined for each model set, so as to facilitate the subsequent control of each three-dimensional model in each model set to move to the second target position at the same time, thereby realizing the model array animation in which each three-dimensional model corresponding to each model array moves in the form of a model set.

[0168] In some specific embodiments, the above step S020 is specifically implemented through the following step S020-1.

[0169] Step S020 - 1 : When the initial time node at which each model set starts to move is reached, a second target position corresponding to each time node after the initial time node of each model set is determined.

[0170] In this embodiment, to achieve an animation effect where the 3D models in each model set rise and fall sequentially from the inner circle to the outer circle, centered around the target 3D model, an initial time point for the start of movement can be set for each model set. Specifically, when the current time point reaches the initial time point for a model set, the second target position for that model set is determined. In this way, the model set in the inner circle of each concentric ring can start moving at a different time point than the model set in the outer circle, achieving an animation effect where each model set rises and falls sequentially.

[0171] The initial time node at which each model set starts moving in the above step S020-1 can be determined specifically in the following manner: determine at least one target radial distance corresponding to each time node within the above animation playback cycle, and determine the earliest time node among the time nodes corresponding to each target radial distance as the initial time node at which the model set corresponding to each target radial distance starts moving.

[0172] It can be understood that the target radial distance is the radial distance corresponding to a specific time node, and the radial distance may include the radial distance corresponding to any one of the above-mentioned model sets.

[0173] In a specific embodiment, the minimum radial distance and the maximum radial distance among the radial distances of each three-dimensional model in the model array can be determined; and then the third target offset corresponding to each time node can be determined based on the minimum radial distance and the maximum radial distance; thereby, the target radial distance corresponding to each time node can be determined based on the initial position corresponding to the target three-dimensional model and the third target offset corresponding to each time node.

[0174] The minimum radial distance is the radial distance corresponding to the target three-dimensional model; the maximum radial distance is the radial distance corresponding to the model set in the model array that is farthest from the target three-dimensional model.

[0175] In a specific embodiment, the third target offset corresponding to each time node determined according to the minimum radial distance and the maximum radial distance can be calculated by the linear interpolation function Lerp function introduced above.

[0176] As shown in Figure 14, each time node output by the "Time" node is used as the interpolation parameter of the Lerp function, and then the minimum radial distance and the maximum radial distance are used as the two endpoint values ​​of the Lerp function respectively. Then, the Lerp function outputs the third target offset that changes with time. The target radial distance corresponding to each time node can be obtained through the third target offset and the radial distance corresponding to the target three-dimensional model.

[0177] It is understood that the correspondence between target radial distances and time nodes can include a one-to-one correspondence or a one-to-many correspondence. That is, one target radial distance can correspond to multiple time nodes. The multiple time nodes corresponding to one target radial distance can be regarded as time nodes within the time period of the model set movement corresponding to the target radial distance.

[0178] It should be noted that when the target radial distance corresponds to multiple time nodes, the earliest time node among the multiple time nodes can be determined as the initial time node at which the model set corresponding to the target radial distance starts to move. For example, within a 12-second animation playback cycle, the time nodes corresponding to a certain target radial distance may include the first time node (first second), the second time node (second second), and the third time node (third second). In this case, the first time node can be determined as the initial time node at which the model set corresponding to the target radial distance starts to move.

[0179] Accordingly, in the above step S020 - 1 , “determining the second target position corresponding to each time node of the model set after the initial time node” can be specifically implemented through the following steps S020 - 1 a to S020 - 1 c.

[0180] Step S020-1a: Obtain a preset third offset distance and a preset fourth offset distance.

[0181] Step S020 - 1b: Determine, based on the third offset distance and the fourth offset distance, a second target offset corresponding to each time node after the initial time node of each model set.

[0182] Step S020-1c: Determine the second target position corresponding to each model set at each time node based on the initial position of each 3D model in each model set, the second target offset corresponding to each model set at each time node, and the preset movement direction.

[0183] The third and fourth offset distances are the minimum and maximum distances that each model set can be offset in the virtual scene. The fourth offset distance is greater than the third offset distance, meaning that the fourth offset distance is the maximum offset distance and the third offset distance is the minimum offset distance.

[0184] In this embodiment, the third and fourth offset distances can be set manually based on animation requirements. By setting a maximum offset distance, the movement of the model collection can be constrained, preventing the 3D models in the collection from moving endlessly. This allows the 3D model animation to better conform to physical laws, meet the spatial limitations of the virtual scene, and enhance the user's visual experience.

[0185] The second target offset is the positional offset of each 3D model in the model set that begins motion. The first target offset mentioned above refers to the offset for each 3D model, while the second target offset refers to the offset for the model set. In other words, the second target offset for each 3D model in a model set is the same.

[0186] It should be noted that the second target offset is a scalar and does not have a direction attribute.

[0187] In a specific embodiment, the second target offset corresponding to the set of models that have begun moving can be determined using a Lerp function. As shown in Figure 15, the third and fourth offset distances are used as the two endpoints of the Lerp function, and the time node is used as the interpolation parameter to output the second target offset corresponding to each time node.

[0188] After obtaining the second target offset corresponding to each model set at each time point, the second target offset for each time point can be accumulated based on the initial position of each 3D model in each model set in the virtual scene, and the direction vector can be superimposed on the second target offset to obtain the second target position corresponding to each time point. The specific calculation method for the second target position can be referred to the calculation method for the first target position and will not be repeated here.

[0189] In the Material Editor, the second target offset and the first target offset can be superimposed and then input into the World Position Offset node. Through this World Position Offset node, each 3D model can be controlled to change with the change of the time node, resulting in a combined animation effect of randomly changing 3D models and, after the target 3D model is triggered, the 3D models as a set of models fluctuate from the inner circle to the outer circle.

[0190] As shown in Figure 16, Figure 16 provides a schematic diagram of an example of a randomly moving model array animation. As shown in Figure 17, Figure 17 provides a schematic diagram of an example of a model array animation in which the model array is centered on the target three-dimensional model and rises and falls from the inner circle to the outer circle.

[0191] Thus far, the method provided by this embodiment has been described. The disclosed embodiment can generate a model array animation by perturbing the world coordinates of each three-dimensional model in the model array in different ways through the material algorithm in the material editor. Compared with the process of generating the motion animation of the model array in the related art, which requires combining skeleton binding and programming, this embodiment does not require skeleton binding for each three-dimensional model and drives the bound skeleton to generate the motion animation of the model array. This can lower the technical threshold for generating the model array animation, is simple to operate, and simplifies the process of animation generation, thereby improving the generation efficiency of the model array animation.

[0192] In addition, in the embodiment of the present disclosure, the disturbance amount of the position coordinates of each three-dimensional model can be input into different material interfaces to superimpose different animation effects. For example, the interpolation parameters that change with time are input into the self-luminous node, which can enable each three-dimensional model to change color during the position offset process; or, the model array animation effect of each three-dimensional model moving in the form of a model collection is superimposed on the model array animation of random movement to obtain a combined model array animation. The superposition method of each animation effect is simple, which is convenient for animation producers to quickly expand the animation effects.

[0193] Corresponding to the method for generating model array animation provided in the embodiment of the present disclosure, the embodiment of the present disclosure also provides a device 400 for generating model array animation. As shown in FIG18 , the device 400 includes: a determination unit 401 , a sampling unit 402 and a control unit 403 .

[0194] Among them, the determination unit 401 is configured to determine the initial position of each three-dimensional model in the model array in the virtual scene; the sampling unit 402 is configured to sample the preset noise texture map according to the initial position of each three-dimensional model, and obtain the sampling noise value corresponding to each three-dimensional model; wherein the preset noise texture map stores the noise value that changes continuously and dynamically over time; the determination unit 401 is also configured to determine the initial offset corresponding to each three-dimensional model according to the initial position of each three-dimensional model and the sampling noise value corresponding to each three-dimensional model; the determination unit 401 is also configured to determine the initial offset corresponding to each three-dimensional model according to the initial offset corresponding to each three-dimensional model. Determine the first target offset corresponding to each three-dimensional model at each time node within a preset animation playback cycle; the animation playback cycle is the time period during which the model array animation corresponding to the model array to be generated is played; the determination unit 401 is further configured to execute, based on the initial position of each three-dimensional model and the first target offset corresponding to each three-dimensional model at each time node, the determination of the first target position corresponding to each three-dimensional model when it is located at each time node in the preset motion direction; the control unit 402 is configured to execute control of each three-dimensional model to move to the first target position corresponding to each three-dimensional model at the time node at each time node to generate a model array animation.

[0195] By means of the device for generating the model array animation provided by the present invention, a random noise value is generated for each three-dimensional model in the model array, so as to perturb the initial position of each three-dimensional model by the random noise value, so that the time nodes at which each three-dimensional model starts to move are inconsistent, thereby generating a motion animation of the random movement of each three-dimensional model, thereby generating a motion animation of the random movement of the model array. Compared with the related art which requires the combination of bone binding and programming to generate the animation of the random movement of the model array, the embodiment of the present invention can realize the random movement of each three-dimensional model in the model array only by means of the noise value, which can lower the technical threshold for generating the model array animation of the model array, is simple to operate, and has a simple process for generating the model array animation, thereby improving the generation efficiency of the model array animation.

[0196] Optionally, determination unit 401 is specifically configured to determine an initial offset for each 3D model by multiplying the sampling noise value corresponding to each 3D model by the initial position of each 3D model. Based on this determination unit, the initial offset can be used to represent the time when each 3D model begins to move. Because the sampling noise value corresponding to each 3D model is different, i.e., the disturbance to the initial position of each 3D model is different, each 3D model will begin moving at a different time point within the animation playback cycle of the model array. This can generate a random, staggered motion animation, resulting in a richer visual effect.

[0197] Optionally, determination unit 401 is specifically configured to determine the interpolation parameters corresponding to each 3D model at each time node based on the initial offset corresponding to each 3D model; obtain a preset first offset distance and a preset second offset distance for the model array; the second offset distance is greater than the first offset distance; and, based on the interpolation parameters corresponding to each 3D model at each time node, blend the first offset distance and the second offset distance to obtain the first target offset corresponding to each 3D model at each time node. By setting a maximum offset distance, the movement of the 3D model can be constrained to avoid the situation where the 3D model moves infinitely, making the 3D model's motion animation more consistent with physical laws, meeting the spatial size limitations of the virtual scene, and making the model array animation more consistent with the user's visual experience.

[0198] Optionally, the determination unit 401 is further configured to execute the acquisition of a preset fitting curve function, which is a continuously changing periodic function; and generate interpolation parameters corresponding to each three-dimensional model at each time node based on the initial offset corresponding to each three-dimensional model and the fitting curve function. Through the above-mentioned determination unit, interpolation parameters that periodically change with time can be obtained, and then a first target offset that periodically changes with time can be obtained through the periodically changing interpolation parameters. The periodically changing first target offset can cause each three-dimensional model to cyclically move between the initial position and the first target position described later during the animation playback cycle, generating a richer animation effect.

[0199] Optionally, the determination unit 401 is further configured to determine a direction vector used to characterize a preset motion direction; determine a first target offset with a direction attribute corresponding to each three-dimensional model at each time node based on the first target offset and the direction vector corresponding to each three-dimensional model at each time node; and determine a first target position corresponding to each three-dimensional model when it is located at each time node in the preset motion direction based on the initial position of each three-dimensional model and the first target offset with a direction attribute corresponding to each three-dimensional model.

[0200] Optionally, the determining unit 401 is further configured to execute the following steps S1 to S4.

[0201] S1: Determine the initial position of each three-dimensional model as the first target position corresponding to the i-th time node of each three-dimensional model in the animation playback cycle, i=0; S2: Determine the first target position corresponding to the i+1-th time node of each three-dimensional model based on the first target position corresponding to the i-th time node and the first target offset with directional attributes corresponding to the i+1-th time node of each three-dimensional model; S3: When the i+1-th time node is not the last time node in the animation playback cycle, make i=i+1 and return to execute steps S2 to S3; S4: When the i+1-th time node is the last time node in the animation playback cycle, determine the initial position of each three-dimensional model as the first target position corresponding to the i+1-th time node of each three-dimensional model.

[0202] Optionally, the determination unit 401 is further configured to execute the summation of the first target position of each three-dimensional model at the i-th time node and the first target offset with directional attributes corresponding to each three-dimensional model at the i+1 time point, to obtain the first target position corresponding to each three-dimensional model at the i+1 time point.

[0203] By using the determination unit in each of the above embodiments, a random noise value is generated for each three-dimensional model in the model array, so as to perturb the initial position of each three-dimensional model through the random noise value, so that the time node when each three-dimensional model starts to move is inconsistent, thereby generating a motion animation of the random movement of each three-dimensional model, thereby generating a motion animation of the model array. Compared with the related art that requires the combination of bone binding and program design to generate an animation of the random movement of the model array, the embodiment of the present application only realizes the random movement of each model array through the noise value, which can lower the technical threshold for generating the model array animation, is simple to operate, and has a simple animation generation process, thereby improving the generation efficiency of the model array animation.

[0204] Optionally, the above-mentioned device 400 also includes an acquisition unit 404; the acquisition unit 404 is configured to execute acquisition of the first preset color corresponding to the initial position of the three-dimensional model, and the second preset color corresponding to the position of the three-dimensional model after the initial position is offset by a second offset distance; the determination unit 401 is also configured to execute, according to the interpolation parameters corresponding to each three-dimensional model at each time node, mixing the first preset color and the second preset color corresponding to each three-dimensional model, to obtain the target color corresponding to each three-dimensional model at each time node, so that each three-dimensional model presents the target color corresponding to the time node when it moves to the target position corresponding to the time node at each time node. Based on the above-mentioned unit, a self-luminous effect can be added to each three-dimensional model whose position information is offset, so that the three-dimensional model with position offset is displayed differently from the three-dimensional model without position offset, thereby enriching the display effect of the model array; in the embodiment of the present application, the self-luminous node can be used to emit a color effect of different colors of light for each three-dimensional model to enrich the animation effect of the model array.

[0205] Optionally, the above-mentioned device 400 also includes a division unit 405; the division unit 405 is configured to execute a trigger instruction for the target three-dimensional model in the model array, and divide the three-dimensional models in the model array with the initial position of the target three-dimensional model as the center to obtain at least one model set; the model set includes multiple three-dimensional models, and each model set is distributed in the virtual scene in the form of at least one concentric ring; the determination unit 401 is also configured to execute determination of the second target position corresponding to each model set at each time node; the control unit 403 is also configured to execute, for each model set, control each three-dimensional model in the model set to move to the second target position corresponding to the model set at the time node at each time node, and obtain a model array animation in which each three-dimensional model corresponding to the model array moves in the form of a model set.

[0206] Optionally, the division unit 405 is specifically configured to execute a trigger instruction in response to a target three-dimensional model in the model array, with the initial position of the target three-dimensional model as the origin of the polar coordinate system, and convert the world coordinates used to represent the initial position of each three-dimensional model into polar coordinates; and divide each three-dimensional model according to the principle of equal radial distance in the polar coordinates of each three-dimensional model to obtain at least one model set.

[0207] Optionally, the determining unit 401 is specifically configured to determine, when reaching an initial time node at which each model set starts moving, a second target position corresponding to each time node of each model set after the initial time node.

[0208] In the above embodiment, to achieve an animation effect in which the three-dimensional models in each model set rise and fall sequentially from the inner circle to the outer circle, centered around the target three-dimensional model, an initial time point for the start of movement can be set for each model set. Specifically, when the current time point reaches the initial time point for a model set, the second target position for that model set is determined. In this way, the time point at which the model set in the inner circle of each concentric ring starts moving can be different from the time point at which the model set in the outer circle starts moving, achieving an animation effect in which each model set rises and falls sequentially.

[0209] Optionally, the acquisition unit 404 is further configured to execute acquisition of a preset third offset distance and a preset fourth offset distance; the determination unit 401 is specifically configured to execute determination of the second target offset corresponding to each time node of each model set after the initial time node based on the third offset distance and the fourth offset distance; and determination of the second target position corresponding to each model set at each time node based on the initial position of each three-dimensional model in each model set, the second target offset corresponding to each model set at each time node, and the preset movement direction.

[0210] Optionally, the determination unit 401 is specifically configured to determine at least one target radial distance corresponding to each time node; and determine the earliest time node among the time nodes corresponding to each target radial distance as the initial time node for the model set corresponding to each target radial distance to start moving.

[0211] Optionally, the determination unit 401 is specifically configured to execute the determination of the minimum radial distance and the maximum radial distance among the radial distances of each three-dimensional model in the model array; the minimum radial distance is the radial distance corresponding to the target three-dimensional model; based on the minimum radial distance and the maximum radial distance, the third target offset corresponding to each time node is determined; based on the initial position of the target three-dimensional model and the third target offset corresponding to each time node, the target radial distance corresponding to each time node is determined.

[0212] By setting the maximum offset distance, the movement of the model set can be constrained to avoid the situation where the three-dimensional models in the model set move infinitely. This makes the movement animation of the three-dimensional model more consistent with the laws of physics, meets the spatial size limitations of the virtual scene, and makes the movement animation of the model array more consistent with the user's visual experience.

[0213] Corresponding to the method for generating a model array animation provided in an embodiment of the present disclosure, an electronic device for generating a model array animation is also provided in an embodiment of the present disclosure. As shown in FIG19 , the electronic device includes: a processor 501; and a memory 502 for storing a program for the method for generating a model array animation. After the device is powered on and the program for the method for generating a model array animation is run by the processor, the following steps are performed:

[0214] Determine the initial position of each three-dimensional model in the model array in the virtual scene; sample the preset noise texture map according to the initial position of each three-dimensional model to obtain the sampling noise value corresponding to each three-dimensional model; wherein the preset noise texture map stores the noise value that changes continuously and dynamically with time; determine the initial offset corresponding to each three-dimensional model according to the initial position of each three-dimensional model and the sampling noise value corresponding to each three-dimensional model; determine the first target offset corresponding to each three-dimensional model at each time node within a preset animation playback cycle according to the initial offset corresponding to each three-dimensional model; the animation playback cycle is the time period when the model array animation corresponding to the model array to be generated is played; determine the first target position corresponding to each three-dimensional model when it is located at each time node in the preset motion direction according to the initial position of each three-dimensional model and the first target offset corresponding to each three-dimensional model at each time node; control each three-dimensional model to move to the first target position corresponding to each three-dimensional model at the time node at each time node to generate a model array animation.

[0215] By using the above-mentioned model array animation generation method provided by the present disclosure, a random noise value can be generated for each three-dimensional model in the model array, so as to perturb the initial position of each three-dimensional model through the random noise value, so that the time node at which each three-dimensional model starts to move is inconsistent, thereby generating a motion animation of the random movement of each three-dimensional model, thereby generating a motion animation of the random movement of the model array. Compared with the related art that requires the combination of bone binding and program design to generate the animation of the random movement of the model array, the embodiment of the present disclosure can realize the random movement of each three-dimensional model in the model array only through the noise value, which can lower the technical threshold for the generation of the model array animation of the model array, is simple to operate, and the generation process of the model array animation is simple, thereby improving the generation efficiency of the model array animation.

[0216] Optionally, an initial offset corresponding to each 3D model is determined based on the initial position of each 3D model and the sampling noise value corresponding to each 3D model, including: determining the initial offset corresponding to each 3D model as the product of the sampling noise value corresponding to each 3D model and the initial position of each 3D model. Through the above embodiment, the initial offset can be used to represent the time when each 3D model begins to move. Because the sampling noise value corresponding to each 3D model is different, that is, the disturbance of the initial position of each 3D model is different, each 3D model will begin movement at a different time point within the animation playback cycle of the model array. This can generate a random, staggered motion animation with a richer visual effect.

[0217] Optionally, based on the initial offset corresponding to each three-dimensional model, the first target offset corresponding to each three-dimensional model at each time node within a preset animation playback cycle is determined, including: based on the initial offset corresponding to each three-dimensional model, determining the interpolation parameters corresponding to each three-dimensional model at each time node; obtaining a preset first offset distance and a preset second offset distance for the model array; the second offset distance is greater than the first offset distance; based on the interpolation parameters corresponding to each three-dimensional model at each time node, the first offset distance and the second offset distance are mixed to obtain the first target offset corresponding to each three-dimensional model at each time node. Through the above embodiment, by setting the maximum offset distance, the movement of the three-dimensional model can be constrained to avoid the situation where the three-dimensional model moves infinitely, so that the movement animation of the three-dimensional model is more in line with physical laws, meets the spatial size limitations of the virtual scene, and makes the model array animation more in line with the user's visual experience.

[0218] Optionally, based on the initial offset corresponding to each three-dimensional model, the interpolation parameters corresponding to each three-dimensional model at each time node are determined, including: obtaining a preset fitting curve function, where the fitting curve function is a continuously changing periodic function; and generating interpolation parameters corresponding to each three-dimensional model at each time node based on the initial offset corresponding to each three-dimensional model and the fitting curve function. Through the above embodiment, interpolation parameters that periodically change with time can be obtained, and then a first target offset that periodically changes with time can be obtained through the periodically changing interpolation parameters. The periodically changing first target offset can cause each three-dimensional model to cyclically move between the initial position and the first target position described later within the animation playback cycle, generating a richer animation effect.

[0219] Optionally, based on the initial position of each three-dimensional model and the first target offset corresponding to each three-dimensional model at each time node, the first target position corresponding to each three-dimensional model when it is located at each time node in the preset motion direction is determined, including: determining a direction vector used to characterize the preset motion direction; based on the first target offset and direction vector corresponding to each three-dimensional model at each time node, determining the first target offset with directional attributes corresponding to each three-dimensional model at each time node; based on the initial position of each three-dimensional model and the first target offset with directional attributes corresponding to each three-dimensional model, determining the first target position corresponding to each three-dimensional model when it is located at each time node in the preset motion direction.

[0220] Optionally, based on the initial position of each three-dimensional model and the first target offset corresponding to each three-dimensional model at each time node, the first target position corresponding to each three-dimensional model when it is located at each time node in the preset motion direction is determined, including: S1: the initial position of each three-dimensional model is determined as the first target position corresponding to the i-th time node of each three-dimensional model in the animation playback cycle, i=0; S2: based on the first target position corresponding to the i-th time node of each three-dimensional model and the first target offset with directional attributes corresponding to the i+1-th time node of each three-dimensional model, the first target position corresponding to the i+1-th time node of each three-dimensional model is determined; S3: when the i+1-th time node is not the last time node in the animation playback cycle, set i=i+1, and return to execute steps S2 to S3; S4: when the i+1-th time node is the last time node in the animation playback cycle, the initial position of each three-dimensional model is determined as the first target position corresponding to the i+1-th time node of each three-dimensional model.

[0221] Optionally, the first target position corresponding to each three-dimensional model at the i+1 time node is determined based on the first target position corresponding to each three-dimensional model at the i-th time node and the first target offset with directional attributes corresponding to each three-dimensional model at the i+1 time node, including: summing the first target position of each three-dimensional model at the i-th time node and the first target offset with directional attributes corresponding to each three-dimensional model at the i+1 time point, to obtain the first target position corresponding to each three-dimensional model at the i+1 time point.

[0222] Through the above-mentioned embodiments, a random noise value is generated for each three-dimensional model in the model array, and the initial position of each three-dimensional model is disturbed by the random noise value, so that the time node when each three-dimensional model starts to move is inconsistent, thereby generating a motion animation of the random movement of each three-dimensional model, thereby generating a motion animation of the model array. Compared with the related art that requires the combination of bone binding and program design to generate the animation of the random movement of the model array, the embodiment of the present application only realizes the random movement of each model array through the noise value, which can lower the technical threshold for generating the model array animation, is simple to operate, and the animation generation process is simple, thereby improving the generation efficiency of the model array animation.

[0223] Optionally, the method further includes: obtaining a first preset color corresponding to each three-dimensional model at its initial position, and a second preset color corresponding to each three-dimensional model at a position offset from the initial position by a second offset distance; mixing the first preset color and the second preset color corresponding to each three-dimensional model according to the interpolation parameters corresponding to each three-dimensional model at each time node, to obtain a target color corresponding to each three-dimensional model at each time node, so that each three-dimensional model presents the target color corresponding to the time node when it moves to the target position corresponding to the time node at each time node. Based on the above embodiment, a self-luminous effect can be added to each three-dimensional model whose position information is offset, so that the three-dimensional model with position offset is displayed differently from the three-dimensional model without position offset, thereby enriching the display effect of the model array; in the embodiment of the present application, the self-luminous node can be used to emit a color effect of different colors of light for each three-dimensional model to enrich the animation effect of the model array.

[0224] Optionally, the method also includes: in response to a trigger instruction for a target three-dimensional model in the model array, dividing the three-dimensional models in the model array with the initial position of the target three-dimensional model as the center to obtain at least one model set; the model set includes multiple three-dimensional models, and each model set is distributed in the virtual scene in the form of at least one concentric ring; determining the second target position corresponding to each model set at each time node; for each model set, controlling each three-dimensional model in the model set to move to the second target position corresponding to the model set at the time node at each time node, to obtain a model array animation in which each three-dimensional model corresponding to the model array moves in the form of a model set.

[0225] Optionally, in response to a trigger instruction for a target three-dimensional model in the model array, each three-dimensional model in the model array is divided with the initial position of the target three-dimensional model as the center to obtain at least one model set, including: in response to a trigger instruction for the target three-dimensional model in the model array, with the initial position of the target three-dimensional model as the origin of the polar coordinate system, converting the world coordinates used to represent the initial position of each three-dimensional model into polar coordinates; dividing each three-dimensional model according to the principle of equal radial distance in the polar coordinates of each three-dimensional model to obtain at least one model set.

[0226] Optionally, determining the second target position corresponding to each model set at each time node includes: when reaching the initial time node at which each model set starts to move, determining the second target position corresponding to each time node of each model set after the initial time node.

[0227] In the above embodiment, to achieve an animation effect in which the three-dimensional models in each model set rise and fall sequentially from the inner circle to the outer circle, centered around the target three-dimensional model, an initial time point for the start of movement can be set for each model set. Specifically, when the current time point reaches the initial time point for a model set, the second target position for that model set is determined. In this way, the time point at which the model set in the inner circle of each concentric ring starts moving can be different from the time point at which the model set in the outer circle starts moving, achieving an animation effect in which each model set rises and falls sequentially.

[0228] Optionally, determining the second target position corresponding to each model set at each time node includes: obtaining a preset third offset distance and a preset fourth offset distance; determining the second target offset corresponding to each time node of each model set after the initial time node based on the third offset distance and the fourth offset distance; determining the second target position corresponding to each model set at each time node based on the initial position of each three-dimensional model in each model set, the second target offset corresponding to each model set at each time node, and the preset movement direction.

[0229] Optionally, the initial time node for each model set to start moving is determined by: determining at least one target radial distance corresponding to each time node; and determining the earliest time node among the time nodes corresponding to each target radial distance as the initial time node for the model set corresponding to each target radial distance to start moving.

[0230] Optionally, determining at least one target radial distance corresponding to each time node includes: determining the minimum radial distance and the maximum radial distance among the radial distances of each three-dimensional model in the model array; the minimum radial distance is the radial distance corresponding to the target three-dimensional model; determining the third target offset corresponding to each time node based on the minimum radial distance and the maximum radial distance; determining the target radial distance corresponding to each time node based on the initial position of the target three-dimensional model and the third target offset corresponding to each time node.

[0231] By setting the maximum offset distance, the movement of the model set can be constrained to avoid the situation where the three-dimensional models in the model set move infinitely. This makes the movement animation of the three-dimensional model more consistent with the laws of physics, meets the spatial size limitations of the virtual scene, and makes the movement animation of the model array more consistent with the user's visual experience.

[0232] Corresponding to the method for generating a model array animation provided in an embodiment of the present disclosure, an embodiment of the present disclosure further provides a computer-readable storage medium storing a program for the method for generating a model array animation, which is executed by a processor to perform the following steps:

[0233] Determine the initial position of each three-dimensional model in the model array in the virtual scene; sample the preset noise texture map according to the initial position of each three-dimensional model to obtain the sampling noise value corresponding to each three-dimensional model; wherein the preset noise texture map stores the noise value that changes continuously and dynamically with time; determine the initial offset corresponding to each three-dimensional model according to the initial position of each three-dimensional model and the sampling noise value corresponding to each three-dimensional model; determine the first target offset corresponding to each three-dimensional model at each time node within a preset animation playback cycle according to the initial offset corresponding to each three-dimensional model; the animation playback cycle is the time period when the model array animation corresponding to the model array to be generated is played; determine the first target position corresponding to each three-dimensional model when it is located at each time node in the preset motion direction according to the initial position of each three-dimensional model and the first target offset corresponding to each three-dimensional model at each time node; control each three-dimensional model to move to the first target position corresponding to each three-dimensional model at the time node at each time node to generate a model array animation.

[0234] By using the above-mentioned model array animation generation method provided by the present disclosure, a random noise value can be generated for each three-dimensional model in the model array, so as to perturb the initial position of each three-dimensional model through the random noise value, so that the time node at which each three-dimensional model starts to move is inconsistent, thereby generating a motion animation of the random movement of each three-dimensional model, thereby generating a motion animation of the random movement of the model array. Compared with the related art that requires the combination of bone binding and program design to generate the animation of the random movement of the model array, the embodiment of the present disclosure can realize the random movement of each three-dimensional model in the model array only through the noise value, which can lower the technical threshold for the generation of the model array animation of the model array, is simple to operate, and the generation process of the model array animation is simple, thereby improving the generation efficiency of the model array animation.

[0235] Optionally, an initial offset corresponding to each 3D model is determined based on the initial position of each 3D model and the sampling noise value corresponding to each 3D model, including: determining the initial offset corresponding to each 3D model as the product of the sampling noise value corresponding to each 3D model and the initial position of each 3D model. Through the above embodiment, the initial offset can be used to represent the time when each 3D model begins to move. Because the sampling noise value corresponding to each 3D model is different, that is, the disturbance of the initial position of each 3D model is different, each 3D model will begin movement at a different time point within the animation playback cycle of the model array. This can generate a random, staggered motion animation with a richer visual effect.

[0236] Optionally, based on the initial offset corresponding to each three-dimensional model, the first target offset corresponding to each three-dimensional model at each time node within a preset animation playback cycle is determined, including: based on the initial offset corresponding to each three-dimensional model, determining the interpolation parameters corresponding to each three-dimensional model at each time node; obtaining a preset first offset distance and a preset second offset distance for the model array; the second offset distance is greater than the first offset distance; based on the interpolation parameters corresponding to each three-dimensional model at each time node, the first offset distance and the second offset distance are mixed to obtain the first target offset corresponding to each three-dimensional model at each time node. Through the above embodiment, by setting the maximum offset distance, the movement of the three-dimensional model can be constrained to avoid the situation where the three-dimensional model moves infinitely, so that the movement animation of the three-dimensional model is more in line with physical laws, meets the spatial size limitations of the virtual scene, and makes the model array animation more in line with the user's visual experience.

[0237] Optionally, based on the initial offset corresponding to each three-dimensional model, the interpolation parameters corresponding to each three-dimensional model at each time node are determined, including: obtaining a preset fitting curve function, where the fitting curve function is a continuously changing periodic function; and generating interpolation parameters corresponding to each three-dimensional model at each time node based on the initial offset corresponding to each three-dimensional model and the fitting curve function. Through the above embodiment, interpolation parameters that periodically change with time can be obtained, and then a first target offset that periodically changes with time can be obtained through the periodically changing interpolation parameters. The periodically changing first target offset can cause each three-dimensional model to cyclically move between the initial position and the first target position described later within the animation playback cycle, generating a richer animation effect.

[0238] Optionally, based on the initial position of each three-dimensional model and the first target offset corresponding to each three-dimensional model at each time node, the first target position corresponding to each three-dimensional model when it is located at each time node in the preset motion direction is determined, including: determining a direction vector used to characterize the preset motion direction; based on the first target offset and direction vector corresponding to each three-dimensional model at each time node, determining the first target offset with directional attributes corresponding to each three-dimensional model at each time node; based on the initial position of each three-dimensional model and the first target offset with directional attributes corresponding to each three-dimensional model, determining the first target position corresponding to each three-dimensional model when it is located at each time node in the preset motion direction.

[0239] Optionally, based on the initial position of each three-dimensional model and the first target offset corresponding to each three-dimensional model at each time node, the first target position corresponding to each three-dimensional model when it is located at each time node in the preset motion direction is determined, including: S1: the initial position of each three-dimensional model is determined as the first target position corresponding to the i-th time node of each three-dimensional model in the animation playback cycle, i=0; S2: based on the first target position corresponding to the i-th time node of each three-dimensional model and the first target offset with directional attributes corresponding to the i+1-th time node of each three-dimensional model, the first target position corresponding to the i+1-th time node of each three-dimensional model is determined; S3: when the i+1-th time node is not the last time node in the animation playback cycle, set i=i+1, and return to execute steps S2 to S3; S4: when the i+1-th time node is the last time node in the animation playback cycle, the initial position of each three-dimensional model is determined as the first target position corresponding to the i+1-th time node of each three-dimensional model.

[0240] Optionally, the first target position corresponding to each three-dimensional model at the i+1 time node is determined based on the first target position corresponding to each three-dimensional model at the i-th time node and the first target offset with directional attributes corresponding to each three-dimensional model at the i+1 time node, including: summing the first target position of each three-dimensional model at the i-th time node and the first target offset with directional attributes corresponding to each three-dimensional model at the i+1 time point, to obtain the first target position corresponding to each three-dimensional model at the i+1 time point.

[0241] Through the above-mentioned embodiments, a random noise value is generated for each three-dimensional model in the model array, and the initial position of each three-dimensional model is disturbed by the random noise value, so that the time node when each three-dimensional model starts to move is inconsistent, thereby generating a motion animation of the random movement of each three-dimensional model, thereby generating a motion animation of the model array. Compared with the related art that requires the combination of bone binding and program design to generate the animation of the random movement of the model array, the embodiment of the present application only realizes the random movement of each model array through the noise value, which can lower the technical threshold for generating the model array animation, is simple to operate, and the animation generation process is simple, thereby improving the generation efficiency of the model array animation.

[0242] Optionally, the method further includes: obtaining a first preset color corresponding to each three-dimensional model at its initial position, and a second preset color corresponding to each three-dimensional model at a position offset from the initial position by a second offset distance; mixing the first preset color and the second preset color corresponding to each three-dimensional model according to the interpolation parameters corresponding to each three-dimensional model at each time node, to obtain a target color corresponding to each three-dimensional model at each time node, so that each three-dimensional model presents the target color corresponding to the time node when it moves to the target position corresponding to the time node at each time node. Based on the above embodiment, a self-luminous effect can be added to each three-dimensional model whose position information is offset, so that the three-dimensional model with position offset is displayed differently from the three-dimensional model without position offset, thereby enriching the display effect of the model array; in the embodiment of the present application, the self-luminous node can be used to emit a color effect of different colors of light for each three-dimensional model to enrich the animation effect of the model array.

[0243] Optionally, the method also includes: in response to a trigger instruction for a target three-dimensional model in the model array, dividing the three-dimensional models in the model array with the initial position of the target three-dimensional model as the center to obtain at least one model set; the model set includes multiple three-dimensional models, and each model set is distributed in the virtual scene in the form of at least one concentric ring; determining the second target position corresponding to each model set at each time node; for each model set, controlling each three-dimensional model in the model set to move to the second target position corresponding to the model set at the time node at each time node, to obtain a model array animation in which each three-dimensional model corresponding to the model array moves in the form of a model set.

[0244] Optionally, in response to a trigger instruction for a target three-dimensional model in the model array, each three-dimensional model in the model array is divided with the initial position of the target three-dimensional model as the center to obtain at least one model set, including: in response to a trigger instruction for the target three-dimensional model in the model array, with the initial position of the target three-dimensional model as the origin of the polar coordinate system, converting the world coordinates used to represent the initial position of each three-dimensional model into polar coordinates; dividing each three-dimensional model according to the principle of equal radial distance in the polar coordinates of each three-dimensional model to obtain at least one model set.

[0245] Optionally, determining the second target position corresponding to each model set at each time node includes: when reaching the initial time node at which each model set starts to move, determining the second target position corresponding to each time node of each model set after the initial time node.

[0246] In the above embodiment, to achieve an animation effect in which the three-dimensional models in each model set rise and fall sequentially from the inner circle to the outer circle, centered around the target three-dimensional model, an initial time point for the start of movement can be set for each model set. Specifically, when the current time point reaches the initial time point for a model set, the second target position for that model set is determined. In this way, the time point at which the model set in the inner circle of each concentric ring starts moving can be different from the time point at which the model set in the outer circle starts moving, achieving an animation effect in which each model set rises and falls sequentially.

[0247] Optionally, determining the second target position corresponding to each model set at each time node includes: obtaining a preset third offset distance and a preset fourth offset distance; determining the second target offset corresponding to each time node of each model set after the initial time node based on the third offset distance and the fourth offset distance; determining the second target position corresponding to each model set at each time node based on the initial position of each three-dimensional model in each model set, the second target offset corresponding to each model set at each time node, and the preset movement direction.

[0248] Optionally, the initial time node for each model set to start moving is determined by: determining at least one target radial distance corresponding to each time node; and determining the earliest time node among the time nodes corresponding to each target radial distance as the initial time node for the model set corresponding to each target radial distance to start moving.

[0249] Optionally, determining at least one target radial distance corresponding to each time node includes: determining the minimum radial distance and the maximum radial distance among the radial distances of each three-dimensional model in the model array; the minimum radial distance is the radial distance corresponding to the target three-dimensional model; determining the third target offset corresponding to each time node based on the minimum radial distance and the maximum radial distance; determining the target radial distance corresponding to each time node based on the initial position of the target three-dimensional model and the third target offset corresponding to each time node.

[0250] By setting the maximum offset distance, the movement of the model set can be constrained to avoid the situation where the three-dimensional models in the model set move infinitely. This makes the movement animation of the three-dimensional model more consistent with the laws of physics, meets the spatial size limitations of the virtual scene, and makes the movement animation of the model array more consistent with the user's visual experience.

[0251] It should be noted that for the detailed description of the device, electronic device and computer-readable storage medium provided in the embodiments of the present disclosure, reference can be made to the relevant description of the embodiment of the method for generating model array animation provided in the embodiments of the present disclosure, which will not be repeated here.

[0252] Although the present disclosure is disclosed as above in terms of preferred embodiments, it is not intended to limit the present disclosure. Any person skilled in the art may make possible changes and modifications without departing from the spirit and scope of the present disclosure. Therefore, the scope of protection of the present disclosure shall be based on the scope defined by the claims of the present disclosure.

[0253] In a typical configuration, an electronic device includes one or more processors (Central Processing Units, CPUs), input / output interfaces, network interfaces, and memory. Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

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

[0255] 2. Those skilled in the art will appreciate that embodiments of the present disclosure may be provided as methods, systems, or computer program products. Thus, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROMs, optical storage, etc.) containing computer-usable program code.

[0256] Although the present disclosure is disclosed as above in terms of preferred embodiments, it is not intended to limit the present disclosure. Any person skilled in the art may make possible changes and modifications without departing from the spirit and scope of the present disclosure. Therefore, the scope of protection of the present disclosure shall be based on the scope defined by the claims of the present disclosure.

Claims

1. A method for generating a model array animation, wherein the model array is located in a virtual scene and includes a plurality of three-dimensional models, the method comprising: Determining an initial position of each of the three-dimensional models in the model array in the virtual scene; Sampling a preset noise texture map according to the initial position of each of the three-dimensional models to obtain a sampled noise value corresponding to each of the three-dimensional models; wherein the preset noise texture map stores a noise value that changes continuously and dynamically over time; determining an initial offset corresponding to each of the three-dimensional models according to an initial position of each of the three-dimensional models and a sampling noise value corresponding to each of the three-dimensional models; Determining, based on the initial offset corresponding to each of the three-dimensional models, a first target offset corresponding to each time node of each of the three-dimensional models within a preset animation playback period; the animation playback period is the time period during which the model array animation corresponding to the model array to be generated is played; Determining, based on the initial position of each of the three-dimensional models and the first target offset corresponding to each of the three-dimensional models at each of the time nodes, the first target position corresponding to each of the three-dimensional models when located at each of the time nodes in the preset motion direction; Each of the three-dimensional models is controlled to move to a first target position corresponding to each of the three-dimensional models at each of the time nodes, thereby generating the model array animation.

2. The method according to claim 1, wherein Determining the initial offset corresponding to each of the three-dimensional models according to the initial position of each of the three-dimensional models and the sampling noise value corresponding to each of the three-dimensional models includes: The product of the sampling noise value corresponding to each of the three-dimensional models and the initial position of each of the three-dimensional models is respectively determined as the initial offset corresponding to each of the three-dimensional models.

3. The method according to claim 1, wherein Determining, based on the initial offset corresponding to each of the three-dimensional models, a first target offset corresponding to each time node of each of the three-dimensional models within a preset animation playback period includes: determining, according to the initial offset corresponding to each of the three-dimensional models, interpolation parameters corresponding to each of the three-dimensional models at each of the time nodes; Obtaining a first offset distance and a second offset distance preset for the model array; wherein the second offset distance is greater than the first offset distance; The first offset distance and the second offset distance are mixed according to the interpolation parameters corresponding to each of the three-dimensional models at each of the time nodes to obtain a first target offset corresponding to each of the three-dimensional models at each of the time nodes.

4. The method according to claim 3, wherein: Determining the interpolation parameters corresponding to each of the three-dimensional models at each of the time nodes according to the initial offsets corresponding to the three-dimensional models includes: Obtaining a preset fitting curve function, where the fitting curve function is a continuously changing periodic function; According to the initial offset corresponding to each of the three-dimensional models and the fitting curve function, interpolation parameters corresponding to each of the three-dimensional models at each of the time nodes are generated.

5. The method according to claim 1, wherein The determining, based on the initial position of each of the three-dimensional models and the first target offset corresponding to each of the three-dimensional models at each of the time nodes, the first target position corresponding to each of the three-dimensional models when the three-dimensional model is located at each of the time nodes in the preset motion direction includes: Determining a direction vector for representing the preset motion direction; Determining a first target offset with a directional attribute corresponding to each of the three-dimensional models at each of the time nodes according to the first target offset corresponding to each of the three-dimensional models at each of the time nodes and the direction vector; According to the initial position of each three-dimensional model and the first target offset with directional attribute corresponding to each three-dimensional model, the first target position corresponding to each three-dimensional model when located at each time node in the preset motion direction is determined.

6. The method according to claim 1, wherein The determining, based on the initial position of each of the three-dimensional models and the first target offset corresponding to each of the three-dimensional models at each of the time nodes, the first target position corresponding to each of the three-dimensional models when the three-dimensional model is located at each of the time nodes in the preset motion direction includes: S1: determining the initial position of each of the three-dimensional models as the first target position corresponding to the i-th time node of each of the three-dimensional models in the animation playback cycle, where i=0; S2: determining the first target position corresponding to each of the three-dimensional models at the (i+1)th time node based on the first target position corresponding to each of the three-dimensional models at the (i+1)th time node and the first target offset with a directional attribute corresponding to each of the three-dimensional models at the (i+1)th time node; S3: When the i+1th time node is not the last time node in the animation playback cycle, set i=i+1 and return to executing steps S2 to S3; S4: When the (i+1)th time node is the last time node in the animation playback cycle, the initial position of each of the three-dimensional models is determined as the first target position corresponding to each of the three-dimensional models at the (i+1)th time node.

7. The method according to claim 6, wherein: The determining, based on the first target position corresponding to each of the three-dimensional models at the i+1th time node and the first target offset with a directional attribute corresponding to each of the three-dimensional models at the i+1th time node, includes: The first target position of each three-dimensional model at the i-th time node and the first target offset with directional attributes corresponding to each three-dimensional model at the i+1-th time point are summed respectively to obtain the first target position corresponding to each three-dimensional model at the i+1-th time point.

8. The method according to claim 3, wherein: The method further comprises: Acquire a first preset color corresponding to each of the three-dimensional models at the initial position, and a second preset color corresponding to each of the three-dimensional models at a position offset from the initial position by the second offset distance; According to the interpolation parameters corresponding to each of the three-dimensional models at each of the time nodes, the first preset color and the second preset color corresponding to each of the three-dimensional models are mixed respectively to obtain the target color corresponding to each of the three-dimensional models at each of the time nodes, so that each of the three-dimensional models presents the target color corresponding to the time node when it moves to the target position corresponding to the time node at each of the time nodes.

9. The method according to claim 1, wherein The method further comprises: In response to a trigger instruction for a target three-dimensional model in the model array, dividing each of the three-dimensional models in the model array with an initial position of the target three-dimensional model as a center to obtain at least one model set; the model set includes a plurality of the three-dimensional models, and each of the model sets is distributed in the form of at least one concentric ring in the virtual scene; Determine a second target position corresponding to each of the model sets at each of the time nodes; For each of the model sets, each three-dimensional model in the model set is controlled to move to the second target position corresponding to the model set at each time node, so as to obtain a model array animation in which each of the three-dimensional models corresponding to the model array moves in the form of a model set.

10. The method according to claim 9, wherein: In response to a trigger instruction for a target three-dimensional model in the model array, dividing the three-dimensional models in the model array with the initial position of the target three-dimensional model as the center to obtain at least one model set, including: In response to a trigger instruction for a target three-dimensional model in the model array, converting world coordinates representing an initial position of each of the three-dimensional models into polar coordinates with the initial position of the target three-dimensional model as the origin of a polar coordinate system; The three-dimensional models are divided according to the principle that radial distances in polar coordinates of the three-dimensional models are equal, to obtain at least one model set.

11. The method according to claim 9, wherein Determining the second target position corresponding to each model set at each time node includes: When an initial time node at which each model set starts to move is reached, a second target position corresponding to each time node after the initial time node of each model set is determined.

12. The method according to claim 11, wherein Determining the second target position corresponding to each model set at each time node includes: Obtaining a preset third offset distance and a preset fourth offset distance; Determining, according to the third offset distance and the fourth offset distance, a second target offset corresponding to each time node after the initial time node for each model set; The second target position corresponding to each model set at each time node is determined according to the initial position of each three-dimensional model in each model set, the second target offset corresponding to each model set at each time node, and the preset movement direction.

13. The method according to claim 11, wherein The initial time point at which each model set starts moving is determined by: Determining at least one target radial distance corresponding to each of the time nodes; The earliest time node among the time nodes corresponding to the target radial distances is respectively determined as the initial time node for the model set corresponding to each target radial distance to start moving.

14. The method according to claim 13, wherein Determining at least one target radial distance corresponding to each of the time nodes includes: Determining a minimum radial distance and a maximum radial distance among radial distances of each three-dimensional model in the model array; the minimum radial distance is the radial distance corresponding to the target three-dimensional model; determining a third target offset corresponding to each of the time nodes according to the minimum radial distance and the maximum radial distance; The target radial distance corresponding to each time node is determined according to the initial position of the target three-dimensional model and the third target offset corresponding to each time node.

15. A device for generating a model array animation, wherein the model array is located in a virtual scene and includes a plurality of three-dimensional models, the device comprising: Determination unit, sampling unit and control unit; The determining unit is configured to determine an initial position of each of the three-dimensional models in the model array in the virtual scene; The sampling unit is configured to sample a preset noise texture map according to an initial position of each of the three-dimensional models to obtain a sampled noise value corresponding to each of the three-dimensional models; wherein the preset noise texture map stores a noise value that changes continuously and dynamically over time; The determining unit is further configured to determine an initial offset corresponding to each of the three-dimensional models based on an initial position of each of the three-dimensional models and a sampling noise value corresponding to each of the three-dimensional models; The determining unit is further configured to determine, based on the initial offset corresponding to each of the three-dimensional models, a first target offset corresponding to each time node within a preset animation playback period for each of the three-dimensional models; the animation playback period being a time period during which the model array animation corresponding to the model array to be generated is played; The determining unit is further configured to determine, based on the initial position of each of the three-dimensional models and the first target offset corresponding to each of the three-dimensional models at each of the time nodes, a first target position corresponding to each of the three-dimensional models when the three-dimensional models are located at each of the time nodes in a preset motion direction; The control unit is configured to control each of the three-dimensional models to move to a first target position corresponding to each of the three-dimensional models at each time node, thereby generating the model array animation.

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

17. A computer-readable storage medium storing a data processing program, wherein the program is executed by a processor to perform the method according to any one of claims 1 to 14.

Citation Information

Patent Citations

  • Mode of implementing desktop random animation of embedded system platform

    CN102541545A

  • Cloud generation method and device and electronic equipment

    CN115761121A

  • Animation generation method and device, storage medium and electronic equipment

    CN115861493A

  • Model array animation generation method and device, electronic equipment and storage medium

    CN118334182A

  • Three dimensional modeling and animation system

    US6034695A