Render lot of Game Object
Hello !
I am working on a application which is used to displays and interact with a large network composed by more than 100,000 dynamicly created unique elements. That is to say, that there is more than 100,000 small meshes to render. Displaying the entire network with one GameObject/Mesh by element generates to much CPU overhead and therefore FPS drop (too much draw calls). But if only one part of the network is shown on the screen, thanks to occlusion culling, the FPS are quite good. However, I really need to be able to display all the network so the this method is not possible.
To manage this amount of draw calls, I have combined the meshes with the Mesh.CombineMeshes method because most of the elements share the same material. I also generate a gameobject which conatins a mesh collider (which has the same mesh as the element) in order to interact with the element. I can display all the network with a good amount of FPS. But the interaction is limited compared to the first method. Indeed, I cannot change the color/material of one element. Same for a group of elements (which can be the size of the network).
How can I change the materials of a part of a mesh efficiently ?
Is there a better way to manage all this elements ?
Best way to combine meshes ?
Hoping that I am clear enough ! Thanks !
Your answer
Follow this Question
Related Questions
Only render mesh over other mesh 1 Answer
A ring plane mesh showing through the mesh it loops around? 0 Answers
Camera still rendering everything even when using occlusion culling 1 Answer
Parts of my mesh aren't rendering and do other goofy things 1 Answer
Why do I have 10 times more draw calls than objects in my scene ? 1 Answer