In order to calculate the shading of a 3D object, Unity needs to know the intensity, direction and color of the light that falls on it.
These properties are provided by Light objects in the scene. The base color and intensity are set identically for all lights but the direction depends on which type of light you are using. Also, the light may diminish with distance from the source. The four types of lights available in Unity are described below.
A Point Light is located at a point in space and sends light out in all directions equally. The direction of light hitting a surface is the line from the point of contact back to the center of the light object. The intensity diminishes with distance from the light, reaching zero at a specified range.
Point lights are useful for simulating lamps and other local sources of light in a scene. You can also use them to make a spark or explosion illuminate its surroundings in a convincing way.
Like a point light, a Spot Light has a specified location and range over which the light falls off. However, the spot light is constrained to a angle, resulting in a cone-shaped region of illumination. The center of the cone points in the forward (Z) direction of the light object.
Spot lights are generally used for artificial light sources such as flashlights, car headlights and searchlights. With the direction controlled from a script or animation, a moving spot light will illuminate just a small area of the scene and create dramatic lighting effects.
A Directional Light does not have any identifiable source position and so the light object can generally be placed anywhere in the scene. All objects in the scene are illuminated as if the light is always from the same direction. The distance of the light from the target object is not defined and so the light does not diminish.
Directional lights represent large, distant sources that come from a position outside the range of the game world. In a realistic scene, they can be used to simulate the sun or moon. In an abstract game world, they can be a useful way to add convincing shading to objects without exactly specifying where the light is coming from. When checking an object in the scene view (to see how its mesh, shader and material look, for example) a directional light is often the quickest way to get an impression of how its shading will appear. For such a test, you are generally not interested in where the light is coming from but simply want to see the object look “solid” and look for glitches in the model.
An Area Light is defined by a rectangle in space. Light is emitted in all directions, but only from one side of the rectangle. The light falls off over a specified range. Since the lighting calculation is quite processor-intensive, area lights are not available at runtime and can only be baked into lightmaps.
Since an area light illuminates an object from several different directions at once, the shading tends to be more soft and subtle than the other light types. You might use it to create a realistic street light or a bank of lights close to the player. A small area light can simulate smaller sources of light (such as interior house lighting) but with a more realistic effect than a point light.