Search Unity

[2.3.0 released] Mesh Checker - Powerful set of tools for mesh error detection

Discussion in 'Assets and Asset Store' started by Hightlander, Jul 28, 2015.

  1. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30

    MeshChecker is a Unity Editor extension which includes a set of useful tools:
    1. «Sizes and bounds» tool visualizes and measures volumes of a selected set of objects.

    2. «Polygons count» shows triangles and vertices count for all meshes associated with the selected objects.

    3. «Checker» makes it easier to temporarily apply a checker texture to desired objects to detect UV-mapping errors.

    4. «Mesh Analysis» automatically checks meshes using different analysis rules. It also helps checking meshes manually by offering different display options and manual analysis utilities. This tool offers an API to make your own automatic analysis rules, display options and manual check utilities.
    Features:

    - 6 mesh analyses: Coincident UVs and vertices, inverted normals, pivot out of bounds, UV sets missing and vertices out of bounds.
    - 12 shading options: Normal, binormal, tangent, Wireframe, UV, backfaces, inverted normals and others.
    - 5 tools which help to find mesh issues: Coincident UVs and vertices, inverted normals, mesh bounds and pivot point viewers.
    - API for creating your own analyses, shading options and viewing tools.
    - Bounding box visualization for selected objects in world and local coordinates. You may easily copy the bounding box center coordinates and use them to create an object or place something in the middle of the selected objects volume.
    - Size of an object or a set of objects can be shown in meters, centimeters, feet or inches with custom scale adjustments.
    - A tool to temporarily apply procedural or custom UV-checker texture to selected objects to detect UV issues.
    - A «Polygons count» tool to show triangles and vertices count for all meshes associated with the selected set of objects.





    Mesh Checker editor extension in asset store
    ## [2.3.0] - 2018-06-16

    ### Added:
    • Support of the SkinnedMeshRenderer;
    • MeshFilter abstraction;
    • Collider utilities to the Sizes And Bounds tool;
    • The expandable container which can be used to animate expanding and collapsing a group of elements;
    • Vector3 extension method (GetOneDividedBy) which helps to get a vector with components that are computed by dividing one by the specified vector components;
    • Centered Roboto label style.

    ### Changed:
    • Animation of list items is now smoothed;
    • Settings of Sizes And Bounds tool and transform utilities splitted and moved to SAB utilities panel.

    ## [2.2.0] - 2018-04-22

    ### Added:
    • Wireframe shading option;
    • BumpMapping to the Normals shading option;
    • Wireframe toggle to the Normals shading option;
    • Description and alias info to the Normals, Binormal, Tangent, Checker, CustomMaterials, InvertedNormals, PurpleBackface, SubmeshColor, UV, VertexColor, Wireframe shading options;
    • Moving camera in MeshAnalysis window;
    • Focusing on the object when the 'F' key pressed;
    • Navigation hints in the MeshAnalysisWindow;
    • 'None' tool when one or more tools exists in the MeshAnalysis window;
    • MeshAnalysis window maximization;
    • SaB units settings to the tool settings popup;
    • A hotkey info to the toggle maximized button tooltip;
    • GetObjectCenter() method. Now possible to get object center in the MeshAnalysisWindow; - EnabledScope to the MCGUI class;
    • Warning and Ok colors to the MCGUI class;
    • ShadingOption description helper utilities;
    • SetToolName(string) protected method to the MeshAnalysisTool;
    • ColoredVerticalLine, RobotoLabel, RobotoLabelBold, RobotoLabelBoldWhite styles.

    ### Changed:
    • The ErrorGUIColor property now is ErrorColor. ErrorGUIColor marked as obsolete;
    • A Wireframe property now can be overridden in shading options;
    • Shading options order. Binormal and Tangent options pushed on top of the list.

    ### Fixed:
    • Variable naming in the InvertedNormals shader;
    • PackageImportIssues now do not invoke an additional GUI reloading on awake.

    ## [2.1.0] - 2018-04-16

    ### Added:
    • Usage hints to main tools.
    • Resources Not Exists issue handling.
    • Roboto font for some messages.
    • Wireframe drawing option to shading options as property.
    • RepaintEvent to the MeshAnalysisWindow.
    • ReloadStylesEvent to MCGUI.
    • ConfigureMaterial call to BasicShaderShadingOption.
    • DrawMesh method with scale argument.
    • MCGUIIcons class.
    • MCHandles helper class.
    • Scopes for the GUI Layout (Vertical, Horizontal)

    ### Changed:
    • Icons moved from MCGUIStyles to MCGUI.Icons, old properties marked as obsolete.
    • Plugins folder renamed to 'MeshChecker Plugins'.
    • Sizes and bounds cache now not cleared on calculation ending. This should help to remove blinking in GUI.

    ### Fixed:
    • Camera jumps on freeze.
    ## [2.0.0] - 2018-03-28

    Unity versions before 5.0 are no longer supported.

    ### Added:
    • A powerful analysis tool, which automatically checks meshes using different analysis rules. It also helps checking meshes manually by offering different display options and manual analysis utilities.
    • An API to make your own automatic analysis rules, display options and manual check utilities.
    • 11 shading options: “Normal”, “Binormal”, “Tangent”, “UV”, “Backfaces”, “Inverted normals”, and a lot more.
    • 5 tools which help to find mesh issues: Coincident UVs and vertices, inverted normals, mesh bounds and pivot point viewers.
    • 6 mesh analyses: “Coincident UVs and vertices”, “Inverted normals”, “Pivot out of bounds”, “UV sets missing” and “Vertices out of bounds”.
    • A «Polygons count» tool to show triangles and vertices count for all meshes associated with the selected set of objects.
    • A multiselection support to the “Sizes and bounds” tool.
    • A multiselection support to the “Checker” tool.
    • Added patcher, that helps you to clear obsolete files from old versions. (But if you update from 1.0, 1.1, 1.2 or 1.2.1 - remove old version, please.)
    • Fixed default tiling data of procedural checker texture.​
    • Fixed local bounding box position bug with scaled objects.​
    • Fixed NullReferenceException in playmode.​
    • Fixed displaying sizes of an object, that behind the camera of scene view.​
    1.3
    Remove "Assets/MeshCheckerEditorExtension/" folder before updating!
    • Added 3 types of bounding box: Local, World and World Approximated (uses renderer.bounds)​
    • Added center of bounding box gizmo and positions.​
    • Sizes on scene view now viewport-aligned.​
    • Added custom checker texture support.​
    • Added checker texture UV-tiling and UV-offset.​

    1.2.1
    • Added Unity 5.0 support​

    1.2
    • Added Unity 4.6 support​
    • Fixed bug with Play mode​
     
    Last edited: Jun 20, 2018
  2. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    Mesh Checker is now compatible with Unity 4.6 and Unity 5!
     
  3. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    Price lowered and there are two vouchers:
    ASV-W6MH-MPFM-VUCJ-6T6M-EKVE - used
    ASV-3EAK-AQRY-VYFE-MQ3E-NN7W - used
     
    Last edited: Aug 20, 2015
  4. mensch-mueller

    mensch-mueller

    Joined:
    Nov 25, 2014
    Posts:
    156
    Thanks for the voucher!

    Cheers Michael
     
  5. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    I hope that this asset would be useful for you! Please, rate and comment, it will help me to make my assets much better! :)
     
  6. mensch-mueller

    mensch-mueller

    Joined:
    Nov 25, 2014
    Posts:
    156
    Hi Hightlander!
    I saw your asset just when it comes out, and though how i can use it in an actual project, and i now have it for free, thanks! :)
    Your asset would be more helpful for me if i can switch to more useful UV-Maps like on this site: "http://blog.duber.cz/misc/custom-uv-and-tracking-maps-for-vfx-professionals"
    And different! (I think 3 different UV-Maps) perhaps the possibility to load own.
    For me your asset could be more helpful in the build-phase, when there are not the real textures on the models.
    An UV-Map with numbers is helpful, seeing how the UV is layout, which direction, or mirrored, streched.
    And i want a button where I can map the uv-tiling to one! (there is this slider, but no clue how much).
    The bounding box is really nice, it would be really helpful if we could get more options(perhaps to switch on ):
    switch to local axis of object, calculation of center point in bounding box.(the calculated numbers copyable?)
    And some minor touches: aligning of the size-measurement to camera;)

    One use case for me is: we have a project with visualization of fabric on furniture, the samples came in different sizes, and they are mostly rectangular. But they have to be scaled to fit the pieces. So every material gets his own scaling, which must be adapted to the scale of the piece and the scale of UV-Map......
    I don´t know how to achieve this in the right way, perhaps modifying your code:rolleyes:

    Cheers
    Michael
     
  7. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    Thank you for the detailed reply! I'm starting work on those features.
    I'm name the slider as "Checker tiling", but actually it is not a uv-tiling, it something like "how much white-black squares on texture". I would change this system by adding texture tiling field. ;)

    Could you describe this case in more detail? Are you mean texture tiling on material?
     
  8. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    Version 1.3 submitted to review, soon it will be available!

    Changes:
    - Added 3 types of bounding box: Local, World and World Approximated (uses renderer.bounds)
    - Added center of bounding box gizmo and positions.
    - Sizes on scene view now viewport-aligned.
    - Added custom checker texture support.
    - Added fields for checker texture UV-tiling and UV-offset.

    World aligned bounding box have low performance, but more accurate.
     
  9. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    Version 1.3 released!

    Please, remove "Assets/MeshCheckerEditorExtension/" folder before updating.
     
  10. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    Version 1.3.1 released!

    Changes:
    • Added patcher, that helps you to clear obsolete files from old versions. (But if you update from 1.0, 1.1, 1.2 or 1.2.1 - remove old version, please.)
    • Fixed default tiling data of procedural checker texture.
    • Fixed local bounding box position bug with scaled objects.
    • Fixed NullReferenceException in playmode.
    • Fixed displaying sizes of object, that behind the camera of scene view.
     
  11. satolas

    satolas

    Joined:
    Feb 13, 2017
    Posts:
    21
    Hello Hightlander :)
    Thanks for your asset, is it a very usefull one.

    I have a little question :
    It is possible to assign the checker to a mesh even if it is not selected ?
    In other words; could be nice to have the possibility to keep the checker material on one mesh even if I selected another one in the scene.

    Also, for me 1 meter its displayed with 4 squares of the checker.
    I wanted to set 1 meter = 1 square of the checker, but when I change the unit value in preferences its not changing anything, and when I come back the value seems to go back to 1m (100 cm) am I doing something wrong ? :)

    Thanks again,
    Regards
     
    Last edited: Apr 20, 2017
    Hightlander likes this.
  12. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    Hi, satolas!

    First of all, thanx for the reply and asset usage!


    I make a second version of the asset for about a year, which has many cool features:
    1. Multi selection for checker material.
    2. Multi selection for sizes.
    3. View polygons and vertices count of meshes.
    4. Mesh analysis
    • View mesh in separate window.
    • Automatic analysis for coincident UV issues.
    • Automatic analysis for coincident vertices in polygons.
    • Automatic analysis for pivot out of bounds issue.
    • Automatic analysis for vertices out of bounds issue.
    • Automatic analysis for UV0 missed.
    • Automatic analysis for inverted normals in polygon issue.
    • Many shading options for view normals, tangent, binormal, checker, backfaces, vertex color and others.
    I can send to you a beta version of MeshChecker 2.0 if you want.

    Sizes and checker tools are independent. The unit value in preferences only affects the displayed size value on a mesh bounding box. It's not possible to make checker square with 1-meter size because each mesh has unique UV mapping not based on sizes.

    I think it possible to create the shader, that will apply white or black color, based on Y coordinate in the world. I can try to make it in a weekend if you need.


    Sincerely, Hightlander.
     
    Last edited: Apr 20, 2017
  13. satolas

    satolas

    Joined:
    Feb 13, 2017
    Posts:
    21
    Hello Highlander,

    Thanks for your answer !
    Im very interrested if you could send me the MeshChecker 2.0.

    I understand about the size of the mesh.
    Maybe as you say, a kind of uniform checker spray coming from top of the world could be interresting. (scuh an epic sentence for checker ^^)

    Thanks again, I'll let you know if I have some other ideas :)
     
  14. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    Hello, Satolas!

    I sent the package link in the conversation. Documentation for the new version not ready yet, but it's quite simple to use, I think.

    Mesh analyses, mesh view tools and shading options are extendable plugins. It is possible to create new and change existing.
     
  15. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    Version 2.0.0 Released!
    Here some detailed features description:

    Sizes and bounds




    To start using this tool click the button with a ruler icon on the toolbar. An information table will appear below the panel. Now if you select objects on a scene or in the Hierarchy panel the size of a bounding box enclosing all the selected objects will be shown in the information panel. The size of a bounding box around each one of the selected objects will be displayed as well.


    Edges, a center point and axes with linear sizes of the bounding box around selected objects will be displayed. To hide this information please go to the tool settings and deselect the respective options.


    Linear dimensions can be measured along the world axes or local object axes. You can choose between them using a drop down list in the right part of the information table header.


    You can change units of measurement, displayed precision and color of a bounding box lines in “Edit → Preferences… → Mesh Checker”.



    There are four units of length to choose from: meters, centimeters, feet and inches. It is also possible to change the ratio of a chosen unit of length to the Unity’s generic unit. 1 unit equals 1 meter by default. The “Precision” slider controls how many digits are displayed after the decimal point in the information table and in the labels inside the scene.



    This instrument allows an existing object to be placed, or a new object to be created at the center of the volume. To do that you can copy center point coordinates by clicking “Instrument options → Copy center Transform” and then pasting it to the Transform property of a desired object. Another way is to create a new object by clicking the “Create GO in center” button.

    Polygons Count




    To use this tool click the button with a triangles icon. This tool will count triangles and vertices for meshes associated with each of the selected objects. All information will be displayed in a table below the tool selection panel.

    To sort table rows by name, triangles count or vertices count click on a columns’ headers.

    If you click on an object’s name in the information table that object will be highlighted in the Hierarchy or Project windows.

    Checker




    To start using this tool click the “UV” button.

    This tool is intended to swap an object’s texture for a customizable checker texture in order to detect problems with UV-mapping. Once you finish using this tool all the affected materials will be reverted to the original state.


    To apply a procedurally generated checker texture please select “Procedural” option in the “Checker texture” drop down list.

    Available options:

    • Texture size – size of the sqare texture. Available sizes: 32, 64, 128, 256, 512, 1024, 2048.

    • Pattern density – how many black and white checks are going to be generated. Higher frequency — more checks will be placed on the texture.

    • UV-tiling – texture tiling.

    • UV-offset – texture offset.



    To apply your own custom texture select “Custom” option in the drop down list.

    Available options:

    • Texture – custom texture. Drag and drop a desired texture here or pick it from the list.

    • UV-tiling – texture tiling.

    • UV-offset – texture offset.

    To apply the checker texture to the selected object click the “Set Checker” button. To go back to an original texture click the “Remove Checker” button or select another object (unless “Set checker auto” option is enabled).

    The “Set checker auto” option enables automatic checker on select mode. The checker texture will be applied to every selected object automatically.


    By default, object selection highlight lines are not drawn when using this tool. This behavior can be changed by selecting the “Draw wireframe with checker” flag in the extension’s settings (Edit → Preferences… → Mesh Checker).

    Mesh Analysis




    To use “Mesh Analysis” select the rightmost instrument on the toolbar.


    Once some objects are selected this tool will automatically start multi-threaded analysis of the appropriate meshes. You may select objects on a scene or any other objects in your project without adding them to the scene.

    There are four possible states for each analysis:

    • Gray – analyses have not been completed yet.

    • Green – analyses have been completed. No errors or warnings were detected.

    • Yellow – analyses have been completed. No errors were detected, but there are one or more warnings.

    • Red – analyses have been completed. Errors and possibly warnings were detected.



    It is possible to expand an analysis table entry if it contains any errors or warnings. The expanded view displays main information about the warnings and errors such as message text or custom info depending on an analysis implementation. Some messages open a Manual Analysis window with an appropriate shading options and tools. If you click on a mesh entry’s header, it will open the Manual Analysis window as well.



    Automatic analyses
    Coincident UV
    Result
    Error

    Conditions detected
    This rule detects triangles that have identical UV coordinates of two or three vertices in, at least, one UV set.

    Coincident Vertices
    Result
    Error

    Conditions detected
    This rule detects mesh surface errors. The analysis finding any triangles with coincident or very close to each other vertices completes with an error result.

    Inverted Normals
    Result
    Error

    Conditions detected
    This rule detects problems with vertex normals. Triangles that have any of its vertex normals angled to a triangle normal more than 90 degrees are considered problematic.

    Pivot out of bounds
    Result
    Warning

    Conditions detected
    Pivot point is outside the bounding box of a mesh.

    UV Exists
    Result
    Error

    Conditions detected
    A mesh has no UV sets defined.

    Vertices out of bounds
    Result
    Error

    Conditions detected
    A mesh has one or more vertices outside it’s bounding box.
     
  16. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    Manual Analysis




    This tool provides additional display options and instruments to further help with mesh analysis tasks.




    Display options discovered in the assemblies or separate scripts are displayed in a drop down list. Each display option depending on an implementation may have additional settings and a detailed description.




    The next drop down list contains instruments discovered as an assembly or separate scripts in the project.

    A UI for a selected instrument depends on an implementation and is displayed to the right.




    There is a mesh’s name caption and a lighting mode switch at the right side of the toolbar.



    Shading options
    Checker

    Description
    This mode applies a checker texture to a mesh. It helps detecting flaws in texture maps.

    Settings
    Available options are the same as in the main window’s Checker tool.

    Alias
    ShadingOptions.Checker


    Normals


    Description
    This option displays normals of a surface. These normals are utilized in a various lighting procedures and other effects. This option is suitable to detect edge hardness errors and wrong normals directions.

    Settings
    None.

    Alias
    ShadingOptions.Normals


    Tangents


    Description
    This option displays surface tangents. Tangents are used in lighting shaders and other effects. This option is suitable to detect edge hardness errors and wrong tangents directions.

    Settings
    None.

    Alias
    ShadingOptions.Tangent


    Binormal


    Description
    This option displays surface binormals. Binormals are used in lighting shaders and other effects. This option is suitable to detect edge hardness errors and wrong binormals directions.

    Settings
    None.

    Alias
    ShadingOptions.Binormal


    Inverted Normals


    Description
    This option highlights surfaces which normals are approximately codirectional to a view direction. This may indicate that an error in vertex normals, triangle normals or an edge hardness error takes place.

    Settings
    None.

    Alias
    ShadingOptions.InvertedNormals


    Purple Backfaces

    Description

    All backfaces will be colored purple to quickly identify triangles with wrong normals (wrong vertices enumeration order).

    Settings
    None.

    Alias
    ShadingOptions.Backfaces


    UV


    Description
    This shading option colors each point of a mesh depending on its UV coordinates. Black – (0, 0); Red – (1, 0); Green – (0, 1); Yellow – (1, 1)

    It helps to identify errors in UV sets.

    Settings
    None.

    Alias
    ShadingOptions.UVCoordinates


    Vertex Color


    Description
    This option makes color of each vertex prominent. It might be useful to detect if a model has incorrect vertex colors.

    Settings
    None.

    Alias
    ShadingOptions.VertexColor


    Submesh Color


    Description
    This shading option makes every submesh to have its own color. Typically submeshes are grouped based on their materials. Colors are pregenerated but can be changed in the Settings.

    This mode is useful for detecting mesh grouping errors.

    Settings
    • Colors that are used to denote submeshes. The number of colors available for customization equals the number of submeshes.
    Alias
    ShadingOptions.SubmeshColor


    Custom Materials


    Description
    In this mode custom materials are used to display the model.

    Settings
    • Materials that are used to display the model. The number of materials available for customization equals to the number of submeshes.
    Alias
    -


    Shading option groups
    Mesh Usages


    Description
    This group consists of all material combinations discovered in prefabs and scene objects that contain the analyzed mesh.


    Instruments
    Coincident UV viewer


    Description
    This instrument helps examine UV errors. Triangles that have identical UV coordinates of the two or three vertices in at least one UV set will be highlighted according to a chosen mode: wireframe or color fill.

    While viewing a particular triangle an information windows will be shown. This window contains information about UV coordinates and available UV sets.

    UI
    There are three modes to highlight a triangle: don’t show anything, show wireframe, show wireframe and fill.

    To show all other triangles while viewing a particular triangle click the “Show all” button.

    To go to the next/previous triangle use the “<” and “>” buttons or keyboard arrow keys. To go back to the model view click the triangles count indicator.

    Alias
    Tools.CoincidentUVs


    Coincident Vertices viewer


    Description
    This instrument shows mesh surface errors. Each triangle with close to each other or coincident vertices will be highlighted according to a chosen mode: wireframe or color fill.

    An information window listing vertex coordinates will be shown for each triangle being examined.

    UI
    There are three modes to highlight a triangle: don’t show anything, show wireframe, show wireframe and fill.

    To show all other triangles while viewing a particular triangle click the “Show all” button.

    To go to the next/previous triangle use the “<” and “>” buttons or keyboard arrow keys. To go back to the model view click the triangles count indicator.

    Vertices proximity detection distance is controlled by the slider element.

    Alias
    Tools.StuckPolygons

    Inverted Normals viewer


    Description
    This instrument helps viewing detected errors with vertex normals. Each triangle with vertex normals angled to the triangle normal more than 90 degree will be highlighted according to a chosen mode: wireframe or color fill.

    While viewing a particular triangle normals are colored in the following way: Red – angled more than 90 degree, Green – less than 90 degree, Blue – triangle normal.

    UI
    There are three modes to highlight a triangle: don’t show anything, show wireframe, show wireframe and fill.

    To show all other triangles while viewing a particular triangle click the “Show all” button.

    To go to the next/previous triangle use the “<” and “>” buttons or keyboard arrow keys. To go back to the model view click the triangles count indicator.

    Length of the normals is controlled by the slider element.

    Alias
    Tools.ViewInvertedNormals

    Bounds viewer


    Description
    This instrument shows bounding box of a mesh and it’s vertices inside and outside the bounding box. Sometimes some vertices or a part of a surface may appear outside the bounding box due to mesh transformation or script generation when the bounding box was not recalculated. This may lead to problems with rendering and occlusion culling in runtime.

    UI
    Options to show/hide vertices inside/outside a bounding box.

    Alias
    Tools.ViewBounds

    Pivot Point viewer


    Description
    This instrument shows a mesh pivot point.

    The pivot point may fall outside the mesh bounding box after import process. Sometimes this might be done deliberately to ensure the model is positioned and rotates correctly. However, usually this is an error and leads to various problems with positioning, rotation, animation, etc.

    UI
    No settings available.

    Alias
    Tools.ViewPivot
     
  17. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    New release with some UX & UI improvements!

    ## [2.1.0] - 2018-04-16

    ### Added:
    • Usage hints to main tools.
    • Resources Not Exists issue handling.
    • Roboto font for some messages.
    • Wireframe drawing option to shading options as property.
    • RepaintEvent to the MeshAnalysisWindow.
    • ReloadStylesEvent to MCGUI.
    • ConfigureMaterial call to BasicShaderShadingOption.
    • DrawMesh method with scale argument.
    • MCGUIIcons class.
    • MCHandles helper class.
    • Scopes for the GUI Layout (Vertical, Horizontal)

    ### Changed:
    • Icons moved from MCGUIStyles to MCGUI.Icons, old properties marked as obsolete.
    • Plugins folder renamed to 'MeshChecker Plugins'.
    • Sizes and bounds cache now not cleared on calculation ending. This should help to remove blinking in GUI.

    ### Fixed:
    • Camera jumps on freeze.
     
  18. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    New release with UX improvements, Wireframe shading option, and updated Normals shading option!

    wireframe.png

    ## [2.2.0] - 2018-04-22

    ### Added:
    • Wireframe shading option;
    • BumpMapping to the Normals shading option;
    • Wireframe toggle to the Normals shading option;
    • Description and alias info to the Normals, Binormal, Tangent, Checker, CustomMaterials, InvertedNormals, PurpleBackface, SubmeshColor, UV, VertexColor, Wireframe shading options;
    • Moving camera in MeshAnalysis window;
    • Focusing on the object when the 'F' key pressed;
    • Navigation hints in the MeshAnalysisWindow;
    • 'None' tool when one or more tools exists in the MeshAnalysis window;
    • MeshAnalysis window maximization;
    • SaB units settings to the tool settings popup;
    • A hotkey info to the toggle maximized button tooltip;
    • GetObjectCenter() method. Now possible to get object center in the MeshAnalysisWindow; - EnabledScope to the MCGUI class;
    • Warning and Ok colors to the MCGUI class;
    • ShadingOption description helper utilities;
    • SetToolName(string) protected method to the MeshAnalysisTool;
    • ColoredVerticalLine, RobotoLabel, RobotoLabelBold, RobotoLabelBoldWhite styles.

    ### Changed:
    • The ErrorGUIColor property now is ErrorColor. ErrorGUIColor marked as obsolete;
    • A Wireframe property now can be overridden in shading options;
    • Shading options order. Binormal and Tangent options pushed on top of the list.

    ### Fixed:
    • Variable naming in the InvertedNormals shader;
    • PackageImportIssues now do not invoke an additional GUI reloading on awake.
     
  19. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    The new release brings SkinnedMeshRenderer support, Sizes And Bounds tool UX improvements and Collider Utilities.
    Collider Utilities allow you to add a BoxCollider with calculated sizes to the selected object.

    sab_panel_collider_utilities.png

    ## [2.3.0] - 2018-06-16

    ### Added:
    • Support of the SkinnedMeshRenderer;
    • MeshFilter abstraction;
    • Collider utilities to the Sizes And Bounds tool;
    • The expandable container which can be used to animate expanding and collapsing a group of elements;
    • Vector3 extension method (GetOneDividedBy) which helps to get a vector with components that are computed by dividing one by the specified vector components;
    • Centered Roboto label style.

    ### Changed:
    • Animation of list items is now smoothed;
    • Settings of Sizes And Bounds tool and transform utilities splitted and moved to SAB utilities panel.
     
    Last edited: Jun 21, 2018
  20. jeromeWork

    jeromeWork

    Joined:
    Sep 1, 2015
    Posts:
    429
    I tried an email to the developer but no reply after 3 days so thought I'd try here so see if anyone else can chime in...

    I like the look of this asset but without the functionality to enable you to actually fix the errors reported, it seems of limited value... Am I missing something?

    It's easy enough on a cube (as shown in the demo videos) to highlight the problematic vertices or tris, and then find them again in an external 3D package like Maya or Blender, but that isn't going to cut it where errors number 2k+ (as in the Blacksmith example shown at the end of the Mesh Analysis video) How useful is it to know that a wall has inverted normals in 2082 triangles, and have them highlighted in a custom editor window, if I then have to find them again and fix them in a separate tool?

    Could a current user explain the workflow for me?

    I'm also looking at Mesh Editor (https://assetstore.unity.com/packages/tools/modeling/mesh-editor-20476) or Mesh Deformation ( https://assetstore.unity.com/packages/tools/modeling/mesh-deformation-full-collection-47061) as possible options to fix these reported errors in the Unity Editor - but as far as I can tell, I'd still be have to change to another custom Inspector window (without the MeshChecker highlights), and have to re-find the problematic areas...
     
  21. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    Excuse me, sir, that I did not respond to the email!

    This asset cannot fix issues as you say and don't provide tools for mesh editing because of the impossibility of changing *.fbx data.
    To correct errors, the hypothetical tool needs to generate a new mesh, provide GUI for editing, save mesh, and correct all references on the scenes. This is a complex and not easy task which solved by other assets on the store.

    The story of creating MeshChecker is such that I, as a developer of interactive visualizations, received poor-quality 3D models at the input and I needed a way to find errors and return models back to fix in the 3d editor.

    UPD: From my experience, it is better to correct errors in the source files of 3D models, which cannot be achieved with assets in the store or with your own editor extensions. (Correct me if I'm wrong)
     
    Last edited: Nov 29, 2018
  22. jeromeWork

    jeromeWork

    Joined:
    Sep 1, 2015
    Posts:
    429
    Hi @Hightlander , No worries, I totally understand that you can't always reply right away.

    I see where you're coming from. Unfortunately I don't have the luxury of being able to just return the 3D models for further work by a modeller :)

    Maybe you could get in touch with Alan Baylis (the MeshEditor dev) and somehow combine your analysis tools into his mesh editing asset. Now that would be a killer asset!
     
  23. Source-technology

    Source-technology

    Joined:
    Dec 2, 2016
    Posts:
    21
    How can I check the UV2 of a model?
     
  24. Hightlander

    Hightlander

    Joined:
    May 30, 2013
    Posts:
    30
    Currently, it is not possible to check uv2 manually in a checker-texture way.
    The "Coincident UV" analysis checks all UV sets and notifies you when it detects issues, then triangles with issues will be displayed by "Coincident UV" tool in the manual analysis window.
    If you need I can make a custom shading option for MeshChecker to display checker texture which will use a uv2 set.