Motion capture data transmission method, system and device and electronic equipment
By converting the format of the motion capture data and verifying the component layer, the compatibility and stability of the motion capture data transmission are solved, and the stable real-time transmission and efficient visualization of the motion capture data are achieved.
Patent Information
- Application Number
- CN202411211777.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-30
- Publication Date
- 2024-12-24
AI Technical Summary
The existing motion capture data transmission technology relies on foreign technology and engine platforms, with poor compatibility and network quality affecting transmission stability, resulting in poor real-time visualization effect.
By formatting the original motion capture data, the target format data is generated, and sent to the component layer according to the component type for verification and sorting, and finally sent to the engine side to ensure data compatibility and stability.
It realizes stable real-time transmission of motion capture data, is compatible with various engine platforms, improves transmission effect and real-time visualization effect, and enhances the normality and accuracy of data processing.
Smart Images

Figure CN119182930A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of motion capture data transmission, and in particular to a method, system, device and electronic equipment for motion capture data transmission. Background Art
[0002] With the rapid development of virtual production technology, real-time data streaming is increasingly used in virtual production, animation and game development.
[0003] In the process of virtual production, the motion capture system mainly relies on foreign data transmission plug-ins and technical rules and standards during data transmission, and the data transmission plug-in is only compatible with foreign engine platforms. Moreover, the data transmission interface during the motion capture data transmission process depends on the network, and the network quality has a great impact on the transmission stability of the motion capture data.
[0004] Therefore, how to provide a technical solution for a method for transmitting motion capture data with wide compatibility and good stability has become a technical problem that needs to be solved urgently. Summary of the invention
[0005] The purpose of some embodiments of the present application is to provide a method, system, device and electronic device for transmitting motion capture data. The technical solutions of the embodiments of the present application can improve the stable real-time transmission of motion capture data, be compatible with various engine platforms, and have a better transmission effect.
[0006] In a first aspect, some embodiments of the present application provide a method for transmitting motion capture data, comprising: obtaining original motion capture data corresponding to a motion capture object, wherein the data types of the original motion capture data include: motion data and facial data; performing format conversion on the original motion capture data to obtain target format data; sending the target format data to at least one component so that the at least one component verifies and organizes the target format data and sends the obtained target data to an engine end; wherein the data types received by each component are different, and the engine end is used to: generate corresponding virtual animations by identifying the target data.
[0007] Some embodiments of the present application convert the format of the original motion capture data and send the target format data to the corresponding at least one component, so that at least one component verifies and organizes the target format data and sends it to the engine end to realize the generation of virtual animation. Some embodiments of the present application realize the effective processing and transmission of motion capture data through at least one component, improve the stability of motion capture data transmission, can be compatible with various engine platforms, and have good transmission effect.
[0008] In some embodiments, the obtaining of original motion capture data corresponding to the motion capture object includes: receiving the original motion capture data sent by the motion capture server according to the address of the data processing end.
[0009] Some embodiments of the present application provide data support for subsequent data transmission through the original motion capture data sent by the motion capture server.
[0010] In some embodiments, before sending the target format data to at least one component, the method further includes: adding the target format data to a scheduling queue and updating the main thread heartbeat, wherein the main thread heartbeat is used to achieve unified distribution of the target format data; obtaining the target format data required by the at least one component monitored; sending the target format data to at least one component includes: sending the target format data matching the component type to each component in the at least one component according to the component type of each component.
[0011] Some embodiments of the present application can achieve accurate transmission of motion capture data and ensure normal subsequent data processing by adding target format data to a scheduling queue and then sending target format data that matches the component type to the component.
[0012] In a second aspect, some embodiments of the present application provide a method for transmitting motion capture data, including: receiving target format data sent by a data processing end, wherein the target format data is obtained by the data processing end performing format conversion on original motion capture data; verifying and organizing the target format data to obtain target data; and sending the target data to an engine end so that the engine end can generate corresponding virtual animation by identifying the target data.
[0013] Some embodiments of the present application verify and organize the target format data after receiving it and send it to the engine side, so that the engine side can correctly identify the data and has high compatibility.
[0014] In some embodiments, the target format data is verified and sorted to obtain the target data, including: determining that the target format data is not empty and the target format data meets preset conditions, then the verification is passed; sorting the target format data according to the requirements of the engine end to obtain the target data.
[0015] Some embodiments of the present application can ensure the quality of target format data by verifying and organizing the target format data, so that the engine end can accurately identify the data and ensure real-time visualization of the data.
[0016] In a third aspect, some embodiments of the present application provide a system for motion capture data transmission, including: a data layer, a connection layer, a component layer and an engine end; the data layer is used to collect original motion capture data corresponding to the motion capture object; the connection layer is used to convert the format of the original motion capture data to obtain target format data; the component layer is used to receive the target format data; verify and organize the target format data to obtain target data; the engine end is used to receive the target data and convert the target data into engine data; and generate corresponding virtual animations based on the engine data.
[0017] In a fourth aspect, some embodiments of the present application provide a device for transmitting motion capture data, comprising: an acquisition module, used to acquire original motion capture data corresponding to a motion capture object, wherein the data types of the original motion capture data include: motion data and facial data; a conversion module, used to convert the format of the original motion capture data to obtain target format data; a sending module, used to send the target format data to at least one component, so that the at least one component verifies and organizes the target format data and sends the target data obtained to an engine end; wherein the data type received by each component is different, and the engine end is used to: generate corresponding virtual animations by identifying the target data.
[0018] In a fifth aspect, some embodiments of the present application provide a device for transmitting motion capture data, comprising: a receiving module for receiving target format data sent by a data processing end, wherein the target format data is obtained by the data processing end performing format conversion on the original motion capture data; a processing module for verifying and organizing the target format data to obtain target data; and a transmission module for sending the target data to an engine end so that the engine end can generate corresponding virtual animations by identifying the target data.
[0019] In a third aspect, some embodiments of the present application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, can implement the method described in any embodiment of the first aspect.
[0020] In a fourth aspect, some embodiments of the present application provide an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor can implement a method as described in any embodiment of the first aspect when executing the program.
[0021] In a fifth aspect, some embodiments of the present application provide a computer program product, wherein the computer program product comprises a computer program, wherein the computer program, when executed by a processor, can implement the method described in any embodiment of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the technical solutions of some embodiments of the present application, the drawings required for use in some embodiments of the present application will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0023] Figure 1 System diagram for motion capture data transmission provided for some embodiments of the present application;
[0024] Figure 2 One of the flow charts of the method for motion capture data transmission provided in some embodiments of the present application;
[0025] Figure 3 A second flow chart of a method for motion capture data transmission provided in some embodiments of the present application;
[0026] Figure 4 Flowchart 3 of the method for motion capture data transmission provided in some embodiments of the present application;
[0027] Figure 5 One of the block diagrams of the device for transmitting motion capture data provided in some embodiments of the present application;
[0028] Figure 6 A second block diagram of a device for transmitting motion capture data provided in some embodiments of the present application;
[0029] Figure 7 A schematic diagram of an electronic device is provided for some embodiments of the present application. DETAILED DESCRIPTION
[0030] The technical solutions in some embodiments of the present application will be described below in conjunction with the drawings in some embodiments of the present application.
[0031] It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings. At the same time, in the description of this application, the terms "first", "second", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0032] In the related technology, during the virtual production process, Live Link technology directly streams real-time data generated by external devices and software (such as motion capture systems and facial capture devices) into Unreal Engine through network protocols (for example, UDP or TCP). Its core components include Live Link plug-ins, source devices, Live Link sources, and Live Link subjects. The data stream is encoded into a format that Unreal Engine can parse, and is received, decoded, and processed by the Live Link plug-in, mapped to appropriate animation controls or parameters. The Live Link plug-in manages multiple subjects in Unreal Engine, allowing multiple actors or devices in complex scenes to be animated and visualized in real time. For example, in virtual production, the motion capture system can stream skeletal motion data to Unreal Engine through Live Link technology to drive character animation; the facial capture system can stream facial expression data to achieve precise animation of the character's face; at the same time, the virtual production team can integrate real-time data from multiple sources to achieve real-time interaction and visualization of virtual sets and live broadcasts. Through timestamps and synchronization methods, Live Link technology ensures data consistency and low-latency real-time transmission, making animation control more precise and flexible.
[0033] However, the above-mentioned data transmission plug-ins currently used are mainly foreign technologies, comply with foreign technical regulations and standards, and are only compatible with foreign engine platforms, with poor compatibility; in terms of network delay, the data transmission interface depends on the stability and bandwidth of the network connection. If the network quality is poor, it may cause data transmission delays, packet loss or instability, thus affecting the real-time visualization effect.
[0034] In view of this, some embodiments of the present application provide a method for transmitting motion capture data, which converts the format of the original motion capture data and sends it to at least one component accordingly, wherein each component receives a different type of data, and the corresponding data is then sent to the engine side through the component, so that the engine side can identify different types of data and complete the production and control of virtual animation. Some embodiments of the present application convert the format of the original motion capture data and combine different components to help the domestic rendering engine (that is, the engine side) convert external data (that is, the original motion capture data) into a data structure that can be recognized by the engine, thereby realizing real-time data reception and visualization.
[0035] The following is combined with Figure 1 The overall composition structure of the system for motion capture data transmission provided by some embodiments of the present application is exemplified.
[0036] like Figure 1As shown, some embodiments of the present application provide a system for motion capture data transmission, which includes: a tool layer 110 (as a specific example of a data layer), a connection layer 120, a component layer 130 and an engine layer 140 (as a specific example of an engine end).
[0037] First, Figure 1 The functions of each level in the example are explained exemplarily.
[0038] In some embodiments of the present application, the data layer is used to collect original motion capture data corresponding to the motion capture object.
[0039] For example, in some embodiments of the present application, the tool layer 110 may also be referred to as a third-party tool layer. This layer mainly includes: various types of DDC tools, such as Figure 1 Maya, MotionBuilder, etc. in ; and Mocap servers, such as Figure 1 Optitrack Motive, FaceGood, etc. In the whole system, the tool layer 110 acts as a data source, and various data sources have different connection methods and data structures. That is, the original motion capture data can be obtained from the tool layer 110.
[0040] In some embodiments of the present application, the connection layer is used to convert the format of the original motion capture data to obtain target format data.
[0041] For example, in some embodiments of the present application, the connection layer 120 performs data docking with all third-party tools of the tool layer 110, and converts the json data, natnet data, etc. (as a specific example of raw motion capture data) in the third-party data stream in the tool layer 110 into the sFrameOfMocapData data format of VPlink (as a specific example of target format data) through json parsing, data structure conversion and other operations, so as to facilitate subsequent unified processing in the component layer 130. Among them, the connection layer 120 can support Natnet, (for example, Figure 1 The connection layer 120 supports unicast and multicast in UDP, TCP, QUIC and other socket network connection methods. At the same time, the connection layer 120 also provides a variety of other connection methods and open interfaces to developers to facilitate the access of other data sources in the future.
[0042] In some embodiments of the present application, the component layer is used to receive the target format data; verify and organize the target format data to obtain the target data.
[0043] For example, in some embodiments of the present application, the component layer 130 passes the target data obtained after the VPlink data structure verification and sorting to the engine layer 140 for further processing. The component layer 130 may include custom components and other components (e.g., data repair, bone mapping, etc.). VPlink has opened custom components related to the motion capture component Motive and the facial component FaceGood. Developers can also customize custom components according to the relevant development rules of VPlink.
[0044] In some embodiments of the present application, the engine end is used to receive the target data and convert the target data into engine data; and generate corresponding virtual animation based on the engine data.
[0045] For example, in some embodiments of the present application, the engine layer 140 converts the target data such as skeleton, coordinates, BlendShape, etc. organized by the component layer 130 into engine Matrix4 data, and processes it by comparing the model skeleton nodes in the component layer 130 with the skeleton node mapping table of the third-party data, and drives the model to play specific effects. The engine layer 140 will provide functions such as cameras, light sources, characters, position changes, rigid bodies, and cloth systems to complete the production of query animations.
[0046] It should be understood that Figure 1 The motion capture data transmission system shown is a specific example of the present application. The types of tools and components included in each layer can be flexibly adjusted according to the application scenario, and the embodiments of the present application are not limited to this.
[0047] The following is combined with Figure 2 The implementation process of motion capture data transmission provided by some embodiments of the present application is exemplified. It should be noted that the implementation process of motion capture data transmission described below can be executed by a data processing end, which may include Figure 1 The tool layer 110 and the connection layer 120 in the embodiment of the present invention. In practical applications, the functions implemented by the tool layer 110 and the connection layer 120 may also be deployed on the source client (as a specific example of the data processing end), or may be deployed separately, which is not specifically limited in this application.
[0048] Please see attached Figure 2 , Figure 2 A flow chart of a method for motion capture data transmission provided in some embodiments of the present application, the method for motion capture data transmission may include:
[0049] S210, acquiring original motion capture data corresponding to the motion capture object, wherein the data type of the original motion capture data includes: motion data and facial data.
[0050] For example, in some embodiments of the present application, the data processing end may first obtain a data source of a motion capture object (as a specific example of raw motion capture data), wherein the raw motion capture data may include data sources such as captured movements and faces.
[0051] In some embodiments of the present application, S210 may include: receiving the original motion capture data sent by the motion capture server according to the address of the data processing end.
[0052] For example, in some embodiments of the present application, the data sources such as actions and faces captured by the Mocap server (as a specific example of the motion capture server, that is, the tool layer 110) are sent in json, binary, etc. formats. Among them, the Mocap server pre-stores the source client address URL (as a specific example of the data processing end address), through which the data source can be sent to the source client.
[0053] S220, converting the format of the original motion capture data to obtain target format data.
[0054] For example, in some embodiments of the present application, the source client performs VPLink data format conversion processing on the data source to obtain VPLink data (as a specific example of target format data).
[0055] In some embodiments of the present application, before executing S230, the method for transmitting motion capture data may also include: adding the target format data to a scheduling queue and updating the main thread heartbeat, wherein the main thread heartbeat is used to achieve unified distribution of the target format data; and obtaining the target format data required by the at least one component monitored.
[0056] For example, in some embodiments of the present application, after the data format conversion is completed, the VPLink data is transmitted to the scheduler, and a queue is added in the scheduler so that the VPLink data is added to the schedule queue. Then, the source client is enabled to uniformly distribute data through the heartbeat of the main thread of the scheduler to ensure thread safety. The source client can send VPLink data according to the monitored message, that is, it can first obtain the type of VPLink data required by the monitored component, and then send the corresponding type of VPLink data to the component.
[0057] S230, sending the target format data to at least one component, so that the at least one component verifies and organizes the target format data and sends the target data obtained to the engine end; wherein the data type received by each component is different, and the engine end is used to: generate a corresponding virtual animation by identifying the target data.
[0058] For example, in some embodiments of the present application, the source client may send VPLink data to at least one component. The number of components may be set according to actual needs, and the embodiments of the present application are not specifically limited here.
[0059] In some embodiments of the present application, S230 may include: according to the component type of each component in the at least one component, sending the target format data matching the component type to each component.
[0060] For example, in some embodiments of the present application, components can receive data types that they can monitor. For example, FaceGood Component only receives data types from FaceGood, and other components can receive data from Motive and FaceGood at the same time. Specifically, corresponding VPLink data can be received according to the component type or the component's own needs. Different components receive different data so that the engine can identify the corresponding data.
[0061] The following is combined with Figure 3 The specific process of motion capture data transmission performed by at least one component (ie, component layer 130 ) provided in some embodiments of the present application is exemplified.
[0062] Please see attached Figure 3 , Figure 3 A flow chart of a method for motion capture data transmission provided in some embodiments of the present application, the method for motion capture data transmission may include:
[0063] S310, receiving target format data sent by a data processing end, wherein the target format data is obtained by the data processing end performing format conversion on original motion capture data.
[0064] For example, in some embodiments of the present application, the component may receive VPLink data sent by a source client.
[0065] S320, verify and organize the target format data to obtain target data.
[0066] For example, in some embodiments of the present application, the components may verify the rationality of the VPLink data and organize the VPLink data to facilitate the connection between each component and the engine end.
[0067] In some embodiments of the present application, S320 may include: if it is determined that the target format data is not empty and the target format data meets a preset condition, the verification is passed; and the target format data is sorted according to the requirements of the engine end to obtain the target data.
[0068] For example, in some embodiments of the present application, the component layer 130 can verify the rationality of the VPLink data (for example, the coordinates of a certain data do not meet the set threshold requirements) and whether it is empty (as a specific example of a preset condition), etc., to prevent unreasonable data from affecting the performance effect in third-party data. Data organization is to facilitate the connection between each Component and the engine and meet the production requirements of the engine end, for example, redirecting the skeleton data of the motive, updating the parent-child relationship, etc. (Verify & Organize Data). Specific preset conditions and engine-side requirements can be set according to the actual application scenario, and the embodiments of the present application are not limited to this.
[0069] S330, sending the target data to the engine end, so that the engine end generates a corresponding virtual animation by identifying the target data.
[0070] For example, in some embodiments of the present application, the component layer 130 can send verified and sorted target data to the engine side. The data verified and sorted by the component layer 130 can be correctly recognized by the engine side, and the engine side will receive the correct skeleton and position information (Skeleton&Position, as a specific example of target data), and the whole process of data conversion and transmission is completed. For example, the engine side needs to display a character with a height of 2m. At this time, data sorting can meet this requirement of the engine side, so as to complete the production of virtual animation. Afterwards, the component layer 130 can close the source process, and the closing information is returned to the source client, and the process ends.
[0071] The following is combined with Figure 4 The specific process of motion capture data transmission provided by some embodiments of the present application is exemplified.
[0072] Please see attached Figure 4 , Figure 4 A flow chart of a method for motion capture data transmission provided for some embodiments of the present application. The method for motion capture data transmission involves motion capture software (i.e., Mocap service), source client, data distribution end, component end, and engine end. Data distribution can also be deployed in the source client. In order to facilitate the description of this embodiment, the above implementation process is described separately as one end.
[0073] S401, the motion capture software sends the data source to the source client via the network address.
[0074] S402, the source client converts the format of the data source to obtain VPLink data.
[0075] S403, the data distribution end adds the VPLink data to the scheduling queue and sends a main thread heartbeat to the source client.
[0076] S404, after receiving the heartbeat of the main thread, the source client monitors the VPLink data required by the corresponding component.
[0077] S405, the source client sends VPLink data to the corresponding component end.
[0078] S406, the component side verifies and sorts the VPLink data to obtain target data.
[0079] S407, the component side sends the target data to the engine side.
[0080] S408, the engine side identifies and processes the target data and generates corresponding virtual animation.
[0081] It should be noted that the specific implementation process of S401 to S408 can refer to the method embodiment provided above, and in order to avoid repetition, the detailed description is appropriately omitted here.
[0082] Through some of the above embodiments of the present application, it can be known that the present application, by making a universal interface plug-in at the component layer, can process the real-time data generated by the external devices and software of the motion capture system through the plug-in process, flow into the domestic rendering engine and be recognized and used, help the domestic rendering engine to achieve real-time preview and real-time interaction functions, and improve the comprehensive capabilities and external influence of the domestic rendering engine. At the same time, following the development rules of the connection layer, more DCC tools and Mocap services and even equipment in other fields can be connected, realizing the gradual improvement of the external accessibility of the rendering engine. Moreover, the solution provided by the present application can be used in conjunction with the rendering engine Lumverse, converting external animation data into a structure that can be recognized by the Lumverse engine and processing it; various extensions can be made to the data through the components of the present application, and the development and maintenance of various new functions can be completed without modifying any engine code, which is highly practical.
[0083] Please refer to Figure 5 , Figure 5 The following is a block diagram showing the composition of the device for transmitting motion capture data provided by some embodiments of the present application. It should be understood that the device for transmitting motion capture data corresponds to the above method embodiment and can execute each step involved in the above method embodiment. The specific functions of the device for transmitting motion capture data can be found in the above description. To avoid repetition, the detailed description is appropriately omitted here.
[0084] Figure 5The device for transmitting motion capture data includes at least one software function module that can be stored in a memory in the form of software or firmware or solidified in the device for transmitting motion capture data, and the device for transmitting motion capture data includes: an acquisition module 501, used to obtain original motion capture data corresponding to a motion capture object, wherein the data type of the original motion capture data includes: motion data and facial data; a conversion module 502, used to convert the format of the original motion capture data to obtain target format data; a sending module 503, used to send the target format data to at least one component, so that the at least one component verifies and organizes the target format data and obtains the target data and sends it to the engine end; wherein the data type received by each component is different, and the engine end is used to: generate corresponding virtual animation by identifying the target data.
[0085] Please refer to Figure 6 , Figure 6 The following is a block diagram showing the composition of the device for transmitting motion capture data provided by some embodiments of the present application. It should be understood that the device for transmitting motion capture data corresponds to the above method embodiment and can execute each step involved in the above method embodiment. The specific functions of the device for transmitting motion capture data can be found in the above description. To avoid repetition, the detailed description is appropriately omitted here.
[0086] Figure 6 The device for transmitting motion capture data includes at least one software function module that can be stored in a memory in the form of software or firmware or solidified in the device for transmitting motion capture data, and the device for transmitting motion capture data includes: a receiving module 504, used to receive target format data sent by a data processing end, wherein the target format data is obtained by the data processing end performing format conversion on the original motion capture data; a processing module 505, used to verify and organize the target format data to obtain target data; a transmission module 506, used to send the target data to an engine end, so that the engine end can generate corresponding virtual animations by identifying the target data.
[0087] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the device described above can refer to the corresponding process in the aforementioned method, and will not be described in detail here.
[0088] Some embodiments of the present application further provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, can implement the operations of the method corresponding to any of the above methods provided in the above embodiments.
[0089] Some embodiments of the present application further provide a computer program product, which includes a computer program, wherein when the computer program is executed by a processor, it can implement the operations corresponding to any of the above methods provided in the above embodiments.
[0090] like Figure 7 As shown, some embodiments of the present application provide an electronic device 600, which includes: a memory 610, a processor 620, and a computer program stored in the memory 610 and executable on the processor 620, wherein the processor 620 can implement a method as described in any of the above embodiments when reading the program from the memory 610 through a bus 630 and executing the program.
[0091] Processor 620 can process digital signals and can include various computing structures, such as complex instruction set computer structure, reduced instruction set computer structure, or a structure that implements a combination of multiple instruction sets. In some examples, processor 620 can be a microprocessor.
[0092] The memory 610 may be used to store instructions executed by the processor 620 or data related to the execution of instructions. These instructions and / or data may include codes for implementing some or all functions of one or more modules described in the embodiments of the present application. The processor 620 of the disclosed embodiment may be used to execute instructions in the memory 610 to implement the method shown above. The memory 610 includes a dynamic random access memory, a static random access memory, a flash memory, an optical memory, or other memory known to those skilled in the art.
[0093] The above description is only an embodiment of the present application and is not intended to limit the scope of protection of the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application should be included in the scope of protection of the present application. It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in the subsequent drawings.
[0094] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
[0095] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including 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, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
Claims
1. A method for transmitting motion capture data, characterized in that: include: Acquire original motion capture data corresponding to the motion capture object, wherein the data types of the original motion capture data include: motion data and facial data; Converting the original motion capture data into a target format; The target format data is sent to at least one component so that the at least one component verifies and organizes the target format data and sends the target data obtained to the engine end; wherein each component receives a different type of data, and the engine end is used to: generate a corresponding virtual animation by identifying the target data.
2. The method according to claim 1, characterized in that The obtaining of original motion capture data corresponding to the motion capture object comprises: Receive the original motion capture data sent by the motion capture server according to the address of the data processing end.
3. The method according to claim 1 or 2, characterized in that Before sending the target format data to at least one component, the method further includes: Adding the target format data to a scheduling queue and updating the main thread heartbeat, wherein the main thread heartbeat is used to achieve unified distribution of the target format data; Acquire the target format data required by the at least one component monitored; The sending the target format data to at least one component comprises: According to the component type of each component in the at least one component, the target format data matching the component type is sent to each component.
4. A method for transmitting motion capture data, characterized in that: include: Receiving target format data sent by a data processing end, wherein the target format data is obtained by the data processing end performing format conversion on original motion capture data; Verifying and sorting the target format data to obtain target data; The target data is sent to the engine end, so that the engine end generates a corresponding virtual animation by identifying the target data.
5. The method according to claim 4, characterized in that The step of verifying and arranging the target format data to obtain the target data includes: If it is determined that the target format data is not empty and the target format data meets the preset conditions, the verification is passed; The target format data is sorted according to the requirements of the engine end to obtain the target data.
6. A system for transmitting motion capture data, characterized in that: include: Data layer, connection layer, component layer and engine side; The data layer is used to collect original motion capture data corresponding to the motion capture object; The connection layer is used to convert the format of the original motion capture data to obtain target format data; The component layer is used to receive the target format data; Verifying and sorting the target format data to obtain target data; The engine end is used to receive the target data and convert the target data into engine data; and generate corresponding virtual animation based on the engine data.
7. A device for transmitting motion capture data, characterized in that: include: An acquisition module, used for acquiring original motion capture data corresponding to the motion capture object, wherein the data types of the original motion capture data include: motion data and facial data; A conversion module, used for converting the format of the original motion capture data to obtain target format data; A sending module is used to send the target format data to at least one component, so that the at least one component verifies and organizes the target format data and sends the target data obtained to the engine end; wherein the data type received by each component is different, and the engine end is used to: generate corresponding virtual animation by identifying the target data.
8. A device for transmitting motion capture data, characterized in that: include: A receiving module, used for receiving target format data sent by a data processing end, wherein the target format data is obtained by the data processing end performing format conversion on original motion capture data; A processing module, used to verify and sort the target format data to obtain target data; The transmission module is used to send the target data to the engine end, so that the engine end generates a corresponding virtual animation by identifying the target data.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program executes the method according to any one of claims 1 to 5 when executed by a processor.
10. An electronic device, characterized in that: The method comprises a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the computer program executes the method according to any one of claims 1 to 5 when being run by the processor.
Citation Information
Patent Citations
Movement capture data processing method, device and system
CN103763390A
Format transforming method and device for flash animation
CN106485770A
Virtual character structured transmission system and method
CN115661343A
Motion capture method and device, electronic equipment and storage medium
CN115857656A
Multi-camera rendering method and device based on unreal engine
CN116071471A
