Shading Tutorial for GP4 cars using normals with ZModeler v1.0 by Vicente Martí

First of all, we should remember what is a normal. A normal is a vector (with a length and direction).
Each vertex has a normal, and the most important the normals affect the reflections of the light on the car.
Normal's direction indicates the direction that light will be reflected from a surface, so if you see the surface in the direction of the normal all the light will be reflected.





But, if you see the surface in other direction different to the direction of the normal the surface reflects less light. The more the difference between the directions the less the reflected light. You can see it in the following image:



The length of the normal indicates how much light is reflected in the direction of the normal. The shorter the normal the less the reflection. It's very clear in the image: (left: long normals (normalized), right: short normals)



In this tutorial we will only work with normalized normals (all the normals will have the same length).
We will use the calculation, projection,... methods to make a nice shading to our GP4 car.

Now we are going to see several examples of surfaces:
NOTE: we will work in all the tutorial with the normals automatic update and extended mode switched off.







A slightly bended surface.

This is a surface with calculated normals (Surface -> Normals -> Calculate). The shading and the reflection is good, you can see it in the following images:

This is the surface:



And this is his shading:



But now we are going to detach the surface in two objects and calculate the normals. The shading of the resulting surface (the new surface has two objects) is:



You can see that the shading isn't good, and it seems that the object have a line in which the shading change.

Now, we can see the reflection in this object. The first image is the original object, and you can see that have a good reflection and it's smooth and continuos.



But the detached surface has an ugly reflection and moreover the reflection isn't continuous.
You can see it in the following image:



We can explain it using the normals. In the first image we can see that the vertex of the center are single. But in the second image (the detached surface) the vertex are double.
So the discontinuous shading is due to the double vertex. I have to tell you that different objects can't share vertices and it's one of the problems that we will have when we make GP4 cars.









A very bended surface.

This is a surface with calculated normals (Surface -> Normals -> Calculate). This surface has a sharp edge. We will see the problems of this kind of surfaces:
This is the surface:







This surface has a bad shading, and the edge of the surface isn't good. Moreover the reflections aren't good.



It's because a surface with a sharp edge should be like two different surfaces that reflect the light in a different way. Yes, we can do it detaching the two parts of the surface.
First, let's see a image of the normals of these surface:



You can see that the directions of the normals next to the vertex are very different. So to solve this we can detach the surfaces.
To detach the surfaces: Switch to faces level and Select -> Quadr, then select the faces of one of the new surfaces:



Then go to Create -> Objects -> Detach, activate SEL mode and click on the view. Then type the name of the new object in the dialog box that will appear.



Now you have the surface detached in two objets. If you see the shading of these two objects in the 3D view you can see that the shading is the same. But it's because the normals are the same (remember that we have switched of the normals automatic update and extended mode and we haven't apply any modification to the normals).



So now we can unite the two detached objects in one. To do this select the two objects (in objects level), then go to Create -> Objects -> UniteSelect and click on the view. Write the name of the new object in the dialog box that will appear and now you have an object with double vertex (this is the name of this process: the double vertex method).

But to get the correct reflection now we have to calculate the normals. Go to Surface -> Normals -> Calculate and in objects level click on the object, now in 3D view you will see this:



Now we have a sharped edge in 3D view, and it seems that the surface has two independent surfaces that reflect the light in a different way. It's because in the edge there are double vertex



And the surface on the right (vertical) and the surface on the left (horizontal) have a different set of normals because they don't share any vertex an then the surface with double vertex has a sharped vertex.
So double vertex are good if we want to make two independent surfaces with a sharped edge and a discontinuously shading.

We can see that the double vertex surfaces has a discontinuous reflection:

Normal surface:



Double vertex surface:



To finish whit this surface we can see the normals in the 3D view: Normal surface:



Double vertex surface:



Now we know how to solve the problem of sharped edges, but we want a sharped edges with a continuous shading and reflection we have to increase the number of polygons in the bended area (without using the double vertex method),and then the edge will be rounded. You can see it in the photos:















To conclude this part of the tutorial, if you want a surface with continuous shading and reflection don't use double vertex. But if this surface belong to two or more objects then you have to make first one object calculate the normals and then detach it in the new objects and don't calculate the normals, this is very important because if you calculate the normals the shading and the reflection will become a mess with discontinuous shading and the reflection. For example we will use these advice when we made the body of the F1 car for GP4 (remember that a GP4 car has a lot of different objects).





The front wing of the GP4 car.

I create the front wing but I don’t use double vertex to make it, so the shading and the reflection is awful. You can see that it's due to the normals that are oriented in a lot of directions.



To solve this I detached the upper part of the wing and then unite the two resultant parts and then calculate the normals. The result is:



You can see that the normals are now ok, all (more or less) in the same direction. When we create the other part of the wing we can see that the shading and the reflection is OK.



Another way is use the projection tool (using as a basis of our work the wing with the double vertex). To do this select the upper surface of the wing , place the axis like in the image (the axis is the grey X), activate the SEL mode and then select Surface -> Normals -> Projection and click on the Top view. Your normals will have a good appearance in the 3D view. And the shading and the reflection will be good.



The differences between the calculate and the projection method are shown in the next image:



So it's your decision to use the calculate or the projection method to adjust the normals.




The body of the GP4 car.

In the following image we can see the problem of the different objects in a gp4 car. To solve this we have to unite all the body of the car, then unite the double vertex, calculate the normals and finally detach the car body in different objects without calculate the normals after detach the body in different objects. So we will get a car with continuous shading and continuous reflection.



After doing this we will get the correct normals and reflection:



To unite the double vertex, follow the following steps:

* Switch to vertices level.
* Switch MUL button
* Switch SEL button
* Select -> Single
* Create Objects -> Unite select

Then right click to unite the near vertex (the double vertex) and after that left click to unite the selected vertex (then we will have only one vertex and therefore one normal).

After unite all the double vertex switch to objects level and calculate the normals, and finally detach the car body in different objects.





Please e-mail me and make suggestions to improve the method.
vtemarticent AT hotmail DOT com

Enjoy desgining F1 cars.
And remember to read all the tutorials in the gpxcarpainting web site and the Zmodeler web site .
You will find a lot of good tutorials and you will learn a lot of new things.


------------------------------------------------------------------------------------------------

Vicente Martí

Vicente Martí home page