Search Unity

Mad Mesh Combiner - Optimize Your Draw Calls!

Discussion in 'Assets and Asset Store' started by genail, Jun 12, 2014.

  1. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Mad Mesh Combiner
    Combines Meshes and Materials

    Now available in the Asset Store!


    Asset Store | Support | Previous WIP Thread
    Features
    • Combines multiple objects into one, just select them and click the "Combine" button
    • Merges multiple materials into one using atlases*
    • Support for tiled materials
    • Scripts and colliders from source objects are preserved
    • Merging bump maps
    • You can toggle between merged and source objects to change how merged mesh looks like even after merging
    • No scripting abilities required!
    • Under active development!**
    * - When merging into one atlas/material is not possible, Mad Mesh Combiner will create two or more materials. It is based on variation of selected objects.
    ** - If you'll find a issue please write to us! We will fix the issue ASAP!



    How it compares to other combining tools available in the Asset Store?

    • It's easy! Many tools in the asset store has been created for people who have great knowledge about Unity meshes and materials. With Mad Mesh Combiner you don't need to know nothing more than there are objects that you want to combine.
    • It has been tested in production. With this tool we've created large number of levels in our Train Control game. We know how to make mesh combining easy!
    • It is actively supported. There are still plenty of features that we will add very soon. Have an issue? Just write to us!
    • We have experience with Unity Editor scripting. Until now we've released Energy Bar Toolkit and Mad Level Manager. Both scripts have 5/5 rating. We don't want Mad Mesh Combiner to be worse :)

    The future

    • Ability to setup optimal vertices count (meshes will be combined to bigger ones, but not bigger than given vertices count)
    • Dynamic mesh merging
    • Support for sub-meshes
    • Support for skinned meshes
     
  2. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    The new version of Mad Mesh Combiner has been released! (1.1)
    New Features
    • You can now move your source objects to their original position
    • You can remove unused source object from the scene
    • Texture atlas splitting
    Improvements
    • Progress bar while combining meshes
    • Optimizing mesh after the combining
    Bug Fixes
    • Selecting different objects don’t need the window to be reopened again
    • Fixed multiple “Combined” directory creation
    • Fixed NRE when combining disabled objects and materials without textures
     
  3. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Note to all my clients. I am going on vacations and I won't be available as I usually am until June 23 (Monday). I am still monitoring forums and email, so no message will be leaved unanswered.

    Cheers!
    Piotr
     
  4. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Mad Mesh Combiner 1.1.1 is available!

    New version of Mad Mesh Combiner has been released! This time we focused on fixing bugs from the previous version and making the GUI more readable.

    New Features
    • Ability to split result mesh into smaller chunks
    Improvements
    • More readable GUI for managed object
    Bug Fixes
    • Atlas textures no longer marked as readable (huge memory consumption)
    • Fixed 65K vertices limit bug
    • Fixed UV2 merge
    • Fixed CubeMap support
     
  5. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    sweet!

    so did u add/fix everything so apocalyptic city pack demo scene would completely combine properly?
     
  6. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    sadly no, oh well back to the drawing board...



    Code (csharp):
    1.  
    2. Mesh.uv2 is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
    3. UnityEngine.Mesh:set_uv2(Vector2[])
    4. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:409)
    5. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    6. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    7. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    8. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    9. UnityEditor.DockArea:OnGUI()
    10.  
    11.  
    12. Mesh.vertices is too large. A mesh may not have more than 65000 vertices.
    13. UnityEngine.Mesh:set_vertices(Vector3[])
    14. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:404)
    15. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    16. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    17. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    18. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    19. UnityEditor.DockArea:OnGUI()
    20.  
    21.  
    22. Mesh.colors is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
    23. UnityEngine.Mesh:set_colors(Color[])
    24. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:405)
    25. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    26. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    27. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    28. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    29. UnityEditor.DockArea:OnGUI()
    30.  
    31.  
    32. Mesh.normals is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
    33. UnityEngine.Mesh:set_normals(Vector3[])
    34. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:406)
    35. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    36. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    37. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    38. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    39. UnityEditor.DockArea:OnGUI()
    40.  
    41.  
    42. Mesh.tangents is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
    43. UnityEngine.Mesh:set_tangents(Vector4[])
    44. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:407)
    45. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    46. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    47. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    48. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    49. UnityEditor.DockArea:OnGUI()
    50.  
    51.  
    52. Mesh.uv is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
    53. UnityEngine.Mesh:set_uv(Vector2[])
    54. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:408)
    55. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    56. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    57. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    58. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    59. UnityEditor.DockArea:OnGUI()
    60.  
    61.  
    62. Mesh.uv2 is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
    63. UnityEngine.Mesh:set_uv2(Vector2[])
    64. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:409)
    65. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    66. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    67. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    68. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    69. UnityEditor.DockArea:OnGUI()
    70.  
    71.  
    72. Failed setting triangles. Some indices are referencing out of bounds vertices.
    73. UnityEngine.Mesh:set_triangles(Int32[])
    74. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:410)
    75. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    76. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    77. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    78. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    79. UnityEditor.DockArea:OnGUI()
    80.  
    81.  
    82. Mesh.uv2 is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
    83. UnityEngine.Mesh:set_uv2(Vector2[])
    84. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:409)
    85. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    86. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    87. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    88. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    89. UnityEditor.DockArea:OnGUI()
    90.  
    91.  
    92. Material doesn't have a texture property '_CubeMap'
    93. UnityEngine.Material:GetTexture(String)
    94. MadMeshCombiner.ObjectGroup:<CubeMapTextures>m__D(GameObject) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:630)
    95. System.Linq.Enumerable:ToArray(IEnumerable`1)
    96. MadMeshCombiner.ObjectGroup:CubeMapTextures() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:630)
    97. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:267)
    98. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    99. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    100. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    101. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    102. UnityEditor.DockArea:OnGUI()
    103.  
    104.  
    105. Error assigning 2D texture to cubemap texture property: Dimensions must match
    106. UnityEngine.Material:SetTexture(String, Texture)
    107. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:435)
    108. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    109. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    110. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    111. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    112. UnityEditor.DockArea:OnGUI()
    113.  
    114.  
    115. Error assigning 2D texture to cubemap texture property '_Cube': Dimensions must match
    116. UnityEngine.Material:SetTexture(String, Texture)
    117. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:435)
    118. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    119. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    120. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    121. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    122. UnityEditor.DockArea:OnGUI()
    123.  
    124.  
    125. Error assigning 2D texture to cubemap texture property: Dimensions must match
    126. UnityEditor.AssetDatabase:SaveAssets()
    127. MadMeshCombiner.MadMeshCombinerAtlasBuilder:CreateAtlas(String, Texture2D[], Shader) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerAtlasBuilder.cs:126)
    128. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:280)
    129. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    130. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    131. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    132. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    133. UnityEditor.DockArea:OnGUI()
    134.  
    135.  
    136. Error assigning 2D texture to cubemap texture property '_Cube': Dimensions must match
    137. UnityEditor.AssetDatabase:SaveAssets()
    138. MadMeshCombiner.MadMeshCombinerAtlasBuilder:CreateAtlas(String, Texture2D[], Shader) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerAtlasBuilder.cs:126)
    139. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:280)
    140. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    141. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    142. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    143. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    144. UnityEditor.DockArea:OnGUI()
    145.  
    146.  
    147. Mesh.uv2 is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
    148. UnityEngine.Mesh:set_uv2(Vector2[])
    149. MadMeshCombiner.MadMeshCombinerTool:Combine(String, ObjectGroup, Transform) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:409)
    150. MadMeshCombiner.MadMeshCombinerTool:RecombineManaged(MadMeshCombinerManaged) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:114)
    151. MadMeshCombiner.MadMeshCombinerWindow:CombineManaged() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:132)
    152. MadMeshCombiner.MadMeshCombinerWindow:Combine() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:115)
    153. MadMeshCombiner.MadMeshCombinerWindow:OnGUI() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:96)
    154. UnityEditor.DockArea:OnGUI()
    155.  
    156.  
    157. Error assigning 2D texture to cubemap texture property: Dimensions must match
    158. UnityEngine.Material:get_mainTexture()
    159. MadMeshCombiner.<RemoveDisabledOrNullTexture>c__Iterator0:MoveNext() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:57)
    160. System.Collections.Generic.List`1:AddRange(IEnumerable`1)
    161. MadMeshCombiner.MadMeshCombinerTool:Analyze(IEnumerable`1) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:33)
    162. MadMeshCombiner.MadMeshCombinerTool:AnalyzeSelected() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:24)
    163. MadMeshCombiner.MadMeshCombinerWindow:AnalyzeSelected() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:48)
    164. MadMeshCombiner.MadMeshCombinerWindow:OnSelectionChange() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:43)
    165. UnityEditor.HostView:OnSelectionChange()
    166.  
    167.  
    168. Error assigning 2D texture to cubemap texture property '_Cube': Dimensions must match
    169. UnityEngine.Material:get_mainTexture()
    170. MadMeshCombiner.<RemoveDisabledOrNullTexture>c__Iterator0:MoveNext() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:57)
    171. System.Collections.Generic.List`1:AddRange(IEnumerable`1)
    172. MadMeshCombiner.MadMeshCombinerTool:Analyze(IEnumerable`1) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:33)
    173. MadMeshCombiner.MadMeshCombinerTool:AnalyzeSelected() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:24)
    174. MadMeshCombiner.MadMeshCombinerWindow:AnalyzeSelected() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:48)
    175. MadMeshCombiner.MadMeshCombinerWindow:OnSelectionChange() (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:43)
    176. UnityEditor.HostView:OnSelectionChange()
    177.  
     
    Last edited: Jul 7, 2014
  7. Azaroth

    Azaroth

    Joined:
    Oct 17, 2012
    Posts:
    43
    Hello i have big problem with terrain trees. Does your asset include it?
     
  8. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hello im,

    Unfortunately Apocalyptic City Pack is not fully supported yet. I have it and I've tested it. There are some things to be done before it will work:
    - Submeshes support
    - Multiple materials support

    This will take me a little more time that I've expected. First I need to split MadMeshCombinerTool to several components to properly analyze the scene.

    There's a one thing that i need to mention.
    Apocalyptic City Pack is not suitable for mobile devices and even after successful combining all objects, the draw call count will be still quite large. That's because of many, many material variations that are used on that scene. I will do my best, but there are assumptions that my algorithm cannot make by itself. Anyway this is still good test subject.

    There's a chance that I will go to another conclusion after working with this a little more.

    Cheers!
    Piotr
     
  9. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hello Azaroth,

    I've tried to place trees on terrain. Unfortunately I don't see a way to access each tree instance, so Mad Mesh Combiner won't be able to merge them.

    I'm using QuickBrush for placing trees in my game, so Mad Mesh Combiner can merge them into one. I strongly recommend this one :)

    Cheers!
    Piotr
     
    Azaroth likes this.
  10. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Are you using the latest version? I don't see these errors in 1.1.1.





     
  11. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    well for me im getting those errors with the latest version of the software and the Apocalyptic City Pack asset

    even in yours i can see the textures on the streets messed up it looks like giant manhole covers repeated for sidewalk and your not showing any of the errors your getting which result in such things since you've cropped your image and not showing the whole unity application

    from what you've posted you still have to do things like

    - Submeshes support
    - Multiple materials support

    before the said asset will work...
     
  12. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    I've checked the error stack trace and I am sure that you DO have the outdated version. I don't know if you have my asset bought, but you have the 1.1, and 1.1.1 is available from July 3rd.

    ACP is a very difficult case, because it was created with desktop platform in mind. Anybody who will use Mad Mesh Combiner with assets created for mobiles shouldn't experience any problems. If opposite, I am here to fix this, and I can do that quite fast :)

    Back to ACP. I believe that I can handle it, but not without a price. MMC will need to cut out some shaders and effect, but I will do everything that I can to make the textures to display correctly. It's complicated and it will take me some time, no way around it.

    Cheers!
    Piotr
     
  13. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    im using latest version of the software from the asset store

    so please check the asset store to ensure that it has latest version

    in future please put release number or better update history in readme file so we all can know what release we have

    but to be sure im just importing everything into clean project and trying again
     
  14. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Just checked that. Seems that in the Asset Store there is 1.1.1, so no mistake here.
    I think that changelog/readme update would be a good idea.
     
  15. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    ok looks like i didnt have 1.1.1 (damn unity asset store update/import not properly updating existing project)

    trying again now... sorry for confusion

    in addition to adding changelog / version number to readme

    please add version number to mesh combine window that way people will know for sure

    and it will cut down wasted time supporting customers like myself that are having problems with unity asset store update/import into existing projects
     
  16. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    FYI I'm just working on brand new method of merging materials. The previous method was looking for materials with same shader and made a texture out of it.

    The new method will work like this:
    - For each object...
    - If object is using only one material use the simple merging method
    - If object have many submeshes...
    - Try to merge many materials into one (even at the cost of loosing shader settings)
    - If some textures have tiling enabled, do not touch them
    - Collect shader variations (to find objects that are using same shader configurations) as groups
    - Merge each group

    By first MMC will force the shaders to be changed, later I will add configuration options. I believe that changing expensive shaders is the fair cost for merging all objects into small amount of meshes/materials.
     
  17. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Sure, I will do that :)
     
  18. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    good news i imported the whole thing and not a single exception!

    but i do see bad textures and textures that are missing so you see model frame that does not have a texture so its invisible, well except when you select it in the editor and see the wireframe

    still i guess this version comes a long ways and it looks just like the materials thing is still an issue in dealing with such a complex asset.

    i dont think most assets would have these difficulties, but i will try with other large assets off asset store when this one is done ok...

    cya for now and look towards your next release where i hope all issues will be finally resolved

    by the way you have what is shaping to be the best mesh combine that ive tested... so when it passes the torture tests i'll do nice review, ok... i like to torture the authors whose assets i buy before giving them review ;)
     
    Last edited: Jul 8, 2014
  19. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    That's good! :) Now let's beat these ugly submeshes!
     
  20. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Hi there, how does this work with lightmaps? If I have lightmaps baked on the original meshes, do I have to bake lightmaps again on the new combined mesh?
     
  21. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    I'm not entirely sure about this. I will write a PM to you, so we can test it out.
     
  22. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Good news! Looks like I've managed to add light-mapping support with a little effort :) Coming in 1.2.0!
     
  23. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hello!

    There are people who are impatiently waiting for version 1.2.0. I have some announcements regarding new version.

    First one: 1.2.0 will be released as 2.0.0. The change to combining engine is so great, that there will be almost no code from 1.2.0.
    Second one: Today I've succeeded with merging some models from Apocalyptic City Pack. This was especially challanging, because ACP models have submeshes and tilling. I needed to do many, many calculations to get things right. Here's a screenshot! (click to enlarge)

    The original model:



    This is how it looked some time ago.



    And the current result!


    When it will be finished? I hope to have the preview version next week and send it to those, who are waiting long enough. If you're willing to test it, please let me know!

    Cheers!
    Piotr
     
  24. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    sweet! thanks! cant wait to play with it !
     
  25. Also

    Also

    Joined:
    Jul 17, 2013
    Posts:
    16
    Any chance of getting the preview version?
     
  26. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Sure! Please send me a message to support@madpixelmachine.com, and I will send you back the preview version on Sunday on Wednesday. I need to make some adjustments.

    Cheers!
    Piotr
     
  27. SquidCap

    SquidCap

    Joined:
    May 17, 2014
    Posts:
    11
    Desperately need tiled textures support. I kind a need it yesterday ;) About 90% of my meshes are tiled...
     
  28. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Please write to me as well!

    Cheers!
    Piotr
     
  29. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Here's a little update about the development status.
    I've fixed some most difficult bugs by now. It took me some time, because debugging texture coordinates is the worst.

    Here's one complex model: http://genail.clarify-it.com/d/zkarxt

    And another from Apocalyptic City Pack:

    upload_2014-9-9_18-0-5.png

    I'm hoping to (finally) have beta version next week to send it to those, who are waiting for it for so long :)

    P.S. Don't worry, I will be constantly working on MMC, because I'm using it as well in my development process. I just have a limited resources (time) here :-(

    P.S.2 Did you know that Unity removes textures from memory at random? I needed to implement disk cache to combine models with large set of textures.

    Cheers!
    Piotr
     
  30. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    sweet thanks, can't wait to play around with it when its releases! :)
     
  31. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    latest combine throws bunch of exceptions and does not combine a thing

    Code (csharp):
    1.  
    2. NullReferenceException: Object reference not set to an instance of an object
    3. MadMeshCombiner.MadMeshCombinerTool.CubeMapKey (UnityEngine.Material material) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:251)
    4. MadMeshCombiner.MadMeshCombinerTool.CreateKey (UnityEngine.Renderer renderer) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:228)
    5. MadMeshCombiner.MadMeshCombinerTool.SplitToGroups (IEnumerable`1 objects) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:201)
    6. MadMeshCombiner.MadMeshCombinerTool.Analyze (IEnumerable`1 objects) (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:60)
    7. MadMeshCombiner.MadMeshCombinerTool.AnalyzeSelected () (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerTool.cs:32)
    8. MadMeshCombiner.MadMeshCombinerWindow.AnalyzeSelected () (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:57)
    9. MadMeshCombiner.MadMeshCombinerWindow.OnEnable () (at Assets/Mad Mesh Combiner/Scripts/Editor/MadMeshCombinerWindow.cs:47)
    10. UnityEditor.EditorWindow:GetWindow(Boolean, String, Boolean)
    11. MadMeshCombiner.MenuItems:DisplayCombinerWindow() (at Assets/Mad Mesh Combiner/Scripts/Editor/MenuItems.cs:30)
    12.  
    yes i have a bunch of Materials with Shader set ti Reflective/Diffuse that do not have a ReflectionCubemap and Reflective/Parallax Spectator that does nnot have Height or Reflection Cubemap both works for me and give me the look i need and combine should just be able to handle them without faulting and not doing a thing.

    Also things like this should be like warnings and combine should just combine then what it can and not do those which would also work.

    Still its better if combine handled things more gracefully.
     
    Last edited: Sep 15, 2014
  32. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    Ok made small change to said code and now it checks if its null and if so return "" else returns what it used to return and it appears to that works.

    But now another problems some meshes totally gone and there is nothing strange about them in and different in any way to the other meshes that are not gone, no warning and no errors just gone!

    And if i select them and try to combine them they do combine so i dont know why when selected with other stuff they don't combine.

    Also I don't know your code well enough but there is a place where you just throw away good meshes with good materials and don't combine them. So please look I can't ship you the level but I can give you picture if you need them. I would hate to have to single step through it trying to find the bug that is doing it since its doing it to a single mesh that I repeat all over its got to be like some logic that is failing, but not issuing warning / error. so is there some test that you do and if it passes/fail it does not combine the mesh?

    Also revert all left "Managed Combined Mesh" game object which is not giant problem because I can easily manually remove it, but the thing is if I run combine again it will not use that one and create a new one. So if someone does a revert all please clean up all the stuff.

    Also revert all did not enable back any of the mesh renderers, now I have a mess, no warning and no error. Thankfully I had prefab and I could do revert on it.

    This release looks more bugger than earlier releases. :(

    Thanks!
     
    Last edited: Sep 16, 2014
  33. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hello im,
    Thank you for the info! I am checking it right now.
    I will send you two previous versions as a PM. Can you please tell me which one is working for you?
     
  34. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    OK, I've fixed reverting issue that you're experiencing and made a code modification that you've done as well. I'm sending you the preview version right now.
     
  35. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    oh thanks you very much i will play with it tomorrow its past 5am est and i must get some sleep...
     
  36. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    I'd like to ask all of you for a opinion...
    I was thinking for some time about this and it may be the right decision to make.

    When I've started my work on Mad Mesh Combiner 4 months ago I believed that mesh combining task is quite simple to handle. For my test cases it really was! I've created first version of MMC that was working fine for me and for few other people. Then after publishing the first version I realized my mistake, that there many other test cases that are not handled and there are quite difficult to handle.

    As a proud software developer I don't give up easily. I've started to work on new MMC version from the scratch. It offers submeshes and tilling support, but new issues has arised. Unity3D don't like if any script is accessing too many textures at once. It is unloading textures randomly! I've created workaround for this, but it makes the combining process damn slow. This is the moment when I've realized that I alone wouldn't be able to make good-enough product in a reasonable amount of time.

    The work that I've done is quire remarkable I think, but I'm just only one person and my time share for MMC currently is quite low. The reason behind that is that I currently have two other popular products available on the Asset Store and a 3rd party job.

    The idea that I was thinking about is to ask community for the help. I am considering giving back Mad Mesh Combiner to the community. I will create two branches: the 1.x line for bug fixing purposes and the 2.x line. It will be released under the BSD license on the GitHub. I will be the owner of main repository and I will do the releases. I will also be reviewing merge requests. The name will be changed.

    What about those who already bought MMC and are feeling like cheated? Don't be! If this decision goes live, I will accept any refund request, so you will get your money back. I hope that Unity Asset Store staff don't have anything against it.

    I hope that this decision will make MMC overall quality better more quickly.

    Please let me know what are you thinking.

    Kind Regards,
    Piotr
     
  37. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    the only thing im concerned about is getting something that works as good or better than other assets of this kind... how we get there i dont think people really care. the issues i see are not all that hard to resolve, its just buggy / unfinished / unpolished right now. but i dont think it insurmountable problem, just do one feature at a time, get it working and move from there until its all done. how much you charge and if its this or that license is sort not not something im concerned with. getting it working is...
     
    Last edited: Sep 16, 2014
  38. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hi!
    I haven't write for a while because on the one hand I wanted to release MMC 2.0 as open sourced project, but I didn't have the time to finish it off. Then a client came to me asking about submeshes. Of course MMC doesn't support it, but I've looked into the topic with a fresh mind and... I came up with an idea of a new algorithm! And you know what? This one was about 10 times simpler than the original one and it is working! I know got the working version of MMC 2.0 built again from the scratch (the previous 2.0 code is useless) and maybe it has not so spectacular results as the old algorithm, but it is working!

    85027589-1d23-48f5-8ab1-efcfe7dee730.png e32ab6e5-0b3a-482f-b4d2-bc791f422a1e.png

    Anyone wants to test it? :)

    I still doubt it will handle ACP correctly, but I cannot run the test now. It will just take too long. Still I will keep you up to date!

    Cheers!
    Piotr
     
  39. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    so where is the new release?
     
  40. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Look into your inbox.
     
  41. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    ok thanks so what exactly are we supposed to be testing for?

    i have my level which works with v1 and that test level that originally caused all that trouble from uas
     
  42. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    If it already works with version 1 then nothing to do here :)
    What MMC 1.x couldn't do is to merge meshes that had submeshes on it. Apocalyptic City Pack models are mostly combined of submeshes, but even after combining it will be still too heavy for mobiles.

    What I exactly did here is treating meshes with submeshes as separate objects. So if a mesh have 2 submeshes, then MMC is seeing this one as two logical object with only one material and one texture.
     
  43. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    sweet! will try it out this weekend and let you know how it goes... hopefully at some point you will update MMC in UAS to MMC 2
     
  44. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Thanks! I will for sure! :)
     
  45. Dreamwriter

    Dreamwriter

    Joined:
    Jul 22, 2011
    Posts:
    472
    Question: does MadMeshCombiner create new instances of the materials on objects? I ask because I'm trying to track down what's creating new instances, so I can get rid of them so the objects can be dynamically batched.

    We've got a bunch of wooden planks that need to animate, so the planks can't be combined, but each plank was a few things combined into one using MadMeshCombiner.
     
  46. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hi!

    MMC does create a new material asset (physically) and it's using it on the combined object. It does that only if both of these statements are true:

    1. There more than one material assigned to selected objects
    2. These materials are similar to each other in means of shader that is beign used

    So if you don't want MMC to create new material, remember to select object that is using the same material :)

    Hope it helps!
    Piotr