So, after posting pictures of my trees in the UE4 Discord, and just in general, even, I’ve had a lot of people ask me or others about how to make the normals for trees or bushes spherical. If you have Max, this is easy as all you have to do is download the NormalThief script and you’re all set to transfer your normals. Modo Indie: Too bad. Maya: Can do this out of the box, I think; if not, it’s a script or plugin away. So what do you do if you don’t have one of the really big name modeling programs and you want spherical normals? Download Blender.
So before I go further, I feel like Simon Schreibt deserves alot of credit for bringing attention to this method of having stylized rendering for trees with this writeup: https://simonschreibt.de/gat/airborn-trees/
Alright, so with that stuff out of the way, and assuming you read Simon’s article to understand the goal here, let’s get started.
So in this picture, all I have is a group of arranged foliage cards generated by the Blender Add-on, Sapling Tree Gen. You’re going to want to transfer normals to your foliage after you already have them arranged on your branches/mesh, so do that.
Next, head over to the Data tab and enable Auto-Smooth.
Move one tab over to the Modifiers tab and add in a Normal Edit modifier. Leave it set to Radial and do not apply the modifier just yet.
Next, hit A to deselect your foliage, then Ctrl+A>Mesh>UV Sphere. With the UV sphere highlighted, hit S to scale the sphere to where it’s big enough to fit your foliage inside of it completely. You don’t want foliage sticking outside of the sphere, and you don’t want the sphere to be a lot bigger than your foliage, so play around until you get a tight fit on the inside. Once you’ve done that, move the camera into the sphere so you can see, select your foliage and head back over to the normal modifier we added earlier. Under the word radial, there will be a drop down box that will let you pick the mesh you want to transfer normals from. Simply pick your sphere and hit apply.
Before applying the modifier:
After applying the modifier:
The Before picture shows the area to view normals. To get them to become visible, select your foliage, hit Tab to enter edit mode, then hit N to bring up that palette. Finally, scroll down to the area I highlighted in the Before pic, click view vertex normals per face (the middle one) and set your normal size to whatever you want.
Well…that’s it. Getting spherical normals in Blender is very simple, and I’m pretty sure I didn’t leave out any steps. If you have questions, feel free to ask.
Edit: If you don’t want entirely spherical normals, you can cut the sphere in half and then stretch it to become somewhat of a cone. This will make it so that the bottom of your foliage doesn’t have normals that point downwards. This can affect shading in way that some don’t like, so I figured that was worth mentioning.