A maya-based face normal detection and repair processing system and method
By using a Maya-based surface normal detection and repair system and method, the reverse surfaces in 3D models are identified and repaired, achieving efficient and accurate surface normal repair and improving the efficiency and quality of model production.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-29
- Publication Date
- 2026-07-31
AI Technical Summary
In traditional 3D model making, disordered normal directions on model surfaces lead to black rendering, abnormal lighting calculations, texture baking errors, and poor cross-software compatibility, affecting the efficiency and quality of model making.
This paper provides a Maya-based surface normal detection and repair system and method. The system identifies a set of negative surfaces through a normal detection module, performs repair through a normal repair module, and performs differentiated visual marking through a visualization and interaction module to achieve non-destructive detection and repair.
It improves the efficiency and quality of model surface normal repair, enhances the user's ability to locate and repair normal problems, and supports batch processing and precise point-to-point correction of single surfaces.
Smart Images

Figure CN122492988A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of three-dimensional computer graphics-aided design technology, and in particular to a surface normal detection and repair system and method based on Maya. Background Technology
[0002] In the fields of 3D computer graphics and computer vision, 3D model making is a core part of applications such as digital content creation, virtual simulation, and 3D reconstruction. As a key geometric attribute for defining surface orientation, lighting calculation, and rendering, the consistency of the model's direction directly determines the model's visual presentation and engineering usability.
[0003] In the traditional 3D model production process, disordered normal directions of model faces and the presence of reversed facets are frequent technical problems. These problems can directly lead to defects such as rendering black faces, abnormal lighting calculations, texture baking errors, and poor cross-software collaboration compatibility, which seriously affect the efficiency of model production and the quality of the final output. Summary of the Invention
[0004] To address the aforementioned issues, this application provides a Maya-based surface normal detection and repair system and method, which enables non-destructive reverse surface detection and targeted repair of model surface normals. Furthermore, it achieves intuitive comparison before and after the operation through differential rendering of the front and back surfaces, effectively improving the efficiency and quality of model surface normal repair.
[0005] In a first aspect, this application provides a surface normal detection and repair processing system based on Maya, the surface normal detection and repair processing system based on Maya comprising:
[0006] The normal detection module is used to temporarily perform unified normal and signature volume verification operations on the mesh model to be processed, and identify the face with reversed normal direction by comparing the face normal vector direction before and after the operation to obtain the reverse face set. After outputting the reverse face set, the mesh model is restored to the initial state.
[0007] The normal repair module is used to repair the reverse side detected by the normal detection module;
[0008] The visualization and interaction module is used to perform differentiated visual marking on the front and back sides of the mesh model based on the back face set detection results output by the normal detection module.
[0009] In one alternative embodiment of the first aspect, the normal detection module is specifically used for:
[0010] Obtain the set of normal vectors for all faces in the initial state of the mesh model, denoted as the original normal set;
[0011] Within the undo block, a unified normal command and the calculation of the model signature volume are temporarily performed on the mesh model, and the overall model flip is determined based on the sign of the model signature volume.
[0012] When performing a complete model flip, obtain the set of normal vectors of all faces after temporary repair, denoted as the repair normal set;
[0013] Perform a dot product calculation on the vectors of the original normal set and the repaired normal set with the same index surface, identify the reverse surface based on the dot product calculation result, and output the reverse surface set;
[0014] Exiting the undo block restores the mesh model to its initial state.
[0015] In one alternative embodiment of the first aspect, the normal detection module is specifically used for:
[0016] If the model signature volume is negative, perform a complete flip on the mesh model;
[0017] If the model signature volume is positive, the state of the mesh model remains unchanged.
[0018] In one alternative embodiment of the first aspect, the normal repair module is specifically used for:
[0019] Perform a local flip operation on each of the reverse faces in the set of reverse faces individually.
[0020] In an alternative embodiment of the first aspect, the normal repair module is further configured to:
[0021] Perform unified normal and signature volume verification operations on the mesh model to complete the overall one-time repair of the model.
[0022] In one alternative implementation of the first aspect, the visualization and interaction module is specifically used for:
[0023] The vertices on the reverse side of the mesh model are marked with a first color;
[0024] The vertices on the front side of the mesh model are marked with a second color.
[0025] In one alternative implementation of the first aspect, the visualization and interaction module is specifically used for:
[0026] Load a pre-made checkerboard texture, the checkerboard texture comprising a first color for marking the reverse side of the mesh model and a second color for marking the front side of the mesh model;
[0027] The texture projection logic is controlled based on the surface normal direction of the mesh model, and the texture coordinates are rotated according to the surface normal direction.
[0028] The front and back sides of the mesh model are visualized differently by using differences in texture color.
[0029] Secondly, this application provides a surface normal detection and repair method based on Maya, including:
[0030] Detection steps: Temporarily perform unified normal and signature volume verification operations on the mesh model to be processed, and identify the faces with reversed normal directions by comparing the face normal vector directions before and after the operation to obtain the set of reverse faces. After outputting the set of reverse faces, restore the mesh model to its initial state.
[0031] Visualization steps: Based on the detection results of the reverse side set, perform differentiated visual markings on the front and back sides of the mesh model;
[0032] Repair step: Perform repair on the reverse side detected in the detection step.
[0033] In an alternative implementation of the second aspect, the method further includes an overall repair step:
[0034] Perform unified normal and signature volume verification operations on the model to complete the overall one-time repair.
[0035] In an alternative embodiment of the second aspect, the method further includes:
[0036] After the repair is completed, repeat the detection step and the visualization step to verify the surface normal repair effect of the mesh model.
[0037] The surface normal detection and repair system and method based on Maya provided in this application have at least the following beneficial effects:
[0038] This application temporarily performs unified normal and signature volume verification operations on the mesh model to be processed. By comparing the direction of the face normal vectors before and after the operation, it identifies the faces with flipped normals and obtains a set of reverse faces. After outputting the set of reverse faces, the mesh model is restored to its initial state, thereby achieving non-destructive normal detection. It has high detection accuracy for both closed and open meshes and does not rely on the model's historical records. In addition, based on the detection results of the reverse face set, the front and back faces of the mesh model are visually differentiated, which greatly improves the efficiency of users in locating and repairing normal problems. Then, the reverse faces output by the normal detection module are repaired, supporting batch processing of models and precise point-to-point correction of single faces, thereby improving the efficiency and quality of model face normal repair as a whole. Attached Figure Description
[0039] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0040] Figure 1 A structural diagram of the surface normal detection and repair system based on Maya provided in this application embodiment;
[0041] Figure 2 The diagram shows the implementation effect of the normal detection module involved in the embodiments of this application.
[0042] Figure 3 This is an implementation effect diagram of the normal repair module involved in the embodiments of this application;
[0043] Figure 4 This is another implementation effect diagram of the normal repair module involved in the embodiments of this application;
[0044] Figure 5 These are implementation effect diagrams of the visualization and interaction modules involved in the embodiments of this application;
[0045] Figure 6 This is a schematic diagram of the surface normal detection and repair process based on Maya in an embodiment of this application;
[0046] Figure 7 This application provides a detailed flowchart of the Maya-based surface normal detection and repair system for performing model normal detection and repair. Detailed Implementation
[0047] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.
[0048] In existing 3D model surface normal detection and repair technologies, the detection and repair of model surface normal states generally suffer from insufficient accuracy, cumbersome processes, and lack of feedback, as detailed below:
[0049] (1) Traditional tools lack a unified geometric judgment basis for non-closed meshes such as single-sided patches and planes. Relying solely on surface normals for calculation can easily lead to directional ambiguity, resulting in unreliable detection results.
[0050] (2) It cannot automatically verify the overall internal and external spatial relationship of the model. After the Conform operation, the normals often face inward, which requires manual flipping to correct.
[0051] (3) Currently, mainstream 3D software such as Maya does not provide native non-destructive normal direction visualization tools, which cannot intuitively present the normal state, making it difficult for users to quickly and accurately assess the overall quality of the model's normals.
[0052] To address the aforementioned issues, this application provides a surface normal detection and repair system based on Maya, such as... Figure 1 As shown, the Maya-based surface normal detection and repair system includes a normal detection module 11, a normal repair module 12, and a visualization and interaction module 13.
[0053] The normal detection module 11 is used to temporarily perform unified normal and signature volume verification operations on the mesh model to be processed, and identify the face with reversed normal direction by comparing the face normal vector direction before and after the operation to obtain the reverse face set. After outputting the reverse face set, the mesh model is restored to the initial state.
[0054] The normal repair module 12 is used to repair the reverse side detected by the normal detection module, including performing local flipping operations on each reverse side individually to achieve repair.
[0055] The normal repair module 12 is also used to perform unified normal and signature volume verification operations on the mesh model, and complete the overall one-time repair of the model.
[0056] The visualization and interaction module 13 is used to perform differentiated visual marking on the front and back sides of the mesh model based on the back face set detection results output by the normal detection module.
[0057] The functions of each module are described in detail below.
[0058] In an optional implementation, the normal detection module is specifically used for:
[0059] Obtain the set of normal vectors for all faces in the initial state of the mesh model, denoted as the original normal set;
[0060] Within the UndoChunk, the Conform command is temporarily executed on the mesh model, and the model signature volume is calculated. The sign of the model signature volume determines whether to perform a complete model flip.
[0061] When performing a complete model flip, obtain the set of normal vectors of all faces after temporary repair, denoted as the repair normal set;
[0062] Perform dot product calculation on vectors with the same index surface in the original normal set and the repair normal set one by one, identify the reverse surface based on the dot product calculation result, and output the reverse surface set;
[0063] Exiting the undo block restores the mesh model to its initial state.
[0064] Optionally, if the model signature volume is negative, the entire mesh model is flipped; if the model signature volume is positive, the state of the mesh model remains unchanged.
[0065] Specifically, select the mesh model (Assuming the total number of faces is) And assume the normal analytic function is defined as , where t represents the state (original or fixed). For the first The unit normal vector of each face.
[0066] The detection process of the normal detection module includes:
[0067] a) Obtain the original normal set: .
[0068] b) Perform a temporary repair operation, which is performed by the operator. This indicates that it includes sub-operators. (Unified normal) and (based on volume) The entire flip).
[0069] Define the signature volume calculation function .
[0070] Operators Defined as: .
[0071] c) Obtain the repair normal set: .
[0072] d) Determine the set of opposites : .
[0073] e) Cancellation operate, Restore to its original state.
[0074] The output result set R and auxiliary information V are closed.
[0075] in:
[0076] M: Represents the mesh model selected by the user in Maya software, which is to be processed, or a "single polygon mesh object". It is the target carrier for all subsequent operations (inspection, repair, visualization).
[0077] n: Represents the total number of faces in the mesh object M. Its value is an integer, obtained through cmds.polyEvaluate(mesh,face=True). It is used to define the index range [0,n-1] of the normal set and serves as the termination condition for the traversal loop.
[0078] : This represents the normal resolution function. This function encapsulates a call to the Maya command cmds.polyInfo(faceNormals=True), taking the mesh object M and the status label t as input, and outputting a data structure (such as a dictionary). This structure maps the index i of each face to its unit normal vector (x, y, z) in three-dimensional space.
[0079] t: Represents a state identifier used to distinguish different stages of the operation. In this scheme, t can only take the values of original (initial state) or fixed (temporarily repaired state).
[0080] : indicates in In the state, by function The original set of normals obtained through analysis. It serves as the benchmark data for detection and comparison.
[0081] : This indicates that in the state t=fixed, the function The parsed set of normals, temporarily repaired. It represents the "ideal" or "correct" normal orientation as determined by the algorithm.
[0082] i: Represents the face index (FaceIndex), with values ranging from integers 0, 1, 2, ..., n-1. It is used to locate a specific face vector from the normal set N.
[0083] : Indicates belonging to a set The unit normal vector of the i-th face is a three-dimensional vector (x, y, z). It represents the normal direction of the face in its initial state.
[0084] : Indicates belonging to a set The unit normal vector of the i-th face is a three-dimensional vector (x, y, z). It represents the normal direction of the same face in the temporary repair state.
[0085] : Represents the temporary normal repair operator, which is a composite function. Its function is to modify the normal state of mesh M, but this modification only occurs within the undo block created by cmds.undoInfo(openChunk=True).
[0086] : This represents Maya's unified normal operator, which is implemented as cmds.polyNormal(normalMode=2). Its function is to unify the orientation of the normals of all faces to make them as consistent as possible.
[0087] : This represents the global normal flip operator. Its underlying implementation is to select all faces and then execute cmds.polyNormal(normalMode=0), which reverses the normal direction of all faces by 180 degrees.
[0088] : Represents the signature volume calculation function. This function iterates through all faces of the mesh and uses a sector triangulation method to accumulate the contribution of each triangle to the total volume. The signed volume V of the mesh is calculated using commands from the cmds module, without any OpenMaya API dependency.
[0089] V: Represents the signature volume value, which is a real number ( The sign of the value (V) is used to help determine the orientation of the overall normals of the model. V>0 usually means that the normals are roughly facing outwards, while V<0 means that the normals are roughly facing inwards. This value is also provided to the user as supplementary information.
[0090] . : Represents the vector dot product operator. In the embodiments of this application, the calculation... Since both vectors are unit vectors, the dot product is equal to the cosine of the angle between them. If the dot product is less than 0, it means the angle is greater than 90 degrees, indicating that the vector directions have been reversed.
[0091] R: Represents the set of face indices that are detected and judged as "negative". It is a set of indices that satisfy the condition The list consisting of face indices i is the core output of the detection module.
[0092] `is_closed`: Represents Boolean auxiliary information. It determines whether the mesh is closed by checking for boundary edges (`cmds.polySelect(edgeBorder=...)`). It helps users assess the reliability of the signature volume V.
[0093] The normal detection module in this application embodiment effectively solves the technical pain points of traditional methods, such as inaccurate detection of non-closed meshes and unpredictable repair consequences, through a non-destructive mechanism of "temporary repair-comparison-cancellation." Its detection accuracy is far higher than that of methods relying solely on volume judgment. Figure 2 As shown, after clicking on the face normal of the selected model, clicking "Select All Inverse Faces" will select the detected inverse faces. Compared to the raycasting detection method, traditional raycasting suffers from high computational cost, poor real-time performance, and inability to stably handle non-closed, self-intersecting, or complex scene models. In contrast, the normal detection module of this application has simple computational logic, low computational load, and can efficiently adapt to the detection of non-closed meshes and complex models, offering superior versatility and practicality.
[0094] In this embodiment, the normal repair module supports two functions: one is the selected face repair function, such as... Figure 3 As shown, clicking on the reverse side detected only by the normal detection module restores the orientation to normal; another is the overall repair function, such as... Figure 4 As shown, after selecting the model, click "One-click Repair Normals" to restore the face orientation to normal.
[0095] The implementation logic of the overall repair function includes:
[0096] S1: For the current mesh model Execution operator .
[0097] S2: Compare the normal sets before and after execution. and Calculate the number of faces that are flipped. .
[0098] The mathematical expression is: , returns (k,n,V).
[0099] The implementation logic of the selected face repair function includes:
[0100] S1: Input the set of face indices to be flipped .
[0101] S2: For each Apply the partial flip operator Acting on components .
[0102] The mathematical expression is: .
[0103] in:
[0104] M: Represents the polygonal mesh object to be processed.
[0105] : This indicates a compound repair operator that includes uniform normals and condition inversion.
[0106] , : Represents the sets of normals before and after the repair, used to count the number of faces that actually flipped.
[0107] k: Represents the number of faces that actually underwent normal flipping during the overall restoration process. It is an integer value used to inform the user of the scope of the operation's impact.
[0108] n and V: represent the total number of faces and the signature volume, respectively, and are returned as auxiliary information.
[0109] F: Represents the set of face indices that need to be flipped, specified by the user or output by the detection module. It is a list of integers, such as [12, 45, 103].
[0110] : Represents the index value of the j-th face in set F.
[0111] m: represents the number of elements in set F, i.e., m = |F|.
[0112] : Represents a local normal flipping operator applied to a specific face component. Its underlying implementation is to select the corresponding face (such as mf
[12] ) and then execute cmds.polyNormal(normalMode=0).
[0113] Mf[ ]: Indicates that the index on grid M is Specific face components are Maya's standard component naming format.
[0114] The normal repair module in this application provides overall repair and selected face repair, which retains the convenience of the MayaConform command and achieves precise control through the "flip only the detected reverse face" function, avoiding misoperation of the correct area. In addition, the module provides overall / selected face repair, supports batch processing and point-to-point correction, and can balance repair efficiency and operation accuracy.
[0115] In this embodiment of the application, there are two ways to implement the visualization and interaction module to differentiate the front and back of the mesh model with visual markings.
[0116] In the first implementation, the front and back sides are differentiated by marking the vertices on the back side of the mesh model with a first color and the vertices on the front side of the mesh model with a second color.
[0117] As an example, the specific implementation process of the first implementation method includes:
[0118] S1: Define the color mapping rule C(i), where i is the face index. .
[0119] S2: Create or update the color set normalCheckColor for mesh M, and apply the color mapping C(i) to the corresponding vertex of each face.
[0120] S3: Enables the displayColors property of the grid shape node. Mathematically, this is expressed as: .
[0121] Furthermore, the option to select the negative side includes:
[0122] S1: Convert the indices in the negative set R into a Maya component selection string set. .
[0123] S2: Execute the selection command to update the viewport selection list. Mathematically, this is expressed as: .
[0124] in:
[0125] M, n, i, R: represent the mesh model, total number of faces, face index, and reverse face index set, respectively.
[0126] C(i): Represents the color mapping function. It determines the color value to return based on whether face index i belongs to the set of opposite faces R.
[0127] (R,G,B): This represents a triplet of floating-point numbers, representing the color intensity of the red, green, and blue channels, respectively, with values typically ranging from [0,1].
[0128] (0.15, 0.75, 0.3): Represents a soft green color used to identify the "front" with the normals correct.
[0129] (0.9,0.15,0.15): Represents a striking red color used to identify the "reverse" side of a normal error.
[0130] normalCheckColor: Represents a fixed string, which serves as the name of the vertex color set used exclusively by this tool. This facilitates management and clearing, and avoids conflicts with the model's existing color set.
[0131] `displayColors`: A boolean property representing the Maya mesh shape node. Setting it to 1 or True will display the vertex color set effect in the viewport.
[0132] ApplyColor: Represents an abstract operation, the underlying implementation of which is to execute the Maya command cmds.polyColorPerVertex, which applies the specified color C(i) to the corresponding vertex of the face.
[0133] Visualize(M,R): This function represents the entire visualization process, and the result is that the model M is displayed in the viewport with its normal state in red and green.
[0134] S: Represents a collection of strings. Each string is a valid Maya face component name, such as "pSphere1.f
[12] ".
[0135] SetActiveSelection: Represents an abstract operation, which is implemented by executing the Maya command cmds.select(S, replace=True) to update the selected object in the viewport.
[0136] In the second implementation, the front and back sides of the mesh model are visually differentiated, including:
[0137] First, load a pre-made checkerboard texture, which contains a first color for marking the back of the mesh model and a second color for marking the front of the mesh model;
[0138] Then, the texture projection logic is controlled based on the surface normal direction of the mesh model, and the texture coordinates are rotated according to the surface normal direction;
[0139] Finally, the front and back sides of the mesh model are visualized differently by using differences in texture color.
[0140] As an example, the first color is red and the second color is green.
[0141] The visualization and interaction module provided in this application uses differentiated color markings to transform invisible normal vector direction data into intuitive visual feedback. Combined with the "select the reverse side" function, this greatly improves the efficiency of user problem location and repair. For example... Figure 5 As shown, through the visualization and interaction module of this embodiment, clicking the display color marker will mark the reverse side, and clicking clear will restore the original state, which is used to distinguish the front and back of the face when there is double-sided lighting.
[0142] The Maya-based surface normal detection and repair system provided in this application temporarily performs a unified normal and signature volume verification operation on the mesh model to be processed. By comparing the direction of the surface normal vectors before and after the operation, it identifies the faces with flipped normals and obtains a set of reverse faces. After outputting the set of reverse faces, the mesh model is restored to its initial state, thereby achieving non-destructive normal detection. It has high detection accuracy for both closed and open meshes and does not rely on the model's historical records. In addition, based on the detection results of the set of reverse faces, the front and back faces of the mesh model are visually differentiated, which greatly improves the efficiency of users in locating and repairing normal problems. Then, the repair operation is performed on the reverse faces output by the normal detection module. It supports batch processing of models and precise point-to-point correction of single faces, thereby improving the efficiency and quality of model surface normal repair as a whole.
[0143] like Figure 6 As shown in the embodiments of this application, a surface normal detection and repair method based on Maya is also provided, including:
[0144] S10: Temporarily perform unified normal and signature volume verification operations on the mesh model to be processed, and identify the face with reversed normal direction by comparing the face normal vector direction before and after the operation to obtain the reverse face set. After outputting the reverse face set, restore the mesh model to the initial state.
[0145] S20: Based on the detection results of the reverse side set, perform differentiated visual marking on the front and back sides of the mesh model;
[0146] S30: Perform repair on the detected reverse side.
[0147] Optionally, the surface normal detection and repair method based on Maya provided in this embodiment further includes step S40:
[0148] S40 performs unified normal and signature volume verification operations on the model to complete the overall one-time repair.
[0149] Optionally, the surface normal detection and repair method based on Maya provided in this embodiment further includes:
[0150] After the repair is completed, repeat step S10 above to verify the surface normal repair effect of the mesh model.
[0151] Optionally, a unified normal and signature volume verification operation is temporarily performed on the mesh model to be processed. By comparing the face normal vector directions before and after the operation, the faces with flipped normal directions are identified to obtain the inverse face set. After outputting the inverse face set, the mesh model is restored to its initial state, including:
[0152] Obtain the set of normal vectors for all faces in the initial state of the mesh model, denoted as the original normal set;
[0153] Within the undo block, a unified normal command is temporarily executed on the mesh model, and the model signature volume is calculated. The sign of the model signature volume determines whether to perform a complete model flip.
[0154] When performing a complete model flip, obtain the set of normal vectors of all faces after temporary repair, denoted as the repair normal set;
[0155] Perform dot product calculation on vectors with the same index surface in the original normal set and the repair normal set one by one, identify the reverse surface based on the dot product calculation result, and output the reverse surface set;
[0156] Exiting the undo block restores the mesh model to its initial state.
[0157] Optionally, determining whether to perform a complete model flip based on the sign of the model signature volume includes:
[0158] When the model signature volume is negative, perform a complete flip on the mesh model;
[0159] When the model signature volume is positive, the state of the mesh model remains unchanged.
[0160] Optionally, the front and back sides of the mesh model are visually differentiated, including:
[0161] The vertices on the reverse side of the mesh model are marked with the first color;
[0162] The vertices on the front side of the mesh model are marked with a second color.
[0163] Alternatively, differentiate the front and back of the mesh model using visual markings, including:
[0164] Load a pre-made checkerboard texture, which contains a first color for marking the back of the mesh model and a second color for marking the front of the mesh model;
[0165] The texture projection logic is controlled by the surface normal direction based on the mesh model, and the texture coordinates are rotated according to the surface normal direction.
[0166] Differentiated visualization of the front and back sides of a mesh model is achieved by using texture color differences.
[0167] like Figure 7 As shown, based on the Maya-based surface normal detection and repair system provided in this application embodiment, the complete process of model normal detection and repair is as follows:
[0168] 1. The user selects the model that needs to be repaired in the Maya environment.
[0169] 2. Start the normal detection module to perform non-destructive reverse face detection on the target model, and generate and display the detection result panel.
[0170] 3. Activate the visualization and interaction module, and use color markers to visualize and render the model so that users can click on the color markers to view and identify the front and back sides.
[0171] 4. Users can judge the degree of abnormality of the model normals by observing the distribution of the red negative areas in the view, and perform corresponding operations: they can select all negative surfaces with one click, or directly trigger the normal repair operation.
[0172] 4. If the user selects to flip only the detected reverse sides (partial repair), the system will perform a precise partial flip on the set of reverse sides, and the process will end after the repair is successful;
[0173] 5. If the user selects one-click normal repair (overall repair), the system will perform global normal correction on the model. If the overall repair does not meet expectations, the user can manually select the reverse side and click "flip only the detected reverse side" to perform the repair. The process ends after the repair is successful.
[0174] The above are only some embodiments of this application and do not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the content of this application specification and drawings, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.
Claims
1. A surface normal detection and repair system based on Maya, characterized in that, include: The normal detection module is used to temporarily perform unified normal and signature volume verification operations on the mesh model to be processed, and identify the face with reversed normal direction by comparing the face normal vector direction before and after the operation to obtain the reverse face set. After outputting the reverse face set, the mesh model is restored to the initial state. The normal repair module is used to repair the reverse side detected by the normal detection module; The visualization and interaction module is used to perform differentiated visual marking on the front and back sides of the mesh model based on the back face set detection results output by the normal detection module.
2. The surface normal detection and repair system based on Maya as described in claim 1, characterized in that, The normal detection module is specifically used for: Obtain the set of normal vectors for all faces in the initial state of the mesh model, denoted as the original normal set; Within the undo block, a unified normal command and the calculation of the model signature volume are temporarily performed on the mesh model, and the overall model flip is determined based on the sign of the model signature volume. When performing a complete model flip, obtain the set of normal vectors of all faces after temporary repair, denoted as the repair normal set; Perform a dot product calculation on the vectors of the original normal set and the repaired normal set with the same index surface, identify the reverse surface based on the dot product calculation result, and output the reverse surface set; Exiting the undo block restores the mesh model to its initial state.
3. The surface normal detection and repair system based on Maya as described in claim 1, characterized in that, The normal detection module is specifically used for: If the model signature volume is negative, perform a complete flip on the mesh model; If the model signature volume is positive, the state of the mesh model remains unchanged.
4. The surface normal detection and repair system based on Maya as described in claim 1, characterized in that, The normal repair module is specifically used for: Perform a local flip operation on each of the reverse faces in the set of reverse faces individually.
5. The surface normal detection and repair system based on Maya as described in claim 1, characterized in that, The normal repair module is also used for: Perform unified normal and signature volume verification operations on the mesh model to complete the overall one-time repair of the model.
6. The surface normal detection and repair system based on Maya as described in claim 1, characterized in that, The visualization and interaction module is specifically used for: The vertices on the reverse side of the mesh model are marked with a first color; The vertices on the front side of the mesh model are marked with a second color.
7. The surface normal detection and repair system based on Maya as described in claim 1, characterized in that, The visualization and interaction module is specifically used for: Load a pre-made checkerboard texture, the checkerboard texture comprising a first color for marking the reverse side of the mesh model and a second color for marking the front side of the mesh model; The texture projection logic is controlled based on the surface normal direction of the mesh model, and the texture coordinates are rotated according to the surface normal direction. The front and back sides of the mesh model are visualized differently by using differences in texture color.
8. A method for surface normal detection and repair based on Maya, characterized in that, include: Detection steps: Temporarily perform unified normal and signature volume verification operations on the mesh model to be processed, and identify the faces with reversed normal directions by comparing the face normal vector directions before and after the operation to obtain the set of reverse faces. After outputting the set of reverse faces, restore the mesh model to its initial state. Visualization steps: Based on the detection results of the reverse side set, perform differentiated visual markings on the front and back sides of the mesh model; Repair step: Perform repair on the reverse side detected in the detection step.
9. The surface normal detection and repair method based on Maya as described in claim 8, characterized in that, The method also includes an overall repair step: Perform unified normal and signature volume verification operations on the model to complete the overall one-time repair.
10. The surface normal detection and repair method based on Maya as described in claim 8 or 9, characterized in that, The method further includes: After the repair is completed, repeat the detection step and the visualization step to verify the surface normal repair effect of the mesh model.