The subject of this article will be worked with maya and Unity. 

There are many ways to work with vegetation in video games, but one of the common ways is using a single texture in quads and adjust them in your scene or object (a tree, a bush, grass, etc.) like billboards.

However, in many occasions the way that light interact on these planes not work exactly as we want and our foliage could look really odd, but here is a way to change their look:

In this Example, we can see 4 objects, they are exactly the same, all posses the same materials, however, they look different, this is cause their vertex normal configuration is not the same.


As you can see, the direction the normals point is different in both cases, these influences directly on how the light is affecting our objects. 

To see the vertex normals of any object, you have to select your object and then go to the menus: Display / Polygons / Vertex Normals.


NOTE: Vertex Normals are different than face Normals,  should not be confused.

How we can influence / modify the direction point of the vertex Normals?, this is pretty easy, we're going to transfer the vertex Normals direction from other object to our foliage, in this case we're going to use a sphere to achieve this "Smooth" looking, in other words, we will make our vegetation receives the light in the same way that a common sphere does.


STEP 1 / CREATE A SPHERE:

We're going to create a common sphere with a similar size to that our foliage, we can switch on the vertex Normals on screen so we could see in what direction they point, we're going to transfer this information to our vegetation. 


STEP 2 / ADJUST THE SPHERE SILHOUETTE :

Our foliage is not completely spherical, so, we're going to delete from our sphere all that geometry that we don't need to try to adjust it to the silhouette of our vegetation and just transfer the proper directions. 

Adjust your half sphere and scale it if you have to (in case your foliage was bigger or taller), anyway, you have to follow the silhouette of your foliage with your half sphere.



STEP 3 / TRANSFER ATTRIBUTES:

Let's transfer the attributes from the sphere to the foliage, but not all of them, we're going to transfer only the direction of the vertex Normals, to do that, select the sphere first (an object that is going to transfer the information). And after that, holding "Shift", we're going to select the foliage (an object that is going to receive the information). If you have the vertex Normals display enabled on both objects you could see clearly the changes after the transfer.



Now, open the "Transfer Attributes" menu here: Mesh / Transfer Attributes, and then, select the options component (the white square). We're going to transfer only the vertex Normals information as you can see in the next image, after that just click on 'Transfer'.




STEP 4 / CLEAN HISTORY:

At this point, you already have transferred the vertex Normals attributes from the sphere to the foliage, now you just need to clean history from the sphere and the foliage, this is very important, if you don't do it, you will obtain a weird result after you delete the sphere. 

After clean history, you could delete the sphere and now you can see that the foliage has inherited the  vertex normals direction points from the sphere, no matter how many vertices these both objects have.




FINAL RESULT IN UNITY

On Unity, we can appreciate a long way better the difference at the moment you assign the materials, same object, same material, different vertex Normals configuration.




ADDITIONAL INFORMATION

This technique works for any object, you can transfer these attributes to influence the vertex Normals of any mesh and change the way light interact with your objects, let's see these tree tops as an example,  depending on the transferring object and its position in relation to the object that will receive the information you will obtain different results and you can just play with this until you obtain the right answer for your asset. 

If you disable the texture's display from your maya scene, you will can see how light interact over your objects in a clearer  way.






Finally, if you have a material in Unity for the leaves of your trees, you can increase the repetition amount of these to increase the density of your tree tops, whether this looks nice will depend on how your texture is created, but it's worth considering to add more leaves without more geometry in the scene.





For any kind of doubt, just let me know in the comments or send me a direct message here. If you want to make a donation for the site you can do it in my Ko-fi account, this will help me a lot to continue creating content for you!



Comentarios