Roblox and normal maps: a guide to baking and hacks for 3D modeling

DISCLAIMER: This tutorial is not made for the purpose of directly using normal maps in ROBLOX, rather using normal maps to bake AO to your diffuse to get a higher level of detail.

Also, this tutorial assumes intermediate knowledge with 3D modeling

:honeybee: Hello! My name is Honeydewloon and I am a modeler on ROBLOX. As many experienced modelers know, ROBLOX has many limitations for meshes and configuration of meshes.

In this tutorial, I will be showing the modelers of Roblox a (somewhat tedious) hack for getting a higher level of detail on your mesh through the use of baking a static lighting into your diffuse from a normal map.

If you are unaware of the workflow for creating and baking normal maps, skip to CREATING NORMAL MAPS If you already know how to make and bake normal maps, skip to THE HACK :honeybee:

CREATING NORMAL MAPS
A normal map is an image that is used to fake high-resolution detail on a low poly model. (Though if you donā€™t know a lot about Normal Maps, this tutorial is probably not for you).

1. Creating a block-out
Block-outs are created to get a basic feel and shape of the model, without being a high poly mesh. Your block-out should be somewhat low poly, but have good edge flow and topology to optimize for the high poly mesh. For our purposes, your block-out should include every detail you want on your high poly mesh

2. Creating a high poly mesh
After you finish your block-out, save it to a different layer and create a duplicate. With this duplicate, add a subsurface modifier. Add support loops until the high poly has smooth edges. (Edges should not be too sharp, but they also shouldnā€™t be too smooth, you can control this based on how close the support loop is to the edge)

3. Creating a Low Poly Mesh
This part is relatively simple; delete any details on your blockout (you hopefully saved a copy of this to another layer) that can be baked into a normal map. These details include but are not limited to: Nuts, Bolts, Small Insets, or text and letters. Your low poly mesh should be under 10k triangles by the time you are done.

In some cases, you will need to retopologize your mesh to get a good representation of your high poly mesh.

4. Baking
In this step, you will be baking your high poly to your low poly. To do this, make sure that each of your meshes (high and low) are in the same position as each other and are overlapping. You will need to create a new material for your low poly and have it UV unwrapped, assuming you are using Blender. After that, make sure you are in cycles render. Go to baking, and select ā€œNormalā€ scroll down and select ā€œselected to active.ā€

Then, click your high poly mesh and shift click your low poly mesh, and then Bake it. You now have your normal map.

THE HACK
In this hack, you will be using your normal map to get an Ambient Occlusion for details that donā€™t actually exist on your model.

1. Tips For Getting The Best Result
In Blender, or whatever software you are using, try and mimic the lighting of your ROBLOX Scene. That way, the ambient occlusion baked into your model can feel more fitting to your ROBLOX Game.

2. Setting Up
After you texture your model in Substance Painter or whatever software you use, import it to your 3D modeling software of choice (I will be using blender for this example) and apply all the maps you get from your texturing software.

Create a new material called whatever you want, but for this example it will be called ā€œDiffuse.ā€

3. Baking
Using the lighting in your Blender scene, bake your different maps into the diffuse using ā€œCombinedā€ In the cycles baking dropdown Menu.

Bake this to ā€œDiffuseā€ and apply it to your mesh. You can tweak it a bit to your liking.

Conclusion
:honeybee:I hope you all enjoyed this tutorial which, again, was intended for intermediate modelers.

ROBLOX has plans to add Normal Maps as they are meant to be used, according to the Roadmap, though no one really knows how exactly it will work.

For the time being, this is the only way I know to get something remotely close to the effect that a Normal Map produces, even if it is tedious and yields mediocre results.

Thank you!:honeybee:

41 Likes

This is the best tutorial Iā€™ve ever encountered. My clout point goes to honeydewloon.

4 Likes

Thank you honey for this, I really needed something like it but could never find anything about it.

3 Likes

i followed the baking steps, and made sure the highpoly building and low poly were at the same spot. and i did the correct steps for baking, but my normal map came out ugly. and iā€™m not sure what happened.Screen Shot 2020-12-31 at 3.16.16 PM

this is my highpoly, but i got this insteadScreen Shot 2020-12-31 at 3.15.54 PM

Can you add me on Discord so we can chat? NonSequitur#3075

sure. just sent a friend request