Sie sind auf Seite 1von 5

Tutorial de Unity 3D

Tema 7
Light Tutorial

Light Tutorial
El siguiente contenido se encuentra en ingls y ha sido extrado del manual de usuario de Unity 3D:
Lights will bring personality and flavor to your game. You use lights to illuminate the scenes and
objects to create the perfect visual mood. Lights can be used to simulate the sun, burning match light,
flashlights, gun-fire, or explosions, just to name a few.
The Light Inspector
There are three types of lights in Unity:
Point lights shine from a location equally in all directions, like a light bulb.
Directional lights are placed infinitely far away and affect everything in the scene, like the sun.
Spot lights shine from a point in a direction and only illuminate objects within a cone - like the headlights of
a car.
Lights can also cast Shadows. Shadows are a Pro-only feature. Shadow properties can be adjusted on a perlight basis.
Properties
Type
Directional
Point
Spot
Range
Spot Angle
Color
Intensity
Cookie

The current type of light object:


A light placed infinitely far away. It affects everything in the scene.
A light that shines equally in all directions from its location, affecting all objects within
its Range.
A light that shines everywhere within a cone defined by Spot Angle and Range. Only
objects within this region are affected by the light.
How far light is emitted from the center of the object. Point/Spot light only.
Determines the angle of the cone in degrees. Spot light only.
The color of the light emitted.
Brightness of the light. Default value for a Point/Spot light is 1. Default value for
a Directional light is 0.5
The alpha channel of this texture is used as a mask that determines how bright the light is

Tutorial de Unity 3D Tema 7

Pg. 1

Tutorial de Unity 3D
Tema 7
Light Tutorial

Cookie Size
Shadow
Type (Pro only)
Strength
Resolution
Bias
Softness
Softness Fade
Draw Halo
Flare
Render Mode
Auto
Important
Not Important
Culling Mask
Lightmapping

at different places. If the light is a Spot or a Directional light, this must be a 2D texture. If
the light is a Point light, it must be a Cubemap.
Scales the projection of a Cookie. Directional light only.
No, Hard or Soft shadows that will be cast by this light. Only applicable to desktop build
targets. Soft shadows are more expensive.
The darkness of the shadows. Values are between 0 and 1.
Detail level of the shadows.
Offset used when comparing the pixel position in light space with the value from the
shadow map. When the value is too small the surfaces start to self-shadow themselves
("shadow acne"), when too big - casters are disconnected from receivers ("peter
panning").
Scales the penumbra region (the offset of blur samples). Directional light only.
Shadow softness fade based on the distance from the camera. Directional light only.
If checked, a spherical halo of light will be drawn with a radius equal to Range.
Optional reference to the Flare that will be rendered at the light's position.
Importance of this light. This can affect lighting fidelity and performance, see Performance
Considerations below. Options include:
The rendering method is determined at runtime depending on the brightness of nearby
lights and current Quality Settings for desktop build target.
This light is always rendered at per-pixel quality. Use this for very important effects only
(e.g. headlights of a player's car).
This light is always rendered in a faster, vertex/object light mode.
Use to selectively exclude groups of objects from being affected by the light; see Layers.
The Lightmapping mode: RealtimeOnly, Auto or BakedOnly; see the Dual
Lightmaps description.

Details
There are three basic light types in Unity. Each type can be customized to fit your needs.
You can create a texture that contains an alpha channel and assign it to the Cookie variable of the light. The
Cookie will be projected from the light. The Cookie's alpha mask modulates the light amount, creating light
and dark spots on surfaces. They are a great way af adding lots of complexity or atmosphere to a scene.

Tutorial de Unity 3D Tema 7

Pg. 2

Tutorial de Unity 3D
Tema 7
Light Tutorial

All built-in shaders in Unity seamlessly work with any type of light. VertexLit shaders cannot display Cookies
or Shadows, however.
In Unity Pro with a build target of webplayer or standalone, all Lights can optionally cast Shadows. This is
done by selecting either Hard Shadows or Soft Shadows for the Shadow Type property of each individual
Light. For more information about shadows, please read the Shadows page.
Point Lights

Point lights shine out from a point in all directions. They are the most common lights in computer games typically used for explosions, light bulbs, etc. They have an average cost on the graphics processor (though
point light shadows are the most expensive).

Point Light
Point lights can have cookies - Cubemap texture with alpha channel. This Cubemap gets projected out in all
directions.

Point Light with a Cookie


Spot Lights

Spot lights only shine in one direction, in a cone. They are perfect for flashlights, car headlights or lamp
posts. They are the most expensive on the graphics processor.

Spot Light
Spot lights can also have cookies - a texture projected down the cone of the light. This is good for creating
an effect of light shining through the window. It is very important that the texture is black at the edges,
has Border Mipmaps option on and its wrapping mode is set to Clamp. For more info on this, see Textures.
Tutorial de Unity 3D Tema 7

Pg. 3

Tutorial de Unity 3D
Tema 7
Light Tutorial

Spot Light with a Cookie


Directional Lights

Directional lights are used mainly in outdoor scenes for sun & moonlight. The light affect all surfaces of
objects in your scene. They are the least expensive on the graphics processor. Shadows from directional
lights (for platforms that support shadows) are explained in depth on this page.

Directional Light
When directional light has a cookie, it is projected down the center of the light's Z axis. The size of the cookie
is controlled with Cookie Size property. Set the cookie texture's wrapping mode to Repeat in the Inspector.

Directional Light projecting a cloud-like cookie texture


A cookie is a great way to add some quick detail to large outdoor scenes. You can even slide the light slowly
over the scene to give the impression of moving clouds.
Performance considerations
Lights can be rendered in one of two methods: vertex lighting and pixel lighting. Vertex lighting only
calculates the lighting at the vertices of the game models and interpolates the lighting over the surfaces of
the models. Pixel lights are calculated at every screen pixel, and hence are much more expensive. Some
older graphics cards only support vertex lighting.
While pixel lighting is slower to render, it does allow some effects that are not possible with vertex lighting.
Normal-mapping, light cookies and realtime shadows are only rendered for pixel lights. Spotlight shapes and
Point light highlights are much better when rendered in pixel mode as well. The three light types above would
look like this when rendered in vertex light mode:

Point light in Vertex lighting mode.


Tutorial de Unity 3D Tema 7

Pg. 4

Tutorial de Unity 3D
Tema 7
Light Tutorial

Spot light in Vertex lighting mode.


Directional light in Vertex lighting mode.
Lights have a big impact on rendering speed - therefore a tradeoff has to be made betwen lighting quality
and game speed. Since pixel lights are much more expensive than vertex lights, Unity will only render the
brightest lights at per-pixel quality. The actual number of pixel lights can be set in the Quality Settings for
webplayer and standalone build targets.
You can explicitly control if a light should be rendered as a vertex or pixel light using the Render
Mode property. By default Unity will classify the light automatically based on how much the object is affected
by the light.
The actual lights that are rendered as pixel lights are determined on an object-by-object case. This means:
Huge objects with bright lights could use all the pixel lights (depending on the quality settings). If the player
is far from these, nearby lights will be rendered as vertex lights. Therefore, it is better to split huge objects
up in a couple of small ones.
See Optimizing Graphics performance on Desktop, iOS or Android page for more information.
Creating Cookies
For more information on creating cookies, please see the tutorial on how to create a Spot light cookie.
Hints
Spot lights with cookies can be extremely effective for making light coming in from windows.
Low-intensity point lights are good for providing depth to a scene.
For maximum performance, use a VertexLit shader. This shader only does per-vertex lighting, giving a much
higher throughput on low-end cards.

Tutorial de Unity 3D Tema 7

Pg. 5

Das könnte Ihnen auch gefallen