Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] Mesh Combine Studio 2 (Boost Performance)

Discussion in 'Assets and Asset Store' started by eagle555, Oct 24, 2017.

  1. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    It looks like something goes wrong though as with MCS enabled you have double the tris and vert count (this shouldn't be, after combining it can display slightly higher but MCS doesn't increase it, might be inaccurate measuring of the stats system), that's why FPS is not increasing much. FPS should increase a lot with MCS + dungeon architect, it get 20-50x higher FPS.

    Yes MCS on start needs to be disabled, as you only want to execute combining after the dungeon is generated. How does it work if you disable the MCS On/Off combine key option? Do you use any meshes that have Lods?

    Nathaniel
     
  2. CoolMambo

    CoolMambo

    Joined:
    May 21, 2013
    Posts:
    19
    All the meshes are unchanged from the multistory dungeon kit except for checking off read/write enabled since that was throwing errors when doing a search via meshcombiner. It does include a few bigger module type prefabs via the DA demo scene to create the multi level effect.

    Ill try turning off the mesh combiner enable tool and see what happens and poke around a bit to see what may be up. I know it is generating lod groups after the combine. I honestly dont know much about LOD.
     
  3. CoolMambo

    CoolMambo

    Joined:
    May 21, 2013
    Posts:
    19
    just a follow I made some progress. Seems it was always working before but the default dungeonitems object weren't being disabled. I modified it to call that dungeon directly in the script and disable the items and now:

    upload_2017-11-28_14-31-3.png

    So a definite increase. I'll still have to figure out why tris and verts are bumped up a bit and maybe with some occlusion culling I can get this puppy back up to 60fps. It seems that the camera is somehow seeing all my enemies which is giving me an extra 10 fps hit so I am guessing culling is the way to go.
     
    Quique-Martinez likes this.
  4. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello everyone,

    I have a new update ready MCS 1.15.

    I added major new features ported from D.R.O.N.E. that pushes optimizations even further! :)

    Features:
    • Remove triangles below any surface (Meshes, Unity terrain). It works with colliders and you can select the layer on which are the surfaces.
    • Remove back facing triangles. E.g. if you have an inner area where the player cannot go beyond and outside of this area you placed objects (even big mountain meshes) you can remove the back part of those meshes as the player will never see them. This can also work for a top down game or side scroller game where the player is never able to see a certain angle.
    • Stats of seeing the original and after vertices and triangle count and the amount that has been saved by removing triangles of the above 2 features. Both those features can reduce a lot the rendered geometry and it the reduction reduces the memory.

    Testing removing triangles under surface of a terrain for rocks.
    Before combining:
    upload_2017-11-28_21-28-36.png

    After combining 34.82% less triangles and noticeable increase in fps on combining rocks only:
    upload_2017-11-28_21-29-12.png

    Above terrain everything looks good, no holes in any rocks:
    upload_2017-11-28_21-30-56.jpg

    Tomorrow I will post screenshots of the backface culling, it's getting late here. But removal below terrain + backface culling saves us 58% of the background rendered geometry for our current desert environment! :D

    Nathaniel
     

    Attached Files:

    Last edited: Nov 29, 2017
  5. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    Wow!

    Is the backface culling reversible? For example, I would like to “hide” it most of the time but a certain feature may require the full mesh or maybe just do back culling for certain LOD only?
     
    Last edited: Nov 29, 2017
  6. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Also, would this work for meshes inside other meshes as well?

    For example, say I have a large rock and I have some smaller rocks inside of it to make it look like a cave or rock pile, would it be possible to remove those triangles too?
     
  7. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes I could make it reversible, by storing the combined triangle array and another one with the backface culling, then vertices wouldn't be rebuild and stay the same, this wouldn't give any memory reduction but for performance it has no impact.

    Culling backface triangles only on a certain lod, can you explain in more detail a use-case for this?

    Atm this is not possible and requires another algorithm, but I've been thinking a lot about this as I want to have this implemented in MCS and also in D.R.O.N.E. We have the ability to make caves with rocks, etc and removal of overlapping triangles could reduce like 70-80% of the geometry. It's not that difficult to get it working, but for it to be a fast algorithm that's another story, for Drone I want to have it applied at runtime to keep our Arena levels size very small on disk (they are between 100-400 kb), so they can be easily download/uploaded to our Server.

    Nathaniel
     
    slimshader likes this.
  8. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    This is awesome news!

    For the levels I'd like to make, I would totally appreciate this functionality. If you get it to working the way you want, that alone would be the selling point for this asset to me.

    If you would simply let us call this once at loading time, even if it is fairly slow, I feel like that would still be useful for many of us as a stopgap right now -- however, doing this at runtime, *that* would indeed be going the extra mile for real!! I can assure you we'd all love you for that one if you could manage to find a way to do that! D:



    As for the runtime part -- what if you just did it as a streaming sort of coroutine that just deletes streams of triangles?

    In other words, just remove chunks of triangles as you go and let the user determine how often the 'cleanup' background coroutine runs. At a certain point, the triangles would be cleaned up -- but focusing on the initial triangle cleanup around the camera's origin would immediately speed up rendering.

    You could even have a 'warm-up' phase where, before the level loads, lots of triangles are removed in the nearby areas around the camera and its most likely path (or the entire level, if the developer wants to wait via loading screen for this to happen). Perhaps even give an option to change the start location of the triangle removal (i.e. set it to some dense area in the map) and the angle toward the cells that are in the most likely areas to need triangles removed first because that's the most likely area the player would be heading toward. The developer could then balance this by simply keeping his triangle count consistent somewhat across the level, and this way, he could account for areas where he needs a little more detail (since the player is most likely to visit there), and let the rest of the areas speed up after that.

    Just allowing us to do this at editor-time would be a very useful workaround until the runtime options are there.



    Hopefully that makes sense! D:
     
  9. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    I think what he means is that, for something like a fence or street sign that is just a texture from far away, he would want to be able to see both sides of it.
     
  10. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    755
    I really like what i'm reading man!!:):):), can't wait for texture atlas too!! This will become the main optimatisation tool for unity! for sure!
     
  11. GCatz

    GCatz

    Joined:
    Jul 31, 2012
    Posts:
    282
    Thanks for all the new features,
    please also send updates to the asset store.. it's getting hard to keep track of incremental updates in the forums
     
  12. OreoSplitter

    OreoSplitter

    Joined:
    Oct 21, 2017
    Posts:
    33
    Asset store STILL shows version 1.0. Would be nice for you to actually use the asset store, you know, where we bought the friggen thing. Sorry to be an ass, this gets old looking for updates when every other dev uses the asset store just fine. You could be posting these updates over there as well even if it's a few days behind.
     
  13. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes don't worry I will submit to the Asset Store tomorrow. I was waiting for it as I wanted to do it together with the tutorial videos but I'll do that later then. I updated TC2 last week and it took a week to get accepted, and it was just a minor change in the Asset Store text. So hopefully it goes quicker this time.

    Nathaniel
     
  14. OreoSplitter

    OreoSplitter

    Joined:
    Oct 21, 2017
    Posts:
    33
    Thanks for the asset store update. I am getting error messages with the default scene when using these updates so I must be updating it wrong. I'm using v 1, import, just clicking ok not changing a thing. The default scene even without hitting play gives a bunch of error saying

    Mesh Combine Studio error -> System.IndexOutOfRangeException: Array index is out of range.
    at MeshCombineStudio.MeshCombineJobManager.ExecuteJobs () [0x000c6] in C:\Users\David\Documents\Unity\Notes\Assets\MeshCombineStudio\Scripts\Mesh\MeshCombineJobManager.cs:349
    UnityEngine.Debug:LogError(Object)
    MeshCombineStudio.MeshCombineJobManager:ExecuteJobs() (at Assets/MeshCombineStudio/Scripts/Mesh/MeshCombineJobManager.cs:379)
    MeshCombineStudio.MeshCombineJobManager:MyUpdate() (at Assets/MeshCombineStudio/Scripts/Mesh/MeshCombineJobManager.cs:116)
    UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

    So getting a version that works from the asset store will be a big help. V 1 on it's own works fine. it's update 1.13 or 1.15 I am messing something up when updating though the plugin itself works fine in my own projects. Guess I will try tomorrow.
     
  15. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    162
    Hello, I too have gone through the 1.0, and both point updates without a problem and that's within my actual working project. Did you try a vanilla install on a new/fresh project? I never hold my breath on the asset store updating developers products as it seems as though it's a sporadic process i.e.: within hours, days, or a week or so.
     
  16. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    162
    Hello, just a very minor feature request for a button that selects all of the combined meshes within the hierarchy if it's possible. i.e.: the children of the Cell groups under the LOD group. My use case is that I am not using Light/Reflection Probes and am manually having to expand the LOD group and select the combined meshes to disable the Probes.
     
  17. anunnaki2016

    anunnaki2016

    Joined:
    Jun 16, 2016
    Posts:
    93
    @eagle555 1.15 my unity get crash after update ;/
     
  18. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    I know this is kind of late, but I feel it is still relevant for some people...



    As you seem new around here and seem to not want to actually be an ass, I think this quote sums up nicely why this dev doesn't use the asset store to post his smaller (or more experimental) updates:




    The above is all absolutely true. All the asset developers I know -- including myself -- struggle with this issue constantly. There's never any way of telling when an asset will actually hit the asset store. To both combat this issue and avoid ambiguity, most devs, especially of larger tools, offer some way of providing unofficial updates to customers who need or want to experiment with them (to iron out the kinks) -- and most of these should usually be assumed to be BETA anyhow.


    Contrary to popular belief it takes more than 12 days to get assets approved to the store the first time (it's been almost a full month on average) -- and for minor updates, yes, it goes 'faster', but I've heard of even those taking up to a week (or more!) in relatively slow times (i.e. not when various Unity or worldwide software events/trade-shows are going on) just because some goofball at Unity decides they don't like something about the package description -- or didn't read it at all (such as in cases where it requires another asset) -- and thus rejects it because it throws an error. This means that you get your package way later than simply waiting for it to arrive in the Asset Store. If you've got time to wait, great! After all, what you don't know won't hurt you -- even if that includes not knowing about an update. However, people who are on a time crunch do actually appreciate devs tossing unofficial updates outside the asset store there in their official thread, so most people who truly rely on the asset keep up with that thread (or wherever the dev posts his unofficial updates.)


    Yes, this is not a perfect system. But who else is there to blame besides upper-management at Unity? -- They obviously need more manpower for the Asset Store curation, better software (and backend website!) for devs to provide those updates more easily, and, ultimately, because of all of this, devs like Nathanial can't please everyone always, no matter how hard they try. After all, as the saying goes: "You can please all of the people sometimes, some of the people all the time, but you can never please all of the people all the time."

    So have a little consideration yo -- even if you paid for something, life still doesn't have to be all about you.

    This dude works hard, so why not give this man a break?
     
    Last edited: Nov 30, 2017
    Mark_01 likes this.
  19. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Hi I have a uestion about lod, is your lod system smooth trasnsition like unitys one? Is there option to use your system but unity lod group not your lod system?

    next question I'm using Vegetation Studio, From Lennart Johansen, It use gpu isntancing to show plants, grass trees on scene, And I'm curious because there is alsow awaliable to use it for rocks, and other larger objects. Its better to place rocks normally and give it optimization with your system, or place it by vegetation studio. How exaclty works your system, I mean it is calculating everything in gpu? Should Objects materials that I want to combine with your system have turned on GPU instancing? And does your system works with Global GI and lightmaping?
     
    Last edited: Nov 30, 2017
  20. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes good idea, I will add this button.

    Does Unity hang? Or crash error?

    Actually I decided to use Unity LOD system in the update, because it works screen based instead of distance based which is better and takes the camera field of view into account. Since the amount of LODGroups are reduced a lot with combining this makes LOD calculation time run much faster.

    VS and MCS are compatible. The difference between VS and MCS is indeed VS uses cell based instancing and MCS uses cell based combining. Nothing is calculated on the CPU/GPU, meshes are combined into cells, which reduces draw calls from CPU to GPU, Culling/LOD/z-sorting calculations on CPU.

    You can test which system is faster it depends on the situation. In our case (Drone arenas) we tested for rocks that combining is faster than using instancing, but it all depends on how many rock types/materials and LOD's you use and how big your world is. Instancing can't use Lightmapping or GI out of the box. MCS support lightmapping and GI for combined meshes. Lightmapping can be copied from original meshes, but if using GI it needs to be rebaked (Unity doesn't expose access to GI mesh data). Combining adds memory while instancing doesn't.

    With the latest update MCS can remove triangles that are under the terrain (for rocks this can reduce triangles like 37%, and also reduces the added memory with 37%) and also later I will implement removal of triangles in overlapping rocks. So this probably will beat instancing performance for static rocks in most cases, especially when using a lot of rocks piled together e.g. to construct caves, etc. Still combining has a memory limit. So if you want to render 200k little rocks then instancing would be better.

    Nathaniel
     
    MudPuppet likes this.
  21. Quique-Martinez

    Quique-Martinez

    Joined:
    Oct 1, 2013
    Posts:
    141
    Does Mesh Combiner work on iOS?
     
  22. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes it should work for all platforms.

    Nathaniel
     
    blitzvb and Quique-Martinez like this.
  23. Quique-Martinez

    Quique-Martinez

    Joined:
    Oct 1, 2013
    Posts:
    141
    :):):):):):):):):):):)
    I have to present a proposal next week and MCS will be an essential signing
     
  24. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Thank you a lot for very helpful informations. We are Making game with photogrammetry method so Memory is important for us, But I think memory of combined mesh is nothing in compare to textures memory size. Talking about memorry you think about size of combined mesh yes? Even for f500k tris it should be a few MB. Am I right?
    I think I will buy your system tomorrow. Esspecially that as you mention it is easy to implement if I have my meshes set as static, just turn off static batching in player settings and ready to go? Our Terain is about 650x650 meters, so we dont have 200k small stones, is rather like few tousand bigger. DO you mena that Combine Mesh doeasnt support Realtime GI, What do you mean by rebake lightmaping. WE would to use in final game some realtime light hanges so we will use lightprobes, and maybe some mixed lightmaping for example baked shadows.

    Also Hopw Mesh baker is reading Lods, from lod group. or by name? becasue by name would not work with our lods I think
     
  25. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    I already bought and tested your project, and it works really good :) only one thing is that ist search lods by names :( And for example Automatic Lod system as first LOD use original mesh I mean object with original name, This is huge problem because we have to rearange donzens of objects bu hand, Is there option to implement searching lod by this what is set in LOD group? not by name Also it seems t not disable my original object renderers I dont know why
     
    Last edited: Dec 1, 2017
  26. Stanton560

    Stanton560

    Joined:
    Aug 21, 2017
    Posts:
    14
    Hi Nathaniel

    How do I combine two similar meshes, each with the same two materials, each material having their own shader? The shaders and materials correspond, but after combining the meshes, only a single material/shader is used. The second is lost.

    Thanks for your time!
     
  27. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    MCS uses same or less memory as static batching. In your case with rock MCS uses less memory and increases performance even more by removing e.g. geometry under surface like terrain/meshes (collider based). Yes just turning of static batching and do a few click and you're ready to go.

    MCS combined meshes do support realtime GI, only you need to combine and rebake the lighting for the new combined meshes in the Editor (at runtime GI can't be copied).

    As far as I know MCS is the first combine solution that handles LODs cell based and auto detects LODs.

    Yes I implemented that some updates ago. Think you're still using the initial release, you have to use the latest MCS 1.15 posted above:
    https://forum.unity.com/threads/mesh-combine-studio-boost-performance.501543/page-6#post-3303875

    I have one more update today, I'm testing it atm, then I will upload it to the Asset Store.

    I'm not sure if I understand the question. So 2 meshes, 2 same material instances and they use the same shader (other wise it can't be the same material). That's supposed to combine into 1 mesh with 1 material, otherwise it's not combined. If you want to keep the material different and combine 2 meshes into 1 mesh with 2 submeshes that will not improve performance. As Unity renders each submesh separately, and each takes 1 draw call. And for the GPU to render with another material takes 1 set pass. So 1 mesh with 2 submeshes will take 2 draw calls and 2 set passes (if materials are different).

    Nathaniel
     
  28. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Thank you it works great now ! Why new version isnt on asset store, I tested it whole day and Didnt know about newer version, now everything works great ! What Mesh Cmbiner too with mesh coliders? They are all the time turned on yes? In every lod?

    Also Doeas combiend mesh work with occlusion culling when baked in realtime? ( I mean meshes baked realtime not occlusiuon culling)
     
    Last edited: Dec 1, 2017
  29. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Glad it works great now :) I will submit it to Asset Store asap (probably today), I just want to make sure it doesn't have bugs as it can take a week before it gets excepted.

    Yes MCS only disables the MeshRenderers and LODGroups on the original GameObjects. So all components attached (scripts, colliders, etc) keep working like they did before.

    Yes occlusion culling works on the combined meshes, as far as I know Unity doesn't have the feature of baking occlusion culling at realtime (unfortunately, we would love to have this feature for Drone as our arena's are made at runtime), so has to be done in the Editor.

    Nathaniel
     
  30. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Sorry I mean Is just system works with occlusion culling not realtime occlusion culling but when meshes are baked in realtime ;) P.S maybe in the future add long distance turn off colider option ;)
     
  31. Stanton560

    Stanton560

    Joined:
    Aug 21, 2017
    Posts:
    14
    Ok I will try to explain. So mesh 1 has two materials on it. Material A has shader A, and material B has shader B.

    Mesh 2 also has the same two materials on it, Material A with shader A, and Material B with shader B.

    When they are combined, it forms a single mesh from the two above, but only Material A with Shader A is on the new mesh. Material B and Shader B is not on the new mesh.

    When combining an entire scene, the issue I'm describing above isn't about the performance, but the fact that the scene looks very differently due to the missing materials.
     
  32. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes MCS will separate this 1 mesh with 2 submeshes (each material is another submesh) into 2 separate meshes. So if you had one GameObject with 1 mesh and 2 materials, you will get 2 GameObjects (Material A and Material B) with each 1 mesh.

    Are you using the latest update 1.15? Might be if you still use the initial release that you get an error and MCS stops combining, and only combines half of the Scene. Need to use the latest update...

    https://forum.unity.com/threads/mesh-combine-studio-boost-performance.501543/page-6#post-3303875

    Nathaniel
     
  33. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Turning On/Off colliders will probably not help with performance improvement, as Physics works with octrees and only around a moving dynamic object is checked if there's a collision (this is possible thanks to octrees). If there are 10k static colliders active 1 km away shouldn't make a difference. Can read more about octrees here:
    https://www.gamedev.net/articles/pr...ay-programming/introduction-to-octrees-r3529/

    Nathaniel
     
    blitzvb likes this.
  34. anunnaki2016

    anunnaki2016

    Joined:
    Jun 16, 2016
    Posts:
    93
    @eagle555 lol is good now i dont now why i get crash before, maybe you can put next udpate in forum too others? asset store take much time for put update thanks for this best asset
     
    Last edited: Dec 1, 2017
  35. Exeneva

    Exeneva

    Joined:
    Dec 7, 2013
    Posts:
    432
    Lars-Steenhoff likes this.
  36. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,521
    Yes hex tiles seems the most efficient way.
     
  37. Macanudo

    Macanudo

    Joined:
    Apr 20, 2017
    Posts:
    4
    Hey guys,

    I just bought it from asset store and after solving some LOD issues it worked fine on play mode (Android platform). It is working on unity play mode but is not working on some android devices I have, when I turn on the runtime combine the meshes just desapear. Any idea?

    This is the setup I am using on Unity 2017.2:

    upload_2017-12-2_3-24-33.png
     
  38. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    I found one bug in the code that might have caused this and fixed, will post update today.

    Octrees are cubical, so I work with cubes instead of hexagon tiles. I don't think hex tiles over cubical makes any difference in performance. Unity's LODGroups works with mesh bounds and is also cubical. Cubical has better alignment as hex grid. As each hex cell neighbor is offseted by half.

    Can you try it with the latest version 1.15 posted above?
    https://forum.unity.com/threads/mesh-combine-studio-boost-performance.501543/page-6#post-3303875

    I will post one new version today with improvements and will upload it to the Asset Store. Currently Asset Store still has initial release and it can take up to a week before it gets updated after submitting.

    Nathaniel
     

    Attached Files:

  39. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello everyone,

    I have a new update and this one is ready for the Asset Store. I tested it on many Assets and here it works all fine.

    If you find any issues let me know, I'll fix it and will submit it to UAS tomorrow morning.

    MCS Update 1.16:

    Features:
    • Improved and simplified (GUI) back face triangle removal with a bounding box (where camera won't go outside).
    • Add Mesh Colliders is working again.
    • Button to select original GameObject and a button to select combined GameObjects.
    • Batches before/after/saved stats.

    Fixes:
    • Multiple Job Managers in multiple scenes (should be only one).
    • Unity hang fix.

    Removal of triangles under terrain in our Desert environment in D.R.O.N.E.
    Before:

    After:

    Saves 27% of triangles that need to be drawn.

    With backface triangle removal:




    We save 64% of triangles in total (under terrain + back face) that need to be drawn. And from within the arena it looks exactly the same :)

    Nathaniel
     

    Attached Files:

    Last edited: Dec 2, 2017
  40. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,521
    great update!

    I have some questions about materials

    When combining there is only one material or many?

    And I think it will be nice to have a list of materials in the inspector that can be used per layer.

    For example I have a layer trees and a layer rocks.
    Layer trees will have one material with a transparent shader after combining and layer rocks will have one material with a opaque shader after combined.

    So this will mean two materials after combining and two shaders each for its own use.
    ( and also two different combined meshes )

    The I way I could set it up now it to have two instances of mesh combine studio with the different layers but I would imagine that gives some overhead.
     
  41. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    You mean that you want to give your combined objects another material as the original materials? As MCS will automatically detect and sort the materials and combine objects with the same materials.

    The way I designed it is to do with 2 instances. It doesn't give any overhead, because after MCS combines it does nothing, you can even destroy the script.

    Nathaniel
     
  42. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,521
    Ok so in order to get the most out of it I need to first manually combine all the materials that can be combined. and all in one texture.

    Then I will get the best results right?

    because I have a bunch of asset fro the asset store and they all use different materials, but they don't need to be different
     
    Last edited: Dec 2, 2017
  43. anunnaki2016

    anunnaki2016

    Joined:
    Jun 16, 2016
    Posts:
    93
    @eagle555 you are a boss my friend thanks

    you dont lose quality if you remove triangle in terrain?

    thanks for update
     
  44. Macanudo

    Macanudo

    Joined:
    Apr 20, 2017
    Posts:
    4
    Hi Nathaniel,

    The 1.16 worked on Android, the 1.15 did not. The results was not what I was looking for, the performance on my Android devices was worse with the combined meshes, maybe because its lowpoly style or something like this. I have tried many different setups but I am getting a poor frame rate. I think this low frame rate is due to the higher triangle and vertices count. I am doing something wrong or its the normal behavior considering my project peculiarities?

    Here are some screenshots (running on PC), hope this helps anyway:

    upload_2017-12-2_13-38-40.png

    upload_2017-12-2_13-39-12.png upload_2017-12-2_13-42-12.png
     
  45. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes that's the issue, more than double amount of triangles is being drawn. But still strange that Unity's stat window shows improved CPU/GPU times and more FPS while your FPS meter doesn't.

    As for double geometry probably the cell size if way to big for your Scene. Can you show a screenshot of your Scene with the cell gizmos being draw like in this screenshot? (It shows after you click the 'Search' button in MCS Inspector).



    Nathaniel
     
    Last edited: Dec 2, 2017
  46. Killersan

    Killersan

    Joined:
    May 27, 2014
    Posts:
    76
    Nathaniel, very good job, I'm voting for atlas feature :)
     
    Lars-Steenhoff likes this.
  47. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    Chunks ;)
     
  48. Stanton560

    Stanton560

    Joined:
    Aug 21, 2017
    Posts:
    14
    Hi Nathaniel...

    I am using the latest version. Here are before and after screenshots of what I mean. before.jpg after.jpg
     
  49. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    As you can see MCS names each Combined GameObject to it's material name. So there's no 'trim_01' GameObject in there?

    Nathaniel
     
  50. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705

    Attached Files:

    Last edited: Dec 4, 2017
    Quique-Martinez and blitzvb like this.