[RELEASED] Mesh Combine Studio 2 (Boost Performance)

Hi, thanks for reporting. I’m able to help you on Discord faster but if it’s not possible (link is in the top of MCS Inspector). I need to see a screenshot of the search conditions, which don’t show in your screenshots.

hi,

i’m in the same boat as ANSEYDER.
using MCS2 for the first time, click on the COMBINE button and voila!
error in the console:
(MeshCombineStudio) => No matching GameObjects with chosen search options are found for combining.

my setup is the exact samething as ANSEYDER.
i created an EMPTY GAMEOBJECT (let’s called it GameObject1) and added a bunch of static gameObjects.

i read your user’s manual top to bottom.
try to change some settings according to the user’s manual.
same error.

all my gameObjects started with “MY_xxxx”.
i’m attaching 3 screenshots.
i’m using Unity 2019.4.10f1 and MCS 2.97



Hi, thanks for contacting and the detailed screenshots. You only need to change the search Conditions settings if you want to filter objects out. So if you want to combine all that is in your parent, just use the default MCS prefab with the default search conditions. I recommend to do that (delete this one and add the MCS prefab again), and if it still doesn’t find any object then your objects aren’t marked as static. Either mark them static or disable the 'Static Only` option.

i tried your suggestions.
1-delete the old prefab and add the new one
2-tried the “static” option; it was disable as default
3-everything else left untouched per your suggestion

same result as before (see new screenshot).

6316824--699981--mcs4.jpg

6316830--699990--upload_2020-9-16_9-57-10.png

Disable the static only setting (not on the MCS prefab as that does nothing). Maybe you can come to Discord? I will be able to help you faster there with instant chat:
https://discord.gg/HhepjD9

6316830--699990--upload_2020-9-16_9-57-10.png

hi, i like the forum more than the chat as it can help others with the same issues.

as to our problems, i tried your suggestion but got a new problem.
right after i click on COMBINE, i got a flashing red button “MAKE MESHES READABLE”

also, an error in the console below:
(MeshCombineStudio) => Read/Write is disabled on the mesh on GameObject MY_BOX and can’t be combined. Click the ‘Make Meshes Readable’ in the MCS Inspector to make it automatically readable in the mesh import settings.

then, i click on the Make Meshes Readable.
now, it produces a new console error below:
InvalidCastException: Specified cast is not valid.
MeshCombineStudio.MeshCombinerEditor.MakeMeshesReadableInImportSettings () (at Assets/MeshCombineStudio/Editor/MeshCombinerEditor.cs:1712)

Oki no prob, but the chat in Discord also stays there forever so people can scroll and search through that too.

Which Unity version are you using? Also can you show me a screenshot of the mesh on GameObject MY_BOX in the project window? (So need to click on it in the project so I can see the import settings in the Inspector).

Unity 2019.4.10f1
MCS 2.98

no luck.
i did all the steps per your suggestions in the previous post.
see all 5 screenshots.
1 more screenshot shows the error console after this post since this forum only allows 5 max.

6323478--701172--mcs_2.98a.jpg
6323478--701175--mcs_2.98b.jpg
6323478--701178--mcs_2.98c.jpg
6323478--701181--inspector2.jpg
6323478--701184--inspector1.jpg

error sceenshot (see attachment).

6323484--701187--console_err.jpg

Hi,

have you enabled “Read/Write Enabled” in the model import settings?

6324081--701277--MeshImportRW.jpg

Yes I need to see the Inspector of the model. With that error it means that it’s not a model import but an Unity mesh.asset which doesn’t have any import settings. But need to see a screenshot to make sure, like this:

6324327--701322--upload_2020-9-18_10-23-6.png

Hi, I am already used Mesh Baker in my project but I had an eye on your tool MCS and Caves and Overhangs tool since weeks and last day I got it in humble bundle package. Thanks for that. My only question is about combining meshes with multiple materials having same shader, with auto UV remapping. This is what I am getting with Mesh baker. What I expect with your tool is we specify cell size along with some filters, and it combines all the objects falling in a cell matching filters regardless of their materials and combine all objects in a single material. This will truely reduce my drawcalls. I don’t know if I am expecting much but till now I find no big difference in mesh baker and your tool If I need to assign parent of the object each time just to combine meshes having same material. So introducing texture atlassing atleast, if not texture arrays, will give boost to your tool. Thanks.

Hi thanks for your message. What MCS does is splitting everything in cells and it can remove geometry which Mesh Baker can’t do. Also you can separately combine all shadows into 1 material and for a static directional light remove all back faces (see example Scene). As for material atlassing/texture arrays yes indeed this will further boost my tool. I have this planned for MCS 3 pro and I will start to work on this very soon.

1 Like

Thanks for your quick response. 2 Questions and a request.

Question 1) Will we be able to upgrade to MCS 3 free of cost?

Question 2) When should we expect MCS 3? I mean in few weeks, or in few months or what timeline your propose?

Request) I find it tough to understand what each option does just by reading tutorial page. So it would be really better if you would make video tutorial covering all the inspector options and buttons while optimizing some demo project. By all the options I mean, each and every option available + all the different things we can do with MCS. It could be a series of videos as well.

Thanks.

Thanks for the questions:

  1. MCS 3 will be free, but MCS 3 pro that will contain texture atlas/arrays will have some upgrade cost. As it will make MCS the most feature rich mesh combiner on the Asset Store.
  2. A matter of a few months.

Yes I’m planning to do that, but since I’m planning for MCS 3/Pro I would have to redo so I like to do it when I release those. Can you explain in more detail which options you find hard to understand? I can update the manual for those…

2 Likes

Sounds logical for upgrade cost and I will be waiting for MCS3 pro launch. And regarding my questions about manual, I will go through again manual and will report you my confusion. Thanks for your time so far.

Hey first of all: You wrote an eye opening plugin. In my initial tests this is way better than Unitys Static batching in terms of draw calls (3-4x less) :slight_smile: Now some questions/findings:

What is the best way to batch game objects that are added at runtime (i.e. by the players)?

At the moment I think I would put all dynamically instantiated objects in a common parent game object. Every time a threshhold of “new” objects is reached, I would manually call MeshCombiner.CombineAll() - with the common parent as “search game object”.
Is this the correct (supported) way to do this?

Also I found a few smaller bugs (maybe you could fix them):

  • When calling CombineAll() using jobs, the game objects get disabled before the combined mesh is enabled - thus a flicker occurs (increases if combine per frame setting is reduced). When only using the main thread it works
  • When combining meshes i.e. at edit time and grid cell ends up with a single object, the isReadable flag does not get removed. Thus the mesh is actually loaded in the RAM which is not ideal

A small missing feature:

  • There is no option to Upload (thus deallocate) the original meshes that are batched at runtime

Another bug I just found:

  • When combining meshes with lod groups, single meshes get placed inside the lods but don’t get added to the lodgroup component, so both versions of the single meshes are rendererd. Workaround: Exclude Single Meshes (not ideal because they have different lod switching distances in that case)

Sorry I missed this post notification in my email. Yes that would be the correct way. As for your bug reports:
1). I will fix this now.
2). That’s because it uses the original mesh, so not a bug.
3). I will also fix this now.

2 Likes

Just updated to the latest version and I’m getting this error (and no combined meshes) when attempting a combine:

(MeshCombineStudio) => System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at MeshCombineStudio.FastList`1[T].Add (T item) [0x00014] in C:\Workspace\ProjectName_20.1\ProjectName\Assets\MeshCombineStudio\Scripts\Misc\FastList.cs:148
  at MeshCombineStudio.MeshCombineJobManager+NewMeshObject.CreateMesh () [0x0042d] in C:\Workspace\ProjectName_20.1\ProjectName\Assets\MeshCombineStudio\Scripts\Mesh\MeshCombineJobManager.cs:1226
  at MeshCombineStudio.MeshCombineJobManager.CombineMeshesDone (MeshCombineStudio.MeshCombineJobManager+MeshCombineJobsThread meshCombineJobThread) [0x00050] in C:\Workspace\ProjectName_20.1\ProjectName\Assets\MeshCombineStudio\Scripts\Mesh\MeshCombineJobManager.cs:470
UnityEngine.Debug:LogError(Object)
MeshCombineStudio.MeshCombineJobManager:CombineMeshesDone(MeshCombineJobsThread) (at Assets/MeshCombineStudio/Scripts/Mesh/MeshCombineJobManager.cs:480)
MeshCombineStudio.MeshCombineJobManager:ExecuteJobs() (at Assets/MeshCombineStudio/Scripts/Mesh/MeshCombineJobManager.cs:435)
MeshCombineStudio.MeshCombiner:CombineAll() (at Assets/MeshCombineStudio/Scripts/Mesh/MeshCombiner.cs:593)
MeshCombineStudio.MeshCombinerEditor:smile:rawCombining() (at Assets/MeshCombineStudio/Editor/MeshCombinerEditor.cs:1178)
MeshCombineStudio.MeshCombinerEditor:smile:rawInspectorGUI() (at Assets/MeshCombineStudio/Editor/MeshCombinerEditor.cs:682)
MeshCombineStudio.MeshCombinerEditor:OnInspectorGUI() (at Assets/MeshCombineStudio/Editor/MeshCombinerEditor.cs:645)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)