A Python-based tool and method for bridging the 3D car model to the Unreal Engine platform

By using Python programming automation tools, the problem of manual skeleton binding in 3D vehicle model development on the Unreal Engine platform was solved, efficient data processing and platform adaptation were achieved, and development efficiency and data accuracy were improved.

CN120105574BActive Publication Date: 2025-09-12RIVOTEK TECH (JIANGSU) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510166908.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-14
Publication Date
2025-09-12
Estimated Expiration
2045-02-14

AI Technical Summary

Technical Problem

When developing 3D vehicle models on the Unreal Engine platform, skeletons need to be manually bound, which makes the process complicated, error-prone, and inefficient.

Method used

An automated tool was built using Python programming. The 3D car model was adapted to the Unreal Engine platform through the output module. The modification module automated the skeletal binding process, and the data detection and correction module ensured data accuracy. The interfaces of Blender and Unreal Engine were used for data transmission and format conversion.

Benefits of technology

It significantly improves development efficiency, reduces errors, ensures data accuracy and platform compatibility, and enhances project maintainability and scalability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120105574B_ABST
    Figure CN120105574B_ABST
Patent Text Reader

Abstract

The present invention discloses a tool and method for bridging the 3D car model to the Unreal Engine platform based on Python. The tool comprises an output module for outputting the 3D car model as a 3D vehicle model that is fully compatible with the Unreal Engine platform; a modification module for modifying the Blender side code to transform the original skeleton binding process into a system automatic operation service; and a data detection and correction module for detecting and outputting the model, material and skeleton data information of the modified 3D car model. The present invention uses Python programming to design automation to replace the original Blneder for the 3D car model asset production process, and can process the model, material, skeleton and animation data of the 3D car model more quickly, greatly improving the efficiency. During the execution process, data that does not conform to the Unreal Engine platform specifications can be automatically corrected or prompted to the user, and the model data naming and asset packaging of the design specifications are designed to facilitate screening and matching data effects after the process is completed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of intelligent cockpits, and in particular to a tool and method for bridging an automated 3D car model to an Unreal Engine platform based on Python. Background Art

[0002] The intelligent cabin aims to integrate multiple IT and artificial intelligence technologies to create a new integrated digital platform in the car, providing drivers with an intelligent experience and promoting driving safety. Currently, there are many research works at home and abroad [1]. For example, cameras are installed on the AB pillars and rearview mirrors of the vehicle to provide emotion recognition, age detection, left-behind detection, seat belt detection, etc. In the field of 3D vehicle model development, the Unreal Engine platform is widely used due to its powerful rendering and interactive capabilities.

[0003] However, the dynamic vehicle effects on the Unreal Engine platform are currently mainly displayed in the form of 3D car models or 2D sequence frames. The development of 3D vehicle models based on the Unreal Engine platform requires a lot of manual skeleton binding. During the docking process, the manual process is complicated, tedious, inefficient, and prone to vulnerabilities and errors. Summary of the Invention

[0004] The purpose of the present invention is to provide a tool and method for bridging the 3D car model with the Unreal Engine platform based on Python, so as to solve the problem raised in the above background technology that the dynamic vehicle effects on the Unreal Engine platform are mainly displayed in the form of 3D car models or 2D sequence frames, and the development of 3D vehicle models based on the Unreal Engine platform requires a large amount of manual binding of bones. During the docking process, the manual process is complicated, tedious, inefficient and prone to vulnerabilities and errors.

[0005] In order to solve the above technical problems, the present invention provides the following technical solutions: a tool based on Python to automatically bridge the 3D car model to the Unreal Engine platform, including

[0006] The output module is used to output the 3D car model into a 3D vehicle model that is fully compatible with the Unreal Engine platform;

[0007] Modification module, used to modify the Blender side code and transform the original bone binding process into a system automated operation service;

[0008] The automatic operation service mode is as follows:

[0009] S1, creates and manages a Blender-based background thread, introduces the Python threading module, creates a background thread class for bone binding tasks, reads the pre-defined vehicle model bone structure configuration file, obtains information including the position, number, and hierarchical relationship of the created bones, as well as the initial parameters of the weight distribution, constructs the bone hierarchy, and then performs weight distribution;

[0010] S2, optimizes the connection and interaction with Unreal Engine. This involves setting up an interface module for data transmission and interaction with the Unreal Engine platform, converting the skeletal coordinate system in Blender to the coordinate system used by Unreal Engine, converting and adapting the material properties to ensure that the model's textures and lighting material-related information can be correctly displayed in Unreal Engine, and sending the converted model data to the import directory specified by the Unreal Engine platform or directly transferring it to the Unreal Engine runtime environment via a network transmission protocol.

[0011] S3, triggering the automated service, adds a dedicated "Automated Rigging and Unreal Engine Adaptation" button in the Blender interface. When the user clicks this button, the program checks the status of the current 3D vehicle model. If the status is legal, it starts the background thread of the automated service.

[0012] And the data detection and correction module is used to detect and output the data information of the model, material and skeleton of the modified 3D car model.

[0013] In a preferred embodiment, the output module outputs the geometric shape, material, skeleton and animation information of the 3D car model.

[0014] In a preferred embodiment: when the output module outputs the geometric shape of the 3D vehicle model, the vehicle outer contour is divided into a parent group, and the front bumper, rear bumper and side waistline parts with unique shapes are divided into sub-group one, the wheels on the same axle are divided into sub-group two, and the driver's seat area, including the seat, steering wheel and instrument panel, is divided into sub-group three.

[0015] In a preferred embodiment: the material output method is to create corresponding materials according to the materials of different parts of the vehicle, create a metallic texture material with reflectivity and roughness parameters for the metal part of the car body, create materials for the interior part according to different material types such as plastic, leather, and fabric, and set the corresponding color, texture and glossiness, and use texture mapping technology to add detailed texture to the material.

[0016] In a preferred embodiment: the automatic bone binding operation in S1 is to call Blender's bone creation function cyclically based on the configuration information, create each bone object, and set its initial position and rotation parameters, traverse the created bone objects through code, and set the connection relationship between parent and child bones according to the mechanical structure and animation requirements: for each component of the 3D vehicle model including the body shell, windows, and wheels, weights are calculated and distributed according to their geometric shape characteristics and a pre-defined weight distribution template.

[0017] In a preferred embodiment, the detection and output of model data is to obtain basic information, interact with the bpy data object in Blender's Python API, and obtain a list of all model objects including name, position, rotation, and scale. Each model object has a unique name attribute in Blender, and each unique name attribute is used as the model ID.

[0018] In a preferred embodiment: the detection and output method of material data is to obtain the name, diffuse material, color and texture mapping attribute information of all materials through bpy data material, and then associate the obtained material information with the model. Each material object has a name attribute that can be used as a material ID.

[0019] In a preferred embodiment: the detection and output method of bone data is to access the data of the bone system through the bpy data skeleton. Each bone object belongs to a bone system. For each bone system, the bones attribute can be used to obtain all bone objects, including the name of the bone, parent bone, length, position, rotation and other information to display the hierarchical structure and basic properties of the bone.

[0020] A Python-based method for bridging an automated 3D car model to the Unreal Engine platform. The specific application steps of the method are as follows:

[0021] SS1, start the Python automation command. The developer starts the pre-written Python automation script on the PC to start the entire 3D vehicle model automation process;

[0022] SS2, model ID data verification, uses Python scripts to interact with Blender's data interface to obtain model ID data from Blender. Using text processing techniques, including regular expressions, it verifies whether it complies with Unreal Engine platform specifications, focusing on checking for garbled characters, Chinese characters, and other non-compliant character formats.

[0023] SS3, model UVmap information check, using Blender's log reading function and Python data capture capabilities to obtain model UVmap information and capture the model log. By parsing the face information in the log data, check whether there is a face overlap problem. If so, record the relevant information;

[0024] SS4, material ID data verification, uses the data interaction interface to obtain material ID data in Blender, and uses character matching algorithms to verify whether it contains abnormal formats such as garbled characters and Chinese characters according to the UnrealEngine platform's material naming specifications;

[0025] SS5, skeletal system IK information check, through deep interaction with Blender's skeletal system, checks whether the skeletal system has inverse kinematics IK information. If not, it determines whether it needs to be supplemented or prompts the user to make relevant settings based on the model requirements;

[0026] SS6, Information Aggregation and Asset Packaging, summarizes and organizes the information obtained from the above checks and generates a detailed text report that clearly corresponds to each problem point and its inspection results. If all data meets the standard specifications of the Unreal Engine platform, the asset packaging process is started to package all related assets according to the predetermined directory structure and format.

[0027] Compared with the prior art, the present invention has the following beneficial effects:

[0028] 1. This invention uses an automated process built with Python programming to completely revolutionize the original Blender manual asset production process. When processing the model, material, skeleton, and animation data of the 3D car model, it can complete the task in a significantly shortened time, significantly improving the overall development efficiency and saving valuable time and manpower costs for smart cockpit and ADAS development projects.

[0029] 2. Throughout the implementation process, once data that does not conform to the Unreal Engine platform specifications is detected, the system can automatically correct it immediately or promptly issue a prompt to the user to guide the user to make manual corrections. This data processing mechanism effectively ensures data accuracy and platform compatibility, greatly reducing development issues and failures caused by data errors, and improving the quality of development results.

[0030] 3. By designing standardized and unified model data naming rules and a scientific and reasonable asset packaging method, the present invention can easily and quickly screen and match various types of data after the entire development process is completed. Whether it is project acceptance, subsequent maintenance, optimization and upgrading or secondary development, the required data can be quickly located and obtained, which significantly improves the maintainability and scalability of the project. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings:

[0032] Figure 1 This is a schematic diagram of the tool method flow structure of the present invention for bridging the Python-based automated 3D car model to the Unreal Engine platform;

[0033] Figure 2 It is a schematic diagram of the process structure of the automated operation service method of the present invention. DETAILED DESCRIPTION

[0034] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0035] See also Figure 1-Figure 2 The present invention provides a technical solution: a tool based on Python to automatically bridge the 3D car model to the Unreal Engine platform, including

[0036] The output module is used to output the 3D car model into a 3D vehicle model that is fully compatible with the Unreal Engine platform;

[0037] Modification module, used to modify the Blender side code and transform the original bone binding process into a system automated operation service;

[0038] The automatic operation service mode is as follows:

[0039] S1, create and manage a background thread based on Blender, introduce Python's threading module, create a background thread class for bone binding tasks, read the pre-defined vehicle model bone structure configuration file, obtain the position, number, and hierarchical relationship information of the created bones, as well as the initial parameters of the weight distribution, build the bone hierarchy, and then perform weight distribution;

[0040] S2, optimizes the connection and interaction with Unreal Engine. This involves setting up an interface module for data transmission and interaction with the Unreal Engine platform, converting the skeletal coordinate system in Blender to the coordinate system used by Unreal Engine, converting and adapting the material properties to ensure that the model's textures and lighting material-related information can be correctly displayed in Unreal Engine, and sending the converted model data to the import directory specified by the Unreal Engine platform or directly transferring it to the Unreal Engine runtime environment via a network transmission protocol.

[0041] S3, triggering the automated service, adds a dedicated "Automated Bone Rigging and Unreal Engine Adaptation" button in the Blender interface. When the user clicks this button, the program checks the status of the current 3D vehicle model, whether the model has been imported, whether there is any unsaved data, etc. If the status is legal, the background thread of the automated service is started;

[0042] And the data detection and correction module is used to detect and output the data information of the model, material and skeleton of the modified 3D car model.

[0043] In a preferred embodiment, the output module outputs the geometric shape, material, skeleton and animation information of the 3D car model, so that the output model can be directly used for development on the Unreal Engine platform.

[0044] In a preferred embodiment: when the output module outputs the geometric shape of the 3D car model, the outer contour of the vehicle is divided into a parent group, and the front bumper, rear bumper and side waistline parts with unique shapes are divided into sub-group one respectively. The setting of the parent group and sub-group facilitates the subsequent material adjustment and animation setting of different areas of the car body. The wheels on the same axle are divided into sub-group two, and the driver's seat area, including the seat, steering wheel and instrument panel, is divided into sub-group three.

[0045] In a preferred embodiment: the material output method is to create corresponding materials according to the materials of different parts of the vehicle, create a metallic texture material with reflectivity and roughness parameters for the metal part of the car body, create materials for the interior part according to different material types such as plastic, leather, and fabric, and set the corresponding color, texture and glossiness, and use texture mapping technology to add detailed texture to the material.

[0046] The automatic bone binding operation in step S1 is to call Blender's bone creation function cyclically based on the configuration information, create various bone objects, and set their initial position and rotation parameters. The created bone objects are traversed through the code, and the connection relationship between the parent and child bones is set according to the mechanical structure and animation requirements. For each component of the 3D vehicle model, such as the body shell, windows, wheels, etc., weights are calculated and distributed according to their geometric shape characteristics and pre-defined weight distribution templates.

[0047] The detection and output method of model data is to obtain basic information and interact with the bpy data object in Blender's Python API to obtain a list of all model objects including name, position, rotation and scale. Each model object has a unique name attribute in Blender, and each unique name attribute is used as the model ID.

[0048] The detection and output method of material data is to obtain the name, diffuse material, color and texture mapping attribute information of all materials through bpy data material, and then associate the obtained material information with the model. Each material object has a name attribute that can be used as a material ID. For example, the material index of the surface is obtained in the model surface information detection. Through this index, the corresponding material can be reversely searched and it can be determined on which surfaces of which models the material is used.

[0049] The detection and output method of bone data is to access the data of the bone system through the bpy data skeleton. Each bone object belongs to a bone system. For each bone system, you can use the bones attribute to obtain all bone objects, including the bone name, parent bone, length, position, rotation and other information to show the hierarchical structure and basic properties of the bone.

[0050] A Python-based method for bridging an automated 3D car model to the Unreal Engine platform. The specific application steps of the method are as follows:

[0051] SS1, start the Python automation command. The developer starts the pre-written Python automation script on the PC to start the entire 3D vehicle model automation process;

[0052] SS2, model ID data verification, uses Python scripts to interact with Blender's data interface to obtain model ID data in Blender. Regular expressions and other text processing techniques are used to verify whether it complies with the Unreal Engine platform specifications, with a focus on checking for garbled characters, Chinese characters, and other non-compliant character formats.

[0053] SS3, model UVmap information check, using Blender's log reading function and Python data capture capabilities to obtain model UVmap information and capture the model log. By parsing the face information in the log data, check whether there is a face overlap problem. If so, record the relevant information for subsequent processing;

[0054] SS4, material ID data verification, uses the data interaction interface to obtain material ID data in Blender, and uses character matching algorithms to verify whether it contains garbled characters, Chinese characters, or other abnormal formats according to the UnrealEngine platform's material naming specifications;

[0055] SS5, skeletal system IK information check, through deep interaction with Blender's skeletal system, checks whether the skeletal system has IK (inverse kinematics) information. If not, it determines whether it needs to be supplemented or prompts the user to make relevant settings based on the model requirements;

[0056] SS6, Information Aggregation and Asset Packaging, summarizes and organizes the information obtained from the above inspections and generates a detailed text report that clearly corresponds to each problem point and its inspection results. If all data meets the standard specifications of the Unreal Engine platform, the asset packaging process is started to package all relevant assets according to the predetermined directory structure and format, so that they can be directly imported into the Unreal Engine platform for further development and application.

[0057] Finally, it should be noted that the above descriptions are merely preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art will be able to modify the technical solutions described in the aforementioned embodiments or substitute equivalents for some of the technical features. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention shall be included within the scope of protection of the present invention.

Claims

1. A Python-based tool for bridging automated 3D car models to the Unreal Engine platform, featuring: include The output module is used to output the 3D car model into a 3D vehicle model that is fully compatible with the Unreal Engine platform; Modification module, used to modify the Blender side code and transform the original bone binding process into a system automated operation service; The automatic operation service mode is as follows: S1, creates and manages a Blender-based background thread, introduces the Python threading module, creates a background thread class for bone binding tasks, reads the pre-defined vehicle model bone structure configuration file, obtains information including the position, number, and hierarchical relationship of the created bones, as well as the initial parameters of the weight distribution, constructs the bone hierarchy, and then performs weight distribution; S2, optimizes the connection and interaction with Unreal Engine. It sets up the interface module for data transmission and interaction with the Unreal Engine platform, converts the skeletal coordinate system in Blender to the coordinate system used by Unreal Engine, converts and adapts the material properties to ensure that the model's texture and lighting material related information can be correctly displayed in Unreal Engine, and sends the converted model data to the import directory specified by the Unreal Engine platform or directly transmits it to the Unreal Engine runtime environment via a network transmission protocol. S3, triggering the automated service, adds a dedicated "Automated Rigging and Unreal Engine Adaptation" button in the Blender interface. When the user clicks this button, the program checks the status of the current 3D vehicle model. If the status is legal, it starts the background thread of the automated service. And the data detection and correction module is used to detect and output the data information of the model, material and skeleton of the modified 3D car model.

2. The Python-based automated 3D car model bridging tool for the Unreal Engine platform according to claim 1, characterized in that: The output module outputs the geometric shape, material, skeleton and animation information of the 3D car model.

3. The Python-based automated 3D car model bridging tool for the Unreal Engine platform according to claim 2, characterized in that: When the output module outputs the geometric shape of the 3D vehicle model, it divides the vehicle's outer contour into a parent group, and divides the front bumper, rear bumper, and side waistline parts with unique shapes into sub-group one, the wheels on the same axle into sub-group two, and the driver's seat area, including the seat, steering wheel, and instrument panel, into sub-group three.

4. The tool for bridging the Python-based automated 3D car model to the Unreal Engine platform according to claim 2, characterized in that: The material output method is to create corresponding materials according to the materials of different parts of the vehicle. For the metal part of the car body, a metal texture material with reflectivity and roughness parameters is created. For the interior part, materials are created according to different material types such as plastic, leather, and fabric, and the corresponding color, texture and glossiness are set. At the same time, texture mapping technology is used to add detailed texture to the material.

5. The tool for bridging the Python-based automated 3D car model to the Unreal Engine platform according to claim 1, characterized in that: The bone binding operation in S1 is to call Blender's bone creation function cyclically based on the configuration information, create various bone objects, and set their initial position and rotation parameters. The created bone objects are traversed through the code, and the connection relationship between the parent and child bones is set according to the mechanical structure and animation requirements: for each component of the 3D vehicle model including the body shell, windows, and wheels, weights are calculated and distributed according to their geometric shape characteristics and pre-defined weight distribution templates.

6. The tool for bridging the Python-based automated 3D car model to the Unreal Engine platform according to claim 1, characterized in that: The detection and output method of model data is to obtain basic information and interact with the bpy data object in Blender's Python API to obtain a list of all model objects including name, position, rotation and scale. Each model object has a unique name attribute in Blender, and each unique name attribute is used as the model ID.

7. The tool for bridging the Python-based automated 3D car model to the Unreal Engine platform according to claim 1, characterized in that: The material data is detected and output by obtaining the name, diffuse material, color, and texture mapping attribute information of all materials through bpy data materials, and then associating the obtained material information with the model. Each material object has a name attribute that can be used as a material ID.

8. The tool for bridging the Python-based automated 3D car model to the Unreal Engine platform according to claim 1, characterized in that: The detection and output method of bone data is to access the data of the bone system through the bpy data skeleton. Each bone object belongs to a bone system. For each bone system, you can use the bones attribute to obtain all bone objects, including the name of the bone, parent bone, length, position, rotation and other information to show the hierarchical structure and basic properties of the bone.

9. A method for bridging an automated 3D car model to an Unreal Engine platform based on Python, the method being implemented based on the tool for bridging an automated 3D car model to an Unreal Engine platform based on Python according to any one of claims 1 to 8, characterized in that: The specific application steps of the method are as follows: SS1, start the Python automation command. The developer starts the pre-written Python automation script on the PC to start the entire 3D vehicle model automation process; SS2, model ID data verification, uses Python scripts to interact with Blender's data interface to obtain model ID data from Blender. Using text processing techniques, including regular expressions, it verifies whether it complies with Unreal Engine platform specifications, focusing on checking for non-compliant character formats, including garbled characters and Chinese characters. SS3, model UVmap information check, using Blender's log reading function and Python data capture capabilities to obtain model UVmap information and capture the model log. By parsing the face information in the log data, check whether there is a face overlap problem. If so, record the relevant information; SS4, material ID data verification, uses the data interaction interface to obtain material ID data in Blender, and uses character matching algorithms to verify whether it contains abnormal formats such as garbled characters and Chinese characters according to the UnrealEngine platform's material naming specifications; SS5, skeletal system IK information check, through deep interaction with Blender's skeletal system, checks whether the skeletal system has inverse kinematics IK information. If not, it determines whether it needs to be supplemented or prompts the user to make relevant settings based on the model requirements; SS6, Information Aggregation and Asset Packaging, summarizes and organizes the information obtained from the above checks and generates a detailed text report that clearly corresponds to each problem point and its inspection results. If all data meets the standard specifications of the Unreal Engine platform, the asset packaging process is started to package all related assets according to the predetermined directory structure and format.

Citation Information

Patent Citations

  • Full-process electronic and electrical information architecture virtual simulation test platform and method

    CN117631645A

  • Computing Techniques for Three-Dimensional Modeling and Design Analysis

    US20190005185A1