I started to work on a VR game project with Low Poly Style graphics. I am going to announce the new project next months. It’s very crazy and something never been tried. We are realy excited to work on it!
Eventhough, I used to work on Low poly style graphics in 3ds max ( I have even a tutorial post in previous pages), it is quite tricky when working in Unity 3D. When it comes to creating 3D models for VR experiences, keeping the vertex count low is very important. Models must be really low poly and the scene must be very well optimized for a fluid experience.
However, when i export my low poly models with individual smoothing groups per polygon, vertex counts in Unity increases to astronomical numbers. I was very surprised when i realized smooth objects are more performance friendly rather than flat objects (Low poly style). Because i was expecting the opposite.
So I wanted to test what is actually happening.
I created this two geosphere above in 3Ds Max. They are absolutely same, clone geospheres. I named them as “smooth” and “flat”, then i added smooth modifier to the “flat”. Then i lower the smooth treshold like picture below.
Then I exported them to Unity 3D 2017
Keep in mind that an empty scene in Unity 3D causes 5k vertex eventhough there is no object around. It is because of the skybox in the scene. If you clear the skybox from lighting panel you can decrease default vertex count to 4, I assume.
As you see the picture above, you will notice that flat is 4 times more, compare to smooth. In larger scenes, this difference will be beyond acceptable limits.
What is the correct way to create Low Poly Style Scenes?
The best way to solve that issue is creating the low poly style in shaders. Exporting 3D Models with 1 smoothing group is best for performance. Then you can give it low poly look with shader below.
As you see in the picture below, object “smooth” has flat shading material which i downloaded from the link above, has no vertex difference compared to its default.
The result is absolutely wonderful for me.
I hope the post was clear and helpful for the people who stuck in that problem.