Python-based automatic 3D car model bridging Unreal Engine platform tool and method

Through Python-based automation tools to automate the bone binding and data adaptation of 3D vehicle models, the problem of manual binding of bones in 3D vehicle model development on the Unreal Engine platform is solved, and efficient and accurate model development and data processing are achieved.

CN120105574AActive Publication Date: 2025-06-06RIVOTEK TECH (JIANGSU) CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

When developing 3D vehicle models on the Unreal Engine platform, bones need to be manually bound, resulting in complex processes, inefficient and prone to vulnerabilities and errors.

Method used

Using Python-based automation tools, the 3D car model is outputted into a model adapted to Unreal Engine through the output module, the modification module automatically runs the bone binding process, and the data detection and correction module is used to ensure that the data complies with the Unreal Engine specifications.

Benefits of technology

It significantly improves the efficiency of 3D vehicle model development, reduces manual errors, ensures data accuracy and platform compatibility, and improves the maintainability and scalability of the project.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120105574A_ABST
    Figure CN120105574A_ABST
Patent Text Reader

Abstract

The invention discloses a Python-based automatic 3D car model bridging Unreal Engine platform tool and a Python-based automatic 3D car model bridging Unreal Engine platform method, and the Python-based automatic 3D car model bridging Unreal Engine platform tool comprises an output module which is used for outputting a 3D car model as a 3D car model completely adaptive to the Unreal Engine platform; the modification module is used for modifying a Blender side code and converting an original skeleton binding process into a system automatic operation service; the data detection and correction module is used for detecting and outputting the data information of the modified model, material and skeleton of the 3D car model, the Python programming design automation is used for replacing the original Blneder for the 3D car model asset manufacturing process, the 3D car model management model, material, skeleton and animation data can be processed more quickly, the efficiency is greatly improved, the cost is reduced, and the method is suitable for popularization and application. In the execution process, the searched data which does not conform to the Unreal Engine platform specification can be automatically corrected or prompted to the user, and the model data naming and asset packaging of the design specification are convenient to screen and match the data effect after the process is finished.
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 automatic 3D car model to an Unreal Engine platform based on Python. Background Art

[0002] The intelligent cockpit aims to integrate multiple IT and artificial intelligence technologies to create a new integrated digital platform in the car, provide drivers with an intelligent experience, and promote driving safety. At present, there have been 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, debris detection, seat belt detection, etc. In the field of 3D vehicle model development, the Unreal Engine platform is widely used for 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 Unreal Engine platform with an automated 3D car model based on Python, so as to solve the problem mentioned in the above background technology that the dynamic vehicle effects on the Unreal Engine platform are currently 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, and the manual process is complicated, cumbersome, inefficient and prone to vulnerabilities and errors during the docking process.

[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, comprising: Output module, 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 automatic operation service; And a 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.

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

[0007] In a preferred embodiment: when the output module outputs the geometric shape of the 3D vehicle 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, 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.

[0008] 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 metal 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.

[0009] A method for bridging a tool for an automated 3D car model to an Unreal Engine platform based on Python, wherein the automated running service is as follows: S1, create and manage background threads based on Blender, introduce Python's threading module, create background thread classes for bone binding tasks, read pre-defined vehicle model bone structure configuration files, obtain information such as the position, number, and hierarchical relationship of bone creation, as well as initial parameters for weight allocation, build bone hierarchical relationships, and then perform weight allocation; S2, optimization of connection and interaction with Unreal Engine, setting up the interface module for data transmission and interaction with Unreal Engine platform, converting the bone coordinate system in Blender into the coordinate system used by Unreal Engine, converting and adapting the material attributes, ensuring that the model's texture and lighting material related information can be correctly displayed in Unreal Engine, and sending the converted model data to the import directory specified by Unreal Engine platform or directly transmitting it to the Unreal Engine running environment through the network transmission protocol; S3, triggering the automatic operation service, adds a special "Automatic Bone Binding and Unreal Engine Adaptation" button in the Blender interface. After the user clicks the button, the program checks the status of the current 3D vehicle model. If the status is legal, the background thread of the automatic operation service is started.

[0010] In a preferred embodiment: the automatic bone binding operation in step S1 is based on the configuration information, cyclically calling the Blender bone creation function, creating each bone object, and setting its initial position and rotation parameters, traversing the created bone objects through code, and setting the connection relationship between the parent and child bones according to the mechanical structure and animation requirements. For each component of the 3D vehicle model, such as the body shell, windows, wheels, etc., weight calculation and allocation are performed according to their geometric shape characteristics and a pre-defined weight allocation template.

[0011] In a preferred embodiment: the detection and output method of the model data is to obtain basic information, use the bpy data object in Blender's Python API to interact, 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.

[0012] In a preferred embodiment: 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 material, 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.

[0013] In a preferred embodiment: the detection and output method of the 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 bone name, parent bone (bone.parent), length, position, rotation and other information to display the hierarchical structure and basic properties of the bone.

[0014] In a preferred embodiment: the specific application steps 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, obtains model ID data in Blender through Python script and Blender's data interaction interface, and uses regular expressions and other text processing technologies to verify whether it complies with the Unreal Engine platform specifications, focusing on checking whether there are garbled characters, Chinese characters and other character formats that do not meet the requirements; SS3, model UVmap information check, using Blender's log reading function and Python data capture capabilities to obtain model UVmap information and capture 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, using the data interaction interface to obtain the material ID data in Blender, and according to the UnrealEngine platform's material naming specifications, using the character matching algorithm to verify whether it contains abnormal formats such as garbled characters and Chinese characters; SS5, check the IK information of the skeleton system. Through deep interaction with the Blender skeleton system, check whether there is IK (inverse kinematics) information in the skeleton system. If not, determine whether it needs to be supplemented or prompt the user to make relevant settings according to the model requirements; 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 program is started to package all related assets according to the predetermined directory structure and format.

[0015] Compared with the prior art, the beneficial effects achieved by the present invention are: 1. The present invention uses the 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, the task can be completed in a greatly shortened time, which significantly improves the overall development efficiency and saves valuable time and manpower costs for smart cockpit and ADAS development projects.

[0016] 2. During the entire execution process of the present invention, once data that does not comply with the Unreal Engine platform specification 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 the accuracy of the data and platform compatibility, greatly reduces development problems and failures caused by data errors, and improves the quality of development results.

[0017] 3. The present invention, by designing standardized and unified model data naming rules and scientific and reasonable asset packaging methods, can conveniently 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, it can quickly locate and obtain the required data, significantly improving the maintainability and scalability of the project. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] 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: Figure 1 It 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; Figure 2 It is a schematic diagram of the flow structure of the automated operation service method of the present invention. DETAILED DESCRIPTION

[0019] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. 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 creative work are within the scope of protection of the present invention.

[0020] 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 Output module, 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 automatic operation service; And a 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.

[0021] 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 the development of the Unreal Engine platform.

[0022] 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 with unique shapes are divided into sub-group one respectively. The setting of the parent group and the 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.

[0023] 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 metal 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.

[0024] A method for bridging a tool for an automated 3D car model to an Unreal Engine platform based on Python, wherein the automated running service is as follows: S1, create and manage background threads based on Blender, introduce Python's threading module, create background thread classes for bone binding tasks, read pre-defined vehicle model bone structure configuration files, obtain information such as the position, number, and hierarchical relationship of bone creation, as well as initial parameters for weight allocation, build bone hierarchical relationships, and then perform weight allocation; S2, optimization of connection and interaction with Unreal Engine, setting up the interface module for data transmission and interaction with Unreal Engine platform, converting the bone coordinate system in Blender into the coordinate system used by Unreal Engine, converting and adapting the material attributes, ensuring that the model's texture and lighting material related information can be correctly displayed in Unreal Engine, and sending the converted model data to the import directory specified by Unreal Engine platform or directly transmitting it to the Unreal Engine running environment through the network transmission protocol; S3, triggering the automatic operation service, adds a special "Automatic Bone Binding and Unreal Engine Adaptation" button in the Blender interface. After the user clicks the 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 automatic operation service is started.

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

[0026] The detection and output method of the model data is to obtain basic information, 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.

[0027] The material data detection and output method 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.

[0028] The detection and output method of the 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 (bone.parent), length, position, rotation and other information to display the hierarchical structure and basic properties of the bone.

[0029] The specific application steps 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, obtains model ID data in Blender through Python script and Blender's data interaction interface, and uses regular expressions and other text processing technologies to verify whether it complies with the Unreal Engine platform specifications, focusing on checking whether there are garbled characters, Chinese characters and other character formats that do not meet the requirements; SS3, model UVmap information check, using Blender's log reading function and Python data capture capabilities to obtain model UVmap information and capture model Log. By parsing the surface information in the Log data, check whether there is a surface overlap problem. If so, record the relevant information for subsequent processing; SS4, material ID data verification, using the data interaction interface to obtain the material ID data in Blender, and according to the UnrealEngine platform's material naming specifications, using the character matching algorithm to verify whether it contains abnormal formats such as garbled characters and Chinese characters; SS5, check the IK information of the skeleton system. Through deep interaction with the Blender skeleton system, check whether there is IK (inverse kinematics) information in the skeleton system. If not, determine whether it needs to be supplemented or prompt the user to make relevant settings according to the model requirements; 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 program is started to package all related 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.

[0030] Finally, it should be noted that the above description is only a preferred embodiment of the present invention and is 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 can still modify the technical solutions described in the aforementioned embodiments or replace some of the technical features therein by equivalents. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A tool and method for bridging the 3D car model to the Unreal Engine platform based on Python, characterized by: include Output module, 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 automatic operation service; And a 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 tool and method for bridging the Python-based automated 3D car model to 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 tool and method for bridging the 3D car model to the Unreal Engine platform based on Python according to claim 2, characterized in that: When the output module outputs the geometric shape of the 3D vehicle 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, 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.

4. The tool and method for bridging the 3D car model with the Unreal Engine platform based on Python 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. A method for bridging the tool of the Python-based automated 3D car model to the UnrealEngine platform according to any one of claims 1 to 3, characterized in that: The automatic operation service is as follows: S1, create and manage background threads based on Blender, introduce Python's threading module, create background thread classes for bone binding tasks, read pre-defined vehicle model bone structure configuration files, obtain information such as the position, number, and hierarchical relationship of bone creation, as well as initial parameters for weight allocation, build bone hierarchical relationships, and then perform weight allocation; S2, optimize the connection and interaction with Unreal Engine, set up the interface module for data transmission and interaction with the Unreal Engine platform, convert the bone coordinate system in Blender to the coordinate system used by Unreal Engine, convert and adapt the material attributes to ensure that the model's texture and lighting material related information can be correctly displayed in UnrealEngine, and send the converted model data to the import directory specified by the Unreal Engine platform or directly transfer it to the Unreal Engine operating environment through the network transmission protocol; S3, triggering the automatic operation service, adds a special "Automatic Bone Binding and Unreal Engine Adaptation" button in the Blender interface. After the user clicks the button, the program checks the status of the current 3D vehicle model. If the status is legal, the background thread of the automatic operation service is started.

6. The method of claim 1 for bridging the tool of the Python-based automated 3D car model to the Unreal Engine platform, characterized in that: The automatic bone binding operation in step S1 is to call Blender's bone creation function cyclically according to the configuration information, create various bone objects, and set their initial position and rotation parameters, traverse the created bone objects through code, and set the connection relationship between the parent and child bones according to the mechanical structure and animation requirements. For each component of the 3D vehicle model, such as the body shell, windows, wheels, etc., weight calculation and distribution are performed according to their geometric shape characteristics and a pre-defined weight distribution template.

7. The method of claim 1 for bridging the tool of the Python-based automated 3D car model to the Unreal Engine platform, characterized in that: The detection and output method of the model data is to obtain basic information, 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.

8. The method of claim 1 for bridging the tool of the Python-based automated 3D car model to the Unreal Engine platform, characterized in that: The material data detection and output method 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 (such as obtaining the material index of the surface 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).

9. The method of claim 1 for bridging the tool of the Python-based automated 3D car model to the Unreal Engine platform, characterized in that: The detection and output method of the 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 (bone.parent), length, position, rotation and other information to display the hierarchical structure and basic properties of the bone.

10. The method of the tool for bridging the Python-based automated 3D car model to the Unreal Engine platform according to claim 5, characterized in that: The specific application steps 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, obtains model ID data in Blender through Python script and Blender's data interaction interface, and uses regular expressions and other text processing technologies to verify whether it complies with the Unreal Engine platform specifications, focusing on checking whether there are garbled characters, Chinese characters and other character formats that do not meet the requirements; SS3, model UVmap information check, using Blender's log reading function and Python data capture capabilities to obtain model UVmap information and capture 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, using the data interaction interface to obtain the material ID data in Blender, and according to the UnrealEngine platform's material naming specifications, using the character matching algorithm to verify whether it contains abnormal formats such as garbled characters and Chinese characters; SS5, check the IK information of the skeleton system. Through deep interaction with the Blender skeleton system, check whether there is IK (inverse kinematics) information in the skeleton system. If not, determine whether it needs to be supplemented or prompt the user to make relevant settings according to the model requirements; 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 program is started to package all related assets according to the predetermined directory structure and format.

Citation Information

Patent Citations

  • Virtual image generation method based on Unreal Engine

    CN115619911A

  • Unreal Engine-based model display method and system

    CN116360756A

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

    CN117631645A

  • Unity engine-based vehicle-mounted 3D vehicle model integration method, electronic equipment and vehicle

    CN117667286A

  • Computing Techniques for Three-Dimensional Modeling and Design Analysis

    US20190005185A1