High vertex count on export from Qubicle
Hi !
We have a huge problem with Qubicle exported models in Unity: the vertex count is so high that FPS drop to 10. We have looked over hundreds of questions over the internet and followed a lot of tips to improve number of DrawCalls, general performance, shaders, occlusion, etc. But the problem is still there because of that high vertex count (for example 3 small houses with all their furnitres inside are worth 500.000k vertex, we want to make a entire town...).
So our question is, is there a way of reducing number of vertex rendered every frame or is it a Qubicle problem (we are currently doing pixelart-voxel, very small voxel unit) ? If so, is there a way to open .fbx models with another software to reduce the vertex count ?
Thank you for your time, this is a very huge wall for the development of the game and we really want to do what we had in mind since the beginning.
Greatings.
It definitely sounds like an exporter or workflow issue. I haven't used Qubicle, but if it doesn't reduce vertices for you, you'll have to pass it through some software where you can reduce vertices before you import it into Unity. I am not a modeler/artist so I don't know what options are available for perfor$$anonymous$$g that kind of task nor if it can be automated.
Hi, thank your for your answer. Unfortunately I have tried stuff like importing to 3ds studio max and applying some Optimize, ProOptimize or $$anonymous$$ultiRes and it totally deforms the voxel perfection.
Now I just think it's impossible to decrease vertex count without loosing quality....It sounds obvious but I'm not a 3d modeler neither and I still had some kind of hope.
Please if someone knows something that maybe could help us it would be great :)
Thank you.
Well, I'd hold on to the guns and wait for someone to answer your question. I just commented because I knew I couldn't give you a clear answer. $$anonymous$$ore of a "pick my brain" kind of thing. It could help if you put one of the assets in your question as a render + wireframe render (screenshot, whatever) so we get an idea of the geometry and requirements for the vertices.
Well, without any culling or lod techniques, that looks a bit overkill. Will the blocks even occupy more than a pixel on the screen far away?
I think you should geo-mipmap the models (voxels are handy because they are relatively easy to geo-mipmap). I don't know if there are any existing voxel geo-mipmap engine plugins to Unity, but it's possible to write one yourself. In that case, rather than importing fbx models, you load a sparse voxel map and procedurally generate the visible hull depending on distance from camera. It'll make objects blocky at a distance and crisp near the viewer. With geo blending, the transition between a lowres and a higher res is smooth ins$$anonymous$$d of a visible pop. But you would have to be prepared to write your own marching cubes polygonizer, or find one someone else made. It's not super tricky to get a basic system set up, it can be done in a day or two with little experience. Perhaps longer if you're all new to generating meshes procedurally. Then it'll take some time to kink out performance issues (memory / cpu / gpu). You could also procedurally control quality so it runs smoother on low end systems. The biggest concern might be how to handle asset workflow. I.e. can you still use Qubicle, or should you be editing voxels directly in Unity? And if you do try to make your own system, benchmark it fully to get a feel for memory consumption, triangle count, cpu and gpu stress and whatever you need to look at. If managed code is too slow, write a plugin. If the plugin is too slow, thread it. If the threads are too slow, load it on GPU. And so on.
I dunno, that's my reaction when I saw the model anyway. But that's from a programmers point of view. And there are more programmers than me :)
Hi again !
Thanks for that one, we will dig into it. It's the first time I have to face to this kind of problems and I haven't worked with procedural generated mesh yet, so if you got (or anyone) some links that could help me starting they are welcome :D
Cheers.
Your answer

Follow this Question
Related Questions
How to handle multiple terrains? 0 Answers
Slider representing player's movement 1 Answer
Reducing number of TEXCOORD# channels in a shader for performance. 0 Answers
Mesh as polygon Colider 0 Answers
Textures missing 0 Answers