Search Unity

[RELEASED] Mesh Master Esential Tools For Working With Meshes

Discussion in 'Assets and Asset Store' started by Phong, Apr 3, 2013.

  1. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086


    Essential tools for working with meshes. Helps visualize, troubleshoot and correct meshes. If you have ever wasted an hour trying to discover why a mesh is not displaying correctly or tried to build a procedural mesh, you will wish you had Mesh Master.

    asset store link

    • Bake/Freeze transform (correct scale, rotation, origin on imported models)
    • Visualize normals, tangents, face normals and bones
    • Generate a UV image
    • Split vertices
    • Flip face normals
    • Label vertices and faces
    • Select and move vertices, faces and edges
    • Save meshes as assets

    [video=youtube_share;nmvkFWJmcdM]http://youtu.be/nmvkFWJmcdM

    How To Use Mesh Master

    Add a Mesh Master component to any game object that has a MeshFilter, MeshRenderer or a SkinnedMeshRenderer component attached.

    Component -> Mesh -> Mesh Master

     
    Last edited: May 1, 2013
  2. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    Mesh Master is available for a limited time for an introductory price of $15!
     
  3. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Hi, is it possible to perform any features in-game like Mesh Baker ?
     
  4. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    No, it is really an editor only tool.
     
  5. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Hi Phong,

    I am considering of buying either MeshBaker2 or MeshMaster. Can you help explain the difference between these two products ?
     
  6. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    Mesh Master is a tool for helping troubleshoot (and sometimes fix) meshes. It provides more information on what the mesh contains than the built in Unity tools this is very useful if you are building meshes procedurally or trying to figure out why a shader displays incorrectly on a mesh. It does some useful things like:
    • allows you to save a mesh as an asset,
    • Print a UV layout,
    • Bake a transform on a single mesh.

    It does NOT provide any tools for combining meshes.

    =========
    Mesh Baker does two things that are very important for optimizing scenes:
    • Builds atlases (explained here)
    • Combines meshes and modifies meshes so they can be combined
    Basically if you have a scene with 2000 objects in it which would generate 2000+ drawcalls. Mesh Baker helps you combine those so you end up with perhaps 50 or so objects or 50+ drawcalls.

    I would recommend looking at http://digitalopus.ca there are some short youtube videos that shows how each tool works.
     
    Last edited: Apr 13, 2013
  7. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    Version 1.3 is now available in the Asset Store. It includes a new feature:

    Fix Overlapping Submeshes

    The feature splits vertices that are shared between submeshes so that each submesh is independent of other submeshes. This is useful when combining meshes such as with MeshBaker.
     
  8. pcg

    pcg

    Joined:
    Nov 7, 2010
    Posts:
    292
    Hey Ian,

    I've purchased Mesh Master but I cant seem to get the Selection tool to work on my mac.
    When I click selection nothing changes in the Scene (ie no vertex points display as per video) and Drag to select is simply moving the scene around.

    I've created a capsule, saved as Mesh Asset, dragged new mesh asset into scene and added Mesh Master component and selected Selection but problem as above.

    Currently using unity 4.1.5
     
    Last edited: Aug 16, 2013
  9. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    Looking into the problem. Will update here when I know more.
     
  10. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    I am unable to reproduce the problem. I downloaded 4.1.5 on my Mac Mini. Imported MeshMaster. Created a capsule. Saved it as an asset. Dragged it into the scene. Added MeshMaster. Clicked "Selection" and markers showed up on the vertexes. I was able to select and translate the vertices?

    Were there any error messages?

    Also note that the normal unity navigation tools (Pan, Dolly, Zoom) don't work when Selection is enabled. If you click anything but the "hand" tool it kicks you out of "selection" mode. To Pan, Dolly and Zoom when in selection mode you need to hold down [ctrl]. Perhaps this is the problem.
     
    Last edited: Aug 17, 2013
  11. quydoau

    quydoau

    Joined:
    Jul 2, 2012
    Posts:
    31
    Hi, does "Select and move vertices, faces and edges" work on animated character and preserve its animation? I'm only referring to minor fixed up not heavy changes to the mesh.
     
  12. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    You can do this but it is a little tricky. What you need to do is create a game object with a MeshRenderer/MeshFilter on it. Drag your skinned mesh to the MeshFilter. You can then modify its vertices with all the mesh master tools. When you save this you can use it with a SkinnedMeshRenderer component. All bone information will be preserved (not modified) so your animations should still work as long as you haven't moved vertices so far that they should belong to a different bone..
     
  13. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    Modifying a SkinnedMesh directly doesn't work because the vertices you see in Unity have been transformed by the bones. Trying to modify them just makes a mess. The workaround is to add your skinned mesh to a MeshFilter. Then you can see it in its bindpose and modify that.

    1) Create a new empty game object add a MeshFilter and MeshRenderer.
    2) Drag the mesh asset from your SkinnedMeshRenderer object to the MeshFilter. Note that if your the skinned mesh is not a standalone mesh asset you will need to use "Save Mesh As Asset" first.
    3) Now you should see your skinned mesh in its original bindpose. Add a MeshMaster component and make the changes you want.
    4) Drag the modified Mesh bake to the mesh slot in the SkinnedMeshRenderer.
     
  14. pcg

    pcg

    Joined:
    Nov 7, 2010
    Posts:
    292
    Hey Phong, sorry for the late reply.

    I did a little digging around and found that in MUtil_MeshMasterEditor, currentTool was coming back as null even though I had followed the steps correctly (to the best of my knowledge). I was able to hack around with the code and get what I wanted out of it but I'm not sure why currentTool was coming back as null as my numerous Debug attempts suggested everything was fine with currentTool until the code got to OnSceneGUI. Hope this helps.
    If I get time to do some more digging I'll get back to you.

    Thanks
    Simon
     
  15. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    Very strange. Thanks for the information. I will take another look and see if I can see what is going on.
     
  16. pcg

    pcg

    Joined:
    Nov 7, 2010
    Posts:
    292
    Hey Phong,

    I managed to get to the bottom of the problem which was due to me having two instances of the Inspector window open.
    When I closed one of these and reopened the project everything worked fine :)
     
  17. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    Thanks for the reply. It makes sense now that I wasn't able to reproduce the problem. I didn't think to test for that. I will try to add something to detect this situation and print an error message or something.
     
  18. pcg

    pcg

    Joined:
    Nov 7, 2010
    Posts:
    292
    To be honest I wouldnt worry about it, seems like more of a Unity gotcha than something you are doing wrong but its nice to know the solution should anyone else ever have the problem. If you did want to look at a fix then I found static vars for key variables did the job.

    BTW Congrats on a great little tool and thanks for spending the time to look into my problems.
     
  19. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    605
    Hi Ian,

    I'm interested in utilizing the UV atlas generation here in Mesh Master along with Mesh Baker's baking capabilities to help with creating textures for baked/combined meshes. Can I generate a UV map for a baked mesh so that only externally facing vertices show up on the map?

    Thanks in advance!
     
  20. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    I don't think it will do what you want.

    Not sure if this is what you are asking but I wouldn't recommend doing a UV unwrap operation after meshes have been combined to use an atlas. The reason is that the unwrap doesn't know that the the UVs have already been adjusted to use an atlas.

    The UV generation is basic. It is a wrapper for the Unwrapping class in the Unity API. Unity doesn't provide source so you won't be able to tinker with the code.
     
  21. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    605
    No worries. It was worth looking into. :) I suppose I can just create the materials for the separate meshes, then use Mesh Baker to generate the combined atlas and material post-baking. Thanks for the clarification!
     
  22. unicoea

    unicoea

    Joined:
    Feb 18, 2013
    Posts:
    60
    can Mesh Master can save vertex's movement to some kind of animation asset file? then replay it? just like build vertex animation in max?
     
  23. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    Not out of the box. You could save the mesh in a bunch of different states as "keyframes", but you would need to write your own script to interpolate the states between the keyframes.
     
  24. unicoea

    unicoea

    Joined:
    Feb 18, 2013
    Posts:
    60
    It will work, thanks for the advice for vertex animation.
     
  25. BigDill

    BigDill

    Joined:
    Jan 1, 2013
    Posts:
    31
    Hi Ian,

    Thinking about getting your asset but can I check if it will solve a problem I have currently.

    I have created a bunch a procedural spheres and as you can imagine I get seams and this is because I have overlapping verts and the normals/tangents are slightly different which throws the lighting and viola! We have seams.

    I know I could write a script but coding is not my strength and was wondering if your asset will allow me to change the tangent and normal data associated with vets and triangles or whole edges?

    If not would you consider adding this in a future update?

    Thanks.
    Dan
     
  26. Phong

    Phong

    Joined:
    Apr 12, 2010
    Posts:
    2,086
    The tool does has a button to generate normals and generate tangents for an entire mesh. You can also select an edge and split the normals for that edge. But it does not let you edit them individually.

    To be honest I doubt that I will get around to adding this feature as I am very busy. I would like to add features to make exporting meshes easier so that it easier to export Unity meshes for modification in an external program.
     
    Boomer_McBooms likes this.
  27. jococo

    jococo

    Joined:
    Dec 15, 2012
    Posts:
    232
    Can this tool remove unused verts?
     
  28. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I'm having the same problem on my mac that the previous user from 2013 is having. Selection just doesn't work at all.