Search Unity

  1. All Pro and Enterprise subscribers: find helpful & inspiring creative, tech, and business know-how in the new Unity Success Hub. Sign in to stay up to date.
    Dismiss Notice
  2. Dismiss Notice

Mesh Terrain Editor, a mesh-based terrain creator, converter and editor

Discussion in 'Assets and Asset Store' started by zwcloud, Apr 10, 2016.

  1. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Mesh Terrain Editor
    a mesh based terrain creator, converter and editor
    cover.jpg

    >>> Join the Discord Server to download latest beta versions! <<<​

    Introduction
    Mesh Terrain Editor(MTE) has three main functions:
    • MTE Creator: create mesh-based terrains.
    • MTE Converter: convert or split Unity3D's terrain object into a mesh-terrain.
    • MTE Editor: edit a mesh-terrain: height tools, texture painter, vertex color painter, grass painter.
    40+ terrain shaders are included.
    Only one drawcall is needed to render a mesh-terrain with 2 to 5 splat-textures. You can use more than 5 splat-textures by tiling mesh-terrains: MTE supports editing multiple mesh-terrains together.
    • compatible with Unity 2017.4+, tested on 2017.4, 2018.4, 2019.1, 2019.2, 2019.3, 2019.4 and 2020.1
    • compatible with Win7/10 and macOS 10.13+ (tested on macOS Catalina)
    • compatible with built-in pipeline and LWRP/URP
    • URP shaders are written with Amplify Shader Editor for easier customization
    What's new
    v3.8.0f1 Nov. 8, 2020
    Free Trial & Buy
    Free vs Pro: https://zwcloud.net/#project/mte/features
    Download directly (Recommened as this always provides the latest package.)
    On Asset Store:

    According to Unity asset store EULA 2.4, as an editor extension, MTE Pro uses a per-seat license, so you need to activate MTE Pro on your machine with the invoice number.
    Only the number is needed! Don't input IN,OR or other non numeric characters.
    In the pdf file attached in an email sent from Unity3D after you parchase the asset. The subject of the email is "Unity Asset Store purchase confirmation".
    invoice_number.png

    Online Documentation
    https://zwcloud.github.io/MeshTerrainEditor-issues/

    Issue Tracker
    https://github.com/zwcloud/MeshTerrainEditor-issues/issues

    MTE Creator
    Create a mesh-terrain directly or multiple tiled mesh-terrains at once. You can create a mesh-terrain as a plane, from a height-map and from a curve.
    UI


    MTE Converter
    You can convert a Unity's terrain object or a mesh into a mesh-terrain, which is just a mesh with a special terrain shader.


    UI


    Output files
    • 1/2 control/alpha textures(.png)
    • 1 mesh file(.obj)
    • 1 prefab file.(optional for mesh converter)
    • 1 material file
    The material
    • legacy diffuse

    • legacy bumped diffuse
    • legacy specular
    • standard
    • LWRP
    • URP

    MTE Editor
    You can edit mesh-terrains just like terrains. The height, texture and vertex colors are editable. You can also edit the mesh by directly moving vertices sideways and cutting holes with the mesh toobox.

    Every editing operation is undoable! Press PageUp/PageDown(on Mac: Fn+↑/↓) to undo/redo.
    With MTE editor, you edit multiple mesh-terrains together.

    Height Tools
    • Raise and lower
    • Paint height
    • Smooth height
    Vertex Color Painter


    Textures Painter



    Grass Painter



    Object Painter



    Mesh Toolbox (Pro feature)
    • Move vertices sideways

    • Cut holes

    Video
    YouTube


    History
    >>> Join the Discord Server to download latest beta versions! <<<​
     

    Attached Files:

    Last edited: Nov 8, 2020
    Wavinator likes this.
  2. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    I would greatly appreciate any ideas, thank you!
     
    Last edited: May 19, 2016
  3. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Can you use your own shaders and can you cut holes(neat, undoable) in the mesh? Can you displace vertices sideways? Will the operation retain texture information?
     
  4. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    1. Use custom shaders
    Sure, but the shader's path should contain the text "MTE", so that MTE can figure out it.

    2. Cut holes(neat, undoable) in the mesh
    I will absolutely make it for you!!!
    You are the first one respond to this post and I'm so glad someone pointed out what they want from MTE.

    3. Displace vertices sideways
    The same as 2.

    All operation will retain texture information (You mean the texcoods, right?).

    EDIT:
    MTE's working flow has been tested in a real project. I modified T4M when working on a mobile game project so it can be used in Unity5 and added functions to it so it can draw textures and modify heights of the vertices. MTE is based on that experience.
     
    Last edited: Apr 16, 2016
  5. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Well i'm looking for a process that is automated as possible and uses a few elements - terrain generated by using gaia to create a base heightmap, map magic to process the heightmap and add terrain details then I can revert and make changes safely. I would like to be able to make a mesh with this kind of tool to overcome limitations of a regular terrain - no holes and an inability to create caverns and out croppings

    If it retained the texturing from the previously created terrain splats then that could make this a really useful tool
     
  6. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    For the time being, MTE can only retain first 4 splat texture and the first alpha/control texture when converting a Unity3D terrain object to mesh. If this is not enough for you, I'll improve MTE so that it can retain more than 4 splat textures - maybe 8 or 12.
     
  7. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    I haven't used gaia or map magic so I'm not sure if they use Unity's terrain object or some kind of custom data.
    I'm looking into them now.
     
  8. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    OK, I find it out. Since Gaia and Map Magic work with Unity terrain object, there is no problem now. Just wait for my next release.

    New features that will be added in next version of MTE:
    1. Cut holes in the mesh
    2. Displace vertices sideways
    3. Retain first 12 splat texture when converting unity terrain object.
     
  9. Max1982

    Max1982

    Joined:
    Oct 16, 2014
    Posts:
    133
    Hi
    1) how MTE works on mobile devices with MTE shaders? Does it reduce draw calls compare to Unity terrain?
    2) I used T4M package for a while, does MTE includes the same shaders like T4M (only different names)?
    3) Does T4M shader will work with MTE?
    Thanks
     
  10. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Hi @Max1982 ! Thanks for your attention.:)

    1. MTE's output is just a mesh with a simple CG shader that samples color from the four splat textures and combines those colors according to the alpha/control texture. So the performace is as good as a mesh that has the same number of vertices and indices. So it surely reduces draw calls compared to Unity's terrain object.
    MTE-mesh.png

    2. No, MTE doesn't and won't include the same shaders like T4M using only different names.

    3. No, but I think there is no problem after some proper modification. I haven't looked into every shader provided by T4M but one called "T4M 4 Textures". Now only one simple shader is provided by MTE, which is similar to "T4M 4 Textures" provided by T4M. More useful shaders will be added in next version.
     
    Last edited: Jun 19, 2016
  11. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Progress:
    1. Cut holes in the mesh 20%
    2. Displace vertices sideways 20%
    3. Retain first 12 splat texture when converting unity terrain object. 100%
    And sure you can paint textures with MTE. Not tested on mobile yet.
    4. Provide common shaders 30%
    Provide shader that makes the mesh the same looking with original Unity terrain object. Not tested on mobile yet.
    progress.png
     
    Last edited: Jun 19, 2016
  12. wallen

    wallen

    Joined:
    Jul 29, 2010
    Posts:
    14
    支持一下,很实用的工具
     
  13. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Progress:
    1. Cut holes in the mesh 90% Undo/redo function is ready!
    2. Displace vertices sideways 90% Undo/redo function is ready!
    3. Retain first 12 splat textures when converting unity terrain object. 100%
    Undo/redo function for painting textures is ready!

    And sure you can paint textures with MTE. Not tested on mobile yet.
    4. Provide common shaders 30%
    Provide shader that makes the mesh the same looking with original Unity terrain object. Not tested on mobile yet.
    Unity_2016-05-02_20-12-49.png
    I'm now improving the convenience of the two mesh tools.
     
    Last edited: Jun 19, 2016
  14. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Draft package is submitted to unity asset store team. Waiting for their approval.
     
  15. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    MTE 2.0 pubilshed. http://u3d.as/oWB
    I'll update the information here after I get off work.

    Sorry for the late release. I'm very busy in May.

    Information here is updated.
     
    Last edited: May 18, 2016
  16. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    MTE v2.1 published! http://u3d.as/oWB

    What's new:
    Now you can convert a 5-texture terrain object to a 5-texture mesh which uses a single drawcall on target 2.0. And sure the mesh can be edited with MTE v2.1.
     
    Last edited: Jun 14, 2016
  17. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    MTE v2.2 published!

    Change log:
    Mesh-terrain mode added.
    1. Several single-pass shaders are added to optimizing the rendering performance and compatibility on mobile platforms.
    2. Converting and editing functions are updated for single-pass mesh-terrains.
    Single pass drawcall: 1
    SinglePassDrawCall.png
     
    Last edited: Jun 19, 2016
  18. Jenzo83

    Jenzo83

    Joined:
    Oct 22, 2013
    Posts:
    30
    Hi! I just purchased your tool and it works good for my workflow. I have some feature requests though...

    - It seems like I can't paint the height of the mesh if I don't use your shaders. I would really much be able to use whatever material I want. (I use Vertex Paint for blending my textures.)
    - If you throw in a vertex painter in the tool, it would be the best tool ever! A lot of people use vertex colors for their blend materials, especially for mobile.
    - A softness value when raising and lowering the vertices.
    - Undo mesh paint strokes.

    I hope you continue to develop the tool, it has great potential.
    Best regards
    Jenz

    Edit:
    I'm currently using Ikari vertex painter to mask out my textures. But it creates extra meshes and stuff so it would be much better to have it integrated in your tool!
    https://www.assetstore.unity3d.com/en/#!/content/24645
     
    Last edited: Jun 15, 2016
  19. Jenzo83

    Jenzo83

    Joined:
    Oct 22, 2013
    Posts:
    30
    There is a shader error in the preview shader when building to Android. :(

    Shader error in 'Hidden/MTE/PaintTexturePreview': 'Matrix' : syntax error syntax error at line 23 (on gles)

    Compiling Vertex program
    Platform defines: UNITY_NO_DXT5nm UNITY_NO_RGBM UNITY_NO_SCREENSPACE_SHADOWS UNITY_NO_LINEAR_COLORSPACE UNITY_ENABLE_REFLECTION_BUFFERS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_NO_FULL_STANDARD_SHADER UNITY_PBS_USE_BRDF2 SHADER_API_MOBILE
     
  20. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Hi @Jenzo83
    Thanks for your purchase! I'm vary grateful for your feedback.

    Currently the editing functions are cupled with the shader. (I won't know this is annoying if you don't point it out.) They should be decupled in next version.

    Vertex color painting, OK. This function was once included in an early development version of MTE but was abandoned when releasing the first version of MTE. I will add it back in next version for you. I'll look into the Ikari vertex painter, thanks for providing that infomation.

    The shader error of the preview shader will be fixed soon.

    Thanks again for your feedback! :)
    And please continue telling me what you want from MTE in the future.;)
    .
     
  21. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Hi @Jenzo83

    I have just found out a solution to the shader error. Try replace 'Matrix' with 'float4x4'.

    PS: The preview shader is only used in Editor. It is used to render brushes when painting textures. So it don't have any influence on your game.
     
  22. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,155
    I think it is the best tool in the store for converting, editing and painting mesh terrains.
    The vertex color painting is a very good addition. I would like I could export the terrain basemap to a texture to use it on mobile (best solution for performance).
    BTW are the mobile shaders S.M. 2.0 compatible?
     
    Last edited: Jun 17, 2016
  23. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Thank you!

    Yes, the vertex color painting will be added in the next version.

    It's a bit tricky to extract the exact base map from the terrain object, but I'll try. I can generate the base map myself if I can't find a way to do that, anyway.

    Yes, the mobile shaders (used in the single-pass mesh-terrain) have a sub-shader with `#pragma target 2.0`, so I think they are S.M. 2.0 compatible.
     
  24. Zefalcon

    Zefalcon

    Joined:
    Jun 17, 2016
    Posts:
    7
    Can the Mesh-Terrains be rotated? The built-in Unity Terrains can't, so I'm looking for something that does.
    Also, I'm trying to do procedural generation, so I'm wondering if the height-editing tools can be accessed through code, or, alternatively, if the converter can be used at runtime so I can use my existing code.
     
  25. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Hi @Zefalcon,
    Yes. The Mesh-Terrain can be rotated. It is just an editable mesh.
    rotated-editing.png

    Currently the code of MTE is not provided. Procedural mesh generation is a good idea, I'll taken that into consideration in future versions.
     
  26. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Press PageUp/PageDown to undo/redo . I'm sorry I missed this point.
    The undo system of Unity3D is very slow for big object like mesh. So I have to make one myself to guarantee a good user experience.
     
  27. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Progress:
    1. All editing functions have been decupled with the shader. Some reasonable naming conventions are used instead.
    2. The vertex color painting funtion is almost done:
     
    Last edited: Jun 25, 2016
  28. Flurgle

    Flurgle

    Joined:
    May 16, 2016
    Posts:
    389
    How do you get this working with more than 33k verticies? Is that an easy fix?
     
  29. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    485
    Whoa, 2 drawcalls with 5 to 8 splats?
    I am interested! :p

    Does it stays at 2 draw calls on any terrain size?
     
    zwcloud and Flurgle like this.
  30. tillian

    tillian

    Joined:
    Jan 5, 2016
    Posts:
    11
    Would you consider a free version. I know 30 isnt a lot, but to some we cant afford that.
     
  31. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Because the mesh-terrain is just a mesh. A mesh with 33k vertices is nothing special but a little big mesh.:p
    BigMeshDrawCall.png
     
  32. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Yes. Because the mesh-terrain is just a mesh. The layered mode will be removed in next version because it seems to be useless on mobile platforms. I'm trying to support 6 or 7 splat textures and still only one drawcall in future versions.
     
    Last edited: Jun 30, 2016
  33. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Sure. The free version is being planned. You will see it soon!
     
  34. Flurgle

    Flurgle

    Joined:
    May 16, 2016
    Posts:
    389
    Cool, so a future update I might be able to edit a 500k mesh?
     
  35. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Unity3D has a limitation on vertex count. And if there are more than 65534 vertex in a mesh, Unity3D will split it into sub-meshes so each one's vertex count does not exceed 65534. I think there is no point to use so many vertex in one mesh, but I'm sure that future version of MTE can edit a mesh with no more than 65k vertices.
     
  36. tillian

    tillian

    Joined:
    Jan 5, 2016
    Posts:
    11
    Think the free version, should at-least contain the basics raise and lower, paint height, smooth tool and mesh tool. Question with the mesh tool seen is screen shot, where you only moving one vertex at a time, is there a way to select multiple vertex.
     
  37. Flurgle

    Flurgle

    Joined:
    May 16, 2016
    Posts:
    389
    Aww bummer :(

    I have a few massive meshes due to them being cinematic quality (still real time) "next gen" graphics type things. It would be amazing to be able to edit the whole mesh (even though it is broken up in 65k sections) as if it was one.
     
  38. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Don't worry. That's possible!:) I will list your request in the TODO list. As I have said: just tell me what you want from MTE, and I will make it happen for you.
     
  39. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    485
    Apart from cutting hole, can you extrude more vertices & triangles with MTE?
    While Terrain -> Mesh is possible, can MTE also convert Mesh -> Terrain?
    Proud user of Shader Forge here! :D
    Make the shader compatible & editable with Shader Forge
    (It would be lovely for us to be able to extend the shader to cater our needs, such as adding detail texture and special variations that are needed in the level!)
     
    Last edited: Jul 1, 2016
  40. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    @Gekigengar
    Below is the reply on the new forum community.unity.com, which seems to have been rolled back.

    That's possible. OK, it is in the TODO list now.

    That's possible. But I think it's a bit tricky to achieve that while not conflict with other editing functions. I'll try, anyway.

    MTE v2.3 is published yesterday. In this version, all editing functions have been decupled from the shader, only some reasonable naming conventions should be followed. For example, the property names for control(alpha) textures should be _Control and _ControlExtra.
     
    Last edited: Jul 12, 2016
    Gekigengar likes this.
  41. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    @Jenzo83
    Below is the reply on the new forum community.unity.com, which seems to have been rolled back.

    What does softness mean? There is a strength setting in the editor window. Doe this meet your requirement?
     
  42. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    Draft of MTE Pro and MTE Free v2.4 are submitted. Waiting for approval.
    ChangeLog:
    1. Add a baking basemap function. @angel_m
    2. Add a converting to Unity3D terrain function. @Gekigengar
    3. Fix several issues.
    Editor 4_extra.png
    And the free edition will be available together with the v2.4 pro edition soon. @tillian
     
    Last edited: Jul 22, 2016
    Gekigengar likes this.
  43. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
  44. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    485
    What's the limitation in comparison to the pro version?
     
  45. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    1. Only support 4 splat textures in converter and editor.
    2. No baking basemap and converting to Unity3D terrain functions.
    3. No mesh toolbox.
     
    Gekigengar likes this.
  46. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,206
    Its my problem
    tested in 5.4
     

    Attached Files:

    • 1.jpg
      1.jpg
      File size:
      163.1 KB
      Views:
      886
    • 2.jpg
      2.jpg
      File size:
      169.9 KB
      Views:
      666
  47. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    I cannot reproduce the bug on the latest Unity3D 5.4.0f3.
    Unity_2016-08-03_10-00-17.png
    I'm stilling trying to reproduce the possible bug. But maybe you can try again on the latest Unity3d version?
     
  48. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,206
    my unity is 32bit version
    i don't have 64bit version
     

    Attached Files:

  49. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,206
    yes i change dll import setting to x86 and its now work
     
  50. zwcloud

    zwcloud

    Joined:
    Mar 15, 2016
    Posts:
    346
    I'm glad that you found a solution.
    I didn't realize that someone uses x86 platform, sorry.
    I'll change the import setting to AnyCPU in future versions.
     
unityunity