Cloth animation generation method for virtual character and related device

Through the neural network model trained by deep learning technology, the parameter calculation of virtual character fabric animation is optimized, which solves the problem of large calculations in the existing technology and the inability to achieve real-time dynamic effects, and realizes efficient and real-time fabric animation generation, which improves the User experience.

CN119323631AInactive Publication Date: 2025-01-17SHANGHAI SOULGATE TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411845650.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-13
Publication Date
2025-01-17
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

In the prior art, the simulation calculation of virtual character fabric animation is large, making it difficult to achieve real-time dynamic effects, especially on devices with limited performance, which affects the user experience.

Method used

Using machine learning technology based on deep learning, a deep neural network model is trained to learn the relationship between human posture and motion information and fabric deformation, optimize the parameter calculation process of fabric animation, and achieve efficient and real-time fabric animation generation.

Benefits of technology

It significantly reduces the amount of calculation and realizes real-time dynamic effects fabric animation, which is suitable for devices with limited performance and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119323631A_ABST
    Figure CN119323631A_ABST
Patent Text Reader

Abstract

The invention relates to a cloth animation generation method for a virtual character and a related device. The invention discloses a cloth animation generation method for a virtual character, and the method comprises the steps: obtaining the motion data of the virtual character in random movement based on an offline cloth simulation algorithm, carrying out the preprocessing of the motion data to form a training sample, and training an animation generation model through the training sample; receiving the motion parameters of the virtual character of the current frame and the hidden variable of the historical frame as the input of an animation generation model, and outputting the hidden variable of the current frame; decoding the hidden variable of the current frame by using a decoder to obtain a cloth motion parameter of the virtual character in the current frame; and generating a cloth animation of the virtual character in the current frame based on the cloth motion parameters.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and more specifically, to a cloth animation generation method for a virtual character, an electronic device, a non-transient storage medium, and a computer program product. Background Art

[0002] In the growing field of virtual reality and augmented reality, the interactive experience of virtual characters is becoming increasingly important. In order to enhance this experience, objects in the virtual environment, especially clothing, hair, etc., must be simulated with realistic animation effects. These simulation effects can not only enhance visual realism, but also enhance the user's sense of immersion.

[0003] Cloth animation is an important part of virtual character animation. It needs to simulate the natural behavior of cloth under different conditions, such as fluttering in the wind and interacting with human body movements. However, the simulation of cloth animation is a complex problem, because cloth will undergo complex deformations with changes in human posture and environmental interactions. The deformation, wrinkles and other details of the cloth are closely related to the posture, speed and other information of the virtual human, which makes the parameter calculation of cloth animation particularly critical.

[0004] Traditional cloth animation solutions usually use physical simulation methods, first binding the cloth to the skeleton of the virtual character, and then calculating the cloth's movement through complex mathematical models and physics engines. Although this method can simulate realistic cloth behavior, it is computationally intensive, especially when dealing with complex scenes and high-resolution models. On devices with limited performance, such as smartphones or tablets, this method often has difficulty achieving real-time dynamic effects, which affects the user experience. Summary of the invention

[0005] A brief overview of the disclosure is given below in order to provide a basic understanding of some aspects of the disclosure. However, it should be understood that this overview is not an exhaustive overview of the disclosure. It is not intended to identify the key or important parts of the disclosure, nor is it intended to limit the scope of the disclosure. Its purpose is simply to give some concepts of the disclosure in a simplified form as a prelude to a more detailed description given later.

[0006] According to a first aspect of the present disclosure, a method for generating cloth animation for a virtual character is provided, comprising: acquiring motion data of a virtual character in random movement based on an offline cloth simulation algorithm, preprocessing the motion data to form training samples, and using the training samples to train an animation generation model; receiving motion parameters of the virtual character in a current frame and latent variables of historical frames as inputs of the animation generation model, and outputting the latent variables of the current frame; decoding the latent variables of the current frame using a decoder to obtain cloth motion parameters of the virtual character in the current frame; and generating cloth animation of the virtual character in the current frame based on the cloth motion parameters.

[0007] According to a second aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory storing computer executable instructions, wherein when the computer executable instructions are executed by the processor, the processor executes the cloth animation generation method for a virtual character according to the first aspect of the present disclosure.

[0008] According to a third aspect of the present disclosure, a non-volatile storage medium having computer executable instructions stored thereon is provided. When the computer executable instructions are executed by a processor, the processor executes the cloth animation generation method for a virtual character according to the first aspect of the present disclosure.

[0009] According to a fourth aspect of the present disclosure, a computer program product is provided. The computer program product includes instructions. When the instructions are executed by a processor, the method for generating cloth animation for a virtual character according to the first aspect of the present disclosure is implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The foregoing and other features and advantages of the present disclosure will become apparent from the following description of the embodiments of the present disclosure in conjunction with the accompanying drawings. The accompanying drawings are incorporated herein and form a part of the specification, and are further used to explain the principles of the present disclosure and enable those skilled in the art to make and use the present disclosure. Among them: Figure 1 A flowchart of a method for generating cloth animation for a virtual character according to some embodiments of the present disclosure is shown; Figure 2 A schematic diagram of an animation generation model in a cloth animation generation method for a virtual character according to some embodiments of the present disclosure is shown; Figure 3 A schematic block diagram of an electronic device according to some embodiments of the present disclosure is shown; Figure 4 A schematic block diagram of a computer system is shown on which embodiments of the present disclosure may be implemented.

[0011] Note that in the embodiments described below, sometimes the same reference numerals are used in common between different drawings to represent the same parts or parts with the same functions, and their repeated descriptions are omitted. In some cases, similar numbers and letters are used to represent similar items, so once an item is defined in one drawing, it does not need to be further discussed in subsequent drawings.

[0012] For ease of understanding, the position, size, range, etc. of each structure shown in the drawings and the like may not represent the actual position, size, range, etc. Therefore, the present disclosure is not limited to the position, size, range, etc. disclosed in the drawings and the like. DETAILED DESCRIPTION

[0013] Various exemplary embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. It should be noted that unless otherwise specifically stated, the relative arrangement of components and steps, numerical expressions and numerical values ​​set forth in these embodiments do not limit the scope of the present disclosure.

[0014] The following description of at least one exemplary embodiment is in fact merely illustrative and is in no way intended to limit the present disclosure and its application or use. That is, the structures and methods herein are shown in an exemplary manner to illustrate different embodiments of the structures and methods in the present disclosure. However, those skilled in the art will appreciate that they merely illustrate exemplary ways of the present disclosure that can be implemented, rather than exhaustive ways. In addition, the drawings need not be drawn to scale, and some features may be enlarged to illustrate the details of specific components.

[0015] In addition, technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered as part of the specification.

[0016] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limiting. Therefore, other examples of the exemplary embodiments may have different values.

[0017] In the field of computer graphics and virtual reality technology, the interactive experience of virtual characters is developing day by day. In order to enhance the user's sense of immersion and improve the visual realism of the animation effect, it is necessary to simulate the cloth animation of the virtual character wearing clothes. The existing cloth animation mainly adopts the method of physical simulation, and the cloth behavior is calculated based on the motion parameters such as the limb skeleton parameters of the virtual character and the binding relationship between the cloth and the skeleton. The calculation amount of this model is huge, which will seriously affect the calculation speed and display effect of the device when the scene is complex and the image quality requirements are high. To this end, the present application provides a solution, which optimizes the parameter calculation process of the cloth animation based on the machine learning technology based on the deep learning algorithm, including training a deep neural network model to learn the relationship between the information such as human posture (limb skeleton parameters) and movement (speed / acceleration) and cloth deformation, so as to realize efficient and real-time calculation of the cloth animation. Therefore, the cloth animation generation method of the present application can significantly reduce the amount of calculation while maintaining the animation effect, and realize real-time dynamic effect.

[0018] The cloth animation generation method for a virtual character according to various embodiments of the present disclosure will be described in detail below in conjunction with the accompanying drawings. It is understood that the actual cloth animation generation method for a virtual character may also include other steps, but in order to avoid blurring the main points of the present disclosure, these other steps are not discussed herein and are not shown in the accompanying drawings.

[0019] Figure 1 FIG. 1 is a flowchart of a method for generating cloth animation for a virtual character according to some embodiments of the present disclosure. Figure 1 As shown, method 100 includes steps S101 to S104. At step S101, motion data of a virtual character in random movement is obtained based on an offline cloth simulation algorithm, the motion data is preprocessed to form a training sample, and the animation generation model is trained using the training sample. At step S102, motion parameters of the virtual character in the current frame and latent variables of the historical frames are received as inputs of the animation generation model, and the latent variables of the current frame are output. At step S103, the latent variables of the current frame are decoded using a decoder to obtain the cloth motion parameters of the virtual character in the current frame. At step S104, the cloth animation of the virtual character in the current frame is generated based on the cloth motion parameters.

[0020] In some non-limiting embodiments, for a virtual character running on a mobile terminal or computer device, the cloth on the virtual character may deform or move due to the virtual character's posture changes, body movements, or interaction with the virtual character's environment. It is usually necessary to use a complex physical analysis model combined with the virtual character's motion parameters to calculate the animation corresponding to the cloth bound to the character's skeleton. This calculation method has high accuracy but low efficiency, is suitable for offline cloth simulation solutions, and is not easy to meet real-time requirements due to the limitations of the device's storage capacity and computing power.

[0021] Specifically, in order to solve the problem of large amount of calculation and inability to achieve real-time dynamic effects in the existing simulation scheme of virtual human cloth animation effects, a timing model that can be used for cloth animation generation is first trained. The training data of the cloth animation generation model comes from the aforementioned offline cloth simulation method, in which the virtual character is randomly moved in one or more virtual scenes, such as making the virtual character walk, run, jump, etc., so that the motion data of each frame is recorded and used as training data. The cloth may move with the movement of the virtual character, such as maintaining the same speed as the human body in uniform motion, or deforming due to inertia when the virtual character slows down; the cloth may also interact with the environment of the virtual character, such as fluttering in an environment with wind, or dynamically changing the color of the cloth as the light changes.

[0022] In some embodiments, the motion data may include animation clips of a virtual character in random movement, and / or may include motion parameters of the virtual character and cloth motion parameters. The motion parameters of the virtual character include, but are not limited to, limb skeleton parameters, movement speed, acceleration, etc. As for the cloth of the virtual character, based on the three-dimensional structure formed when the cloth is worn and the degree of restriction of different parts relative to different positions of the human body, the cloth motion parameters may be relatively complex, such as being represented by the speed, acceleration, degree of deformation, etc. of different parts. The training samples formed by the motion data, such as the motion parameters of the virtual character and / or environmental parameters, etc., are used as model inputs, and the cloth motion parameters, etc. are used as model outputs, to train the cloth animation generation model of the virtual character.

[0023] Additionally, when a large amount of randomly moving motion data is obtained for actual training, these motion data can also be preprocessed to facilitate batch operations during model training. Specifically, the preprocessing can include dividing the animation of the virtual character performing random movement into multiple segments of the same length, and collecting the motion data contained in each segment as a training sample. In a non-limiting embodiment, the segmented animation segment can empirically select 240 frames (about 6 seconds in length) as the truncation length. Furthermore, the motion data in the training sample can be represented by Euler angles, quaternions, etc., and preferably the Rot6D representation method is used. Experiments have shown that this representation method is easier to train than other representation methods.

[0024] In some embodiments, compared with the traditional physical analysis simulation scheme that has too high requirements on device performance, the cloth animation generation method provided by the present disclosure aims to compress the model size as much as possible when designing the animation generation model. In a non-limiting embodiment, the animation generation model adopts a structure based on a multilayer perceptron MLP (MLP-based: Multilayer Perceptron-based) in the design of the encoder and decoder. Additionally or alternatively, the animation generation model is provided with a Gaussian Error Linear Unit (Gelu: Gaussian Error Linear Unit) activation function layer between its linear layers to improve the model effect, such as reducing the neural network training time, having better classification performance, etc. Additionally or alternatively, for the recurrent neural network (RNN: Recurrent Neural Network) timing module in the animation generation model, a simple gate control unit is used to fuse the timing features. The biggest advantage of such a design compared to some larger timing models (such as long short-term memory network (LSTM: Long Short-Term Memory) model or converter Transformer model, etc.) is that it effectively improves the model efficiency. Therefore, compared with traditional complex computing models based on physical analysis, the size of the animation generation model finally trained is at the order of <10M, and can be easily deployed on various common platforms.

[0025] In some embodiments, the process of training the animation generation model is supervised training. As previously described, the batch-processed training data is divided into animation clips of length 240 frames (where the batch size batchsize=32), and is optimized using the Adaptive Moment Estimation (ADAM) optimizer. Additionally, the learning rate of the animation generation model is set to 1e-3 and gradually decreases over time, and the overall model training time is <1 day. Furthermore, in terms of loss function design, in addition to calculating the cloth motion parameters, training the animation generation model also includes calculating the position of the cloth in each frame in the global coordinate system based on forward dynamics, and using it as a supervisory signal for training the animation generation model, thereby further improving the model accuracy.

[0026] In some embodiments, since the movement amplitudes of different parts of the virtual character are different when randomly moving, it is also possible that the states and movement amplitudes of different areas of the cloth are different, such as the overall movement amplitude of the end of the cloth will be much greater than other areas of the cloth. Therefore, training the animation generation model also includes dividing the cloth into movement areas based on the movement trend of the virtual character, wherein the high-frequency movement areas of the cloth are given higher weights in the animation generation process. Specifically, in response to the cloth motion parameters of the first movement area meeting the threshold condition, such as the movement speed of the first movement area being greater than a preset speed threshold, the loss function of the first movement area in training is set to a first weight that is different from other movement areas, such as using twice the weight of other movement areas of the cloth when calculating the loss function of the first movement area, thereby improving the overall performance of the high-frequency movement areas of the cloth.

[0027] In some embodiments, the animation generation model of the present disclosure can also support different levels of detail (LOD: Level of details). In scenes such as virtual characters and game production, due to different models, there will be different accuracy requirements for the quality of animation. For example, the animation accuracy of the main character will use the highest accuracy of LOD0, while some secondary characters or characters far from the camera can use lower LOD to balance the animation effect and performance. Traditional cloth animation simulation requires the production of multiple sets of characters with different LODs, in which the cloth and limb skeleton parameters need to be re-bound respectively under different LOD requirements, and the whole process is cumbersome and complicated. In contrast, the cloth animation generation method of the present disclosure only needs to design a set of LOD models, in which the LOD of the animation is determined in response to the accuracy requirements of the cloth animation, and the cloth animation that meets the LOD is generated by changing the model bandwidth of the animation generation model. Specifically, the dynamic effects of different LODs can be dynamically adjusted by changing the model bandwidth, such as the accuracy requirement of LOD0 using a 512-dimensional model bandwidth, the accuracy requirement of LOD1 using a 256-dimensional model bandwidth, and so on. This design meets the requirements of different LODs by scaling the model bandwidth, which increases the computational efficiency of different LODs exponentially while minimizing the loss of effects.

[0028] Traditional cloth animation generation solutions take up a lot of CPU capacity, especially on some mobile devices with poor performance, the dynamic cloth animation calculation function will be abandoned. As mentioned above, although the method disclosed in the present invention uses a large amount of data and computing power in the training process, when the trained animation generation model is deployed to the mobile terminal, only a model consisting of an encoder, a gated recurrent unit network GRU-NET (Gated Recurrent Unit Network) and a decoder is required after training, so that mobile users can experience the good dynamic effect of cloth at a very low cost (such as <10M memory usage and extremely low CPU usage).

[0029] Through the method disclosed in the present invention, the beneficial effects of cloth animation generation for virtual characters include achieving animation effects aligned with offline animations with extremely small model capacity (such as <10M). Based on this, the aforementioned animation generation model can realize real-time reasoning on hardware platforms such as mobile terminals, especially, the ultimate cloth simulation animation effects can also be experienced on mid- and low-end models.

[0030] Figure 2 FIG. 1 is a schematic diagram of an animation generation model in a cloth animation generation method for a virtual character according to some embodiments of the present disclosure. Figure 2As shown, the animation generation model 230 of the non-limiting example is an RNN timing model, the input 210 of the model includes the current frame stock price parameter 2101, the speed / acceleration 2102 and the historical frame hidden variable 2103, wherein the current frame stock price parameter 2101 is encoded by the encoder 220 and input into the animation generation model 230; the output 240 of the model is the current frame hidden variable. The hidden variable of each frame is equivalent to converting a low-dimensional variable such as the current frame stock price parameter into a high-dimensional vector, such as converting a low-dimensional variable with a dimension of the number of joints × 3 into a high-dimensional vector with a dimension of 512. Further, the current frame hidden variable 240 output by the model 230 is decoded by the decoder 250 to obtain the cloth motion parameter 260. In particular, as mentioned above, when the cloth is divided into multiple motion areas, multiple decoders 250 are used to decode the cloth motion parameters of different motion areas respectively.

[0031] The present disclosure further provides an electronic device, which may include a processor and a memory storing computer executable instructions, wherein when the computer executable instructions are executed by the processor, the processor executes the cloth animation generation method for a virtual character according to any of the aforementioned embodiments of the present disclosure. Figure 3 , which shows a schematic block diagram of an electronic device 300 according to some embodiments of the present disclosure. Figure 3 As shown, the electronic device 300 includes a processor 302 and a memory 304 storing computer executable instructions, which, when executed by the processor 302, causes the processor 302 to perform the cloth animation generation method for a virtual character according to any of the foregoing embodiments of the present disclosure. The processor 302 may be, for example, a central processing unit (CPU) of the electronic device 300. The processor 302 may be any type of general-purpose processor, or may be a processor specifically designed for generating cloth animation, such as an application-specific integrated circuit ("ASIC"). The memory 304 may be coupled to the processor 302 and may include various computer-readable media accessible by the processor 302. In various embodiments, the memory 304 described herein may include volatile and non-volatile media, removable and non-removable media. For example, the memory 304 may include any combination of the following: random access memory ("RAM"), dynamic RAM ("DRAM"), static RAM ("SRAM"), read-only memory ("ROM"), flash memory, cache memory, and / or any other type of non-transitory computer-readable media. The memory 304 may store instructions that, when executed by the processor 302 , enable the processor 302 to execute the cloth animation generation method for a virtual character according to any of the aforementioned embodiments of the present disclosure.

[0032] The present disclosure also provides a non-volatile storage medium having computer executable instructions stored thereon, which, when executed by a processor, enables the processor to execute the method for modulating a signal according to any of the foregoing embodiments of the present disclosure or the method for generating cloth animation for a virtual character according to any of the foregoing embodiments.

[0033] The present disclosure also provides a computer program product, which may include instructions, and when the instructions are executed by a processor, the method for modulating a signal according to any of the foregoing embodiments of the present disclosure or the method for generating cloth animation for a virtual character according to any of the foregoing embodiments may be implemented. The instructions may be any set of instructions to be executed directly by the processor, such as machine code, or any set of instructions to be executed indirectly, such as a script. The instructions may be stored in an object code format for direct processing by the processor, or in any other computer language, including a script or collection of independent source code modules that are interpreted on demand or compiled in advance.

[0034] Figure 4A schematic block diagram of a computer system 400 on which embodiments of the present disclosure may be implemented is shown. The computer system 400 includes a bus 402 or other communication mechanism for transmitting information, and a processing device 404 coupled to the bus 402 for processing information. The computer system 400 also includes a memory 406 coupled to the bus 402 for storing instructions to be executed by the processing device 404, which may be a random access memory (RAM) or other dynamic storage device. The memory 406 may also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processing device 404. The computer system 400 also includes a read-only memory (ROM) 408 or other static storage device coupled to the bus 402 for storing static information and instructions for the processing device 404. A storage device 410 such as a magnetic disk or optical disk is provided and coupled to the bus 402 for storing information and instructions. The computer system 400 may be coupled to an output device 412 via the bus 402 for providing output to a user, such as, but not limited to, a display (such as a cathode ray tube (CRT) or a liquid crystal display (LCD)), a speaker, etc. An input device 414 such as a keyboard, a mouse, a microphone, etc. is coupled to the bus 402 for transmitting information and command selections to the processing device 404. The computer system 400 may perform embodiments of the present disclosure. Consistent with certain implementations of the present disclosure, the results are provided by the computer system 400 in response to the processing device 404 executing one or more sequences of one or more instructions contained in the memory 406. Such instructions may be read into the memory 406 from another computer-readable medium such as the storage device 410. The execution of the sequence of instructions contained in the memory 406 causes the processing device 404 to perform the methods described herein. Alternatively, hard-wired circuitry may be used instead of software instructions or in combination with software instructions to implement the present teachings. Therefore, implementations of the present disclosure are not limited to any specific combination of hardware circuitry and software. In various embodiments, computer system 400 can be connected to one or more other computer systems such as computer system 400 across a network via network interface 416 to form a networked system. The network can include a private network or a public network such as the Internet. In a networked system, one or more computer systems can store data and supply data to other computer systems. The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processing device 404 for execution. Such media can take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical disks or disks such as storage device 410. Volatile media include dynamic memories such as memory 406. Transmission media include coaxial cables, copper wires, and optical fibers, including wiring that includes bus 402.Common forms of computer-readable media or computer program products include, for example, floppy disks, flexible disks, hard disks, tapes, or any other magnetic media, CD-ROMs, digital video disks (DVDs), Blu-ray disks, any other optical media, thumb drives, memory cards, RAMs, PROMs and EPROMs, flash EPROMs, any other memory chips or boxes, or any other tangible media from which a computer can read. Various forms of computer-readable media may be involved when carrying one or more sequences of one or more instructions to processing device 404 for execution. For example, instructions may initially be carried on a disk of a remote computer. The remote computer may load instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 400 may receive data over a telephone line and convert the data into an infrared signal using an infrared transmitter. An infrared detector coupled to bus 402 may receive the data carried in the infrared signal and place the data on bus 402. Bus 402 carries the data to memory 406, and processing device 404 retrieves instructions from memory 406 and executes the instructions. Optionally, the instructions received by memory 406 may be stored on storage device 410 either before or after execution by processing device 404 .

[0035] According to various embodiments, instructions configured to be executed by a processing device to perform a method are stored on a computer-readable medium. A computer-readable medium may be a device that stores digital information. For example, a computer-readable medium includes a compact disk read-only memory (CD-ROM) as known in the art for storing software. The computer-readable medium is accessed by a processor adapted to execute the instructions configured to be executed.

[0036] One or more exemplary embodiments of the present disclosure are described above. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0037] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a server system. Of course, the present disclosure does not exclude that with the development of computer technology in the future, the computer that implements the functions of the above embodiments may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0038] Although one or more embodiments of the present disclosure provide method operation steps as described in the embodiments or flowcharts, more or fewer operation steps may be included based on conventional or non-creative means. The order of steps listed in the embodiments is only one way of executing the order of many steps and does not represent the only execution order. When the device or terminal product in practice is executed, it can be executed in sequence or in parallel according to the method shown in the embodiments or the drawings (for example, in a parallel processor or multi-threaded processing environment, or even a distributed data processing environment).

[0039] The terms "comprises", "includes" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, product or apparatus comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, product or apparatus. In the absence of further restrictions, it is not excluded that there are other identical or equivalent elements in the process, method, product or apparatus comprising the elements. For example, if the words "first", "second" and the like are used to indicate names, they do not indicate any particular order.

[0040] For the convenience of description, the above devices are described in various modules according to their functions. Of course, when implementing one or more embodiments of the present disclosure, the functions of each module can be implemented in the same or more software and / or hardware, or the module implementing the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0041] The present disclosure is described with reference to the flowchart and / or block diagram of the method, device (system), and computer program product according to the embodiment of the present disclosure. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the process and / or box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one process or multiple processes in the flowchart and / or one box or multiple boxes in the block diagram.

[0042] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a particular manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device that implements the functions specified in one or more flows of a flowchart and / or one or more blocks of a block diagram. These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operating steps are performed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more flows of a flowchart and / or one or more blocks of a block diagram.

[0043] Those skilled in the art should understand that one or more embodiments of the present disclosure may be in the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, one or more embodiments of the present disclosure may be in the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0044] One or more embodiments of the present disclosure may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. One or more embodiments of the present disclosure may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0045] The same or similar parts between the various embodiments of the present disclosure can refer to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts refer to the partial description of the method embodiment. In the description of the present disclosure, the description of the reference terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present disclosure. In the present disclosure, the schematic representation of the above terms does not necessarily target the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine the different embodiments or examples described in the present disclosure and the features of the different embodiments or examples without contradiction.

[0046] In addition, when used in the present disclosure, the words "herein," "above," "below," "hereunder," "above," and words of similar meaning shall refer to the present disclosure as a whole rather than to any particular portion of the present disclosure. Furthermore, unless expressly stated otherwise or understood otherwise in the context of use, conditional language used herein, such as "may," "might," "for example," "such as," and the like, is generally intended to express that certain embodiments include, while other embodiments do not include, certain features, elements, and / or states. Thus, such conditional language is generally not intended to imply that one or more embodiments require features, elements, and / or states in any way, or whether such features, elements, and / or states are included or performed in any particular embodiment.

[0047] The above description is only an example of one or more embodiments of the present disclosure, and is not intended to limit one or more embodiments of the present disclosure. For those skilled in the art, one or more embodiments of the present disclosure may have various changes and variations. Any modification, equivalent substitution, improvement, etc. made within the spirit and principle of the present disclosure shall be included in the scope of the claims.

Claims

1. A method for generating cloth animation for a virtual character, comprising: Acquiring motion data of a virtual character in random movement based on an offline cloth simulation algorithm, preprocessing the motion data to form training samples, and using the training samples to train an animation generation model; Receiving motion parameters of the virtual character of the current frame and latent variables of the historical frames as inputs of the animation generation model, and outputting the latent variables of the current frame; Use the decoder to decode the latent variables of the current frame to obtain the cloth motion parameters of the virtual character in the current frame; as well as A cloth animation of the virtual character in the current frame is generated based on the cloth motion parameters.

2. The cloth animation generation method according to claim 1, wherein: The motion data includes motion parameters of the virtual character and cloth motion parameters, wherein the motion parameters of the virtual character include limb skeleton parameters, moving speed and acceleration.

3. The cloth animation generation method according to claim 1, wherein: The preprocessing includes dividing the animation of the virtual character performing random movement into segments of the same duration, and each of the training samples corresponds to the motion data contained in each of the segments.

4. The cloth animation generation method according to claim 3, wherein: The training samples are represented by one of six-dimensional rotation covariance Rot6D, Euler angles and quaternions.

5. The cloth animation generation method according to claim 1, wherein: Gaussian error linear unit Gelu activation function layers are arranged between the linear layers of the animation generation model.

6. The cloth animation generation method according to claim 1, wherein: The encoder and decoder of the animation generation model adopt a structure based on a multi-layer perceptron MLP.

7. The cloth animation generation method according to claim 1, wherein: The process of training the animation generation model is supervised training, and the adaptive moment estimation ADAM optimizer is used for optimization.

8. The cloth animation generation method according to claim 7, wherein training the animation generation model further comprises: The position of the cloth in each frame in the global coordinate system is calculated based on forward dynamics to be used as a supervisory signal for training the animation generation model.

9. The cloth animation generation method according to claim 1, wherein training the animation generation model further comprises: Divide the cloth into moving areas based on the movement trend of the avatar, and In response to the cloth motion parameter of the first motion region satisfying a threshold condition, a loss function of the first motion region in training is set to a first weight that is different from that of other motion regions.

10. The cloth animation generation method according to claim 1, wherein: In response to the accuracy requirement for the cloth animation, the level of detail LOD of the animation is determined, wherein the cloth animation satisfying the LOD is generated by changing the model bandwidth of the animation generation model.

11. An electronic device comprising: processor; as well as A memory storing computer executable instructions, wherein when the computer executable instructions are executed by the processor, the processor executes the cloth animation generation method for a virtual character according to any one of claims 1 to 10.

12. A non-transitory storage medium having computer executable instructions stored thereon, wherein when the computer executable instructions are executed by a processor, the processor is enabled to execute the cloth animation generation method for a virtual character according to any one of claims 1 to 10.

13. A computer program product, comprising instructions, which, when executed by a processor, implement the cloth animation generation method for a virtual character according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Abnormity detection method and device, computer equipment and medium

    CN112987675A

  • Training method and device of dressing classification model and dressing classification method and device

    CN114241202A

  • Virtual clothing prediction method, apparatus and device, and computer readable storage medium

    CN116664733A

  • Pose determination method and device, electronic equipment and storage medium

    CN117853580A

  • Transform-based comprehensive feature network traffic classification method

    CN118740428A