3D modeling is an art form, which means it takes a lot of time and skill to create 3d models. This article will look at the difference between low-poly and high-poly 3d models, why we need both types for virtual reality environments, and how each type can be used in VR projects.
There is a lot of trickery involved in creating a realistic-looking virtual environment – especially one that runs smoothly. In this article, we’re going to look at what happens behind the scenes of beautiful yet fast virtual environments and how we can achieve them through baking normal maps.
But first, let’s get the basics down:
What is a low-poly model?
A low-poly model is a 3d model that has less detail than many high-quality models. Low-poly is shorthand for low-polygon, which makes reference to the number of faces within a mesh. If you are new to 3D concepts and would like to understand how meshes and faces work, you can read my other article here.
The main benefit of these models is the performance cost and file size, which can be drastically decreased in comparison to high-resolution polygon counts. Low-poly modeling is a great option for VR games with lower budgets or simple, block-ish art styles.
Many 3D artists have adopted low-poly models as a unique art style – and it’s easily recognizable. Lower poly models are created by combining a large number of squares and triangles which interconnect to resemble an object in an abstract way.
Low-poly models are generally very low in vertex count, and therefore better for VR environments. They use less of the computer’s processing power which can be important if you want to avoid loss of frames or lag within your 3D world.
What is a high-poly model?
High-resolution polygon counts tend to have a high-performance cost due to their complexity but also a high visual fidelity. They are best for 3D environments where you need to have an object that is very close and in detail, such as a hand model or car model – because of their increased number of polygons they can be more realistic looking than low-poly models.
High-poly models are the best for architectural visualization or instances where the 3D artist is only after rendering one still frame. High poly models are far more complex and are heavier to render in real-time virtual reality environments, which is why they are not ideal.
High poly models will often look way better not only because they have more faces, but because of how these faces interact with real-time lighting. In real life, no objects are perfectly square and no object has perfectly right-angled edges – but in a 3D world, this is typically how they are modeled. Look a the corner of your screen or phone you are reading on – it has fairly rounded edges. These edges will catch some light coming from the other parts of the room you are standing in and this is what makes objects look realistic.
Unfortunately for us in a 3D world, these elements of realism are expensive in terms of polycount. This is why we need both low poly and high poly models for VR environments so that the different lengths of an object can be accurately represented.
How do We Get the Best of Both Worlds?
So we want the realism and beauty of high-poly models but we also want the speed and efficiency of low poly models. Luckily for us, there is a sneaky way we can combine the two – and the answer is through baking normal maps.
Normal maps are textures that are baked out of a high-poly model and can be used to lighten the low-poly counterpart.
Normal maps make it possible for us to use low poly models in virtual reality, retaining all the benefits but without sacrificing any realism or detail.
That’s why you need both low poly and high poly 3d models!
Every VR project needs these two types of objects: low-poly (mostly) static geometry such as buildings, trees, cars, etc., with some exceptions; high-poly elements mostly being characters.
I personally always start 3D modeling my environments in high-poly. I will then make copies of all the assets in my scene and go through a series of techniques to delete unnecessary faces in order to make the copies low-poly versions of the original model.
In the typical 3D artist’s workflow, they would first create a high-poly model and then use the low poly counterpart to generate a normal map.
The high detail sculpted texture is baked down to create a rough, bumpy surface that can lighten up on the low-Poly model.
This ensures there’s no visible difference between both models in virtual reality environments as well as speeding up the real-time rendering of the scene.
Baking refers to the process of creating an image from a 3D model’s surface data. This can be done by projecting the polygonal mesh onto a texture or using Mental Ray for Maya, xNormal for 3ds Max, and other third-party software.
The Best Software to Bake a Normal Map
Nowadays, we’re constantly trying out new ways of doing things in order to make our lives easier and more convenient so it’s only natural that there are tools available now for baking normal maps too! The way this works is by using algorithms which means you can still have high-quality textures without having to go through all the time and effort required with the traditional method… Read More *Link*
I personally use Marmoset Toolbag which is a 3D package, but Substance Painter and Quixel Suite are also popular choices.
You can bake a normal map in Marmoset by doing the following:
- Create a New Bake.
- Make sure Autobake is set to None.
- Drag in your Low Poly model and Make sure it is a child of the Low Poly object in the scene hierarchy.
- Drag in your High Poly model and Make sure it is a child of the High Poly object in the scene hierarchy.
- Click on the Low Poly object and make the relevant adjustments to the settings:
- Adjust the cage that sits outside of your High Poly model.
- Set the file location to where you would like your .psd to save.
- Make sure Normals, Normals obj, Position, Thickness, and Ambient Occlusion is ticked in the output.
- Click Bake.
In a materialization software like Substance Painter, you can now load these normal maps into the software and apply them to your low poly model. This should result in your low poly model imitating the shadows and bumps of your high poly model!