spot_light

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Class

Light

Synopsis


Simulates light from a spot light, as a cone of light from the position of the light toward the point it is pointed at.

 


 

position
The position of the light. 
look_at
The direction of the spot light is described in terms of the line between two points, "position" and "look_at".
up
The light's up vector.


radius
If Radius is set to zero, then the cone of light from the spot will emanate from a notional point source. With a non-zero value for radius, then the light source will behave more like a spherical source with the radius specified (although again with the light emitted being constrained to a cone). The larger the radius, the softer the lighting from this light source (zero radius will give hard shadows). See also the Radius parameter in the point light.


lens_radius

When set to zero, the vertex of the spot light cone coincides with the light's specified position. If non-zero, the cone becomes truncated, and the light is assumed to come from a virtual position that falls behind the light's specified position. This simulates the effect of real-world luminaires that bundle together a light bulb and a parabolic reflector inside a small, closed fixture. For example, a Hollywood-style searchlight has a big lens radius and a very small cone angle, producing an almost parallel beam of light whose intensity decreases with distance only very slowly, reaching all the way to the clouds. The effect of this parameter is more clearly seen with volumetrics.

A laser sword effect can be achieved by using a high 'lens radius' and a low cone angle (atmosphere volume enabled).

cone_angle
The cone angle in degrees. No light will be emitted outside of this cone.
penumbra_angle
This angle, measured in degrees from the outer edge of the cone towards the spotlight axis, specifies an area where the light's intensity smoothly falls off to zero at the cone edge.
cosine_power
Controls the shape of the intensity distribution. If 0.0, the intensity smoothly decreases from "penumbra_angle" to the half cone angle. If greater than 0.0, the distribution has a cosine lobe shape and larger values sharpen it.
aspect_ratio

Set this to 1.0 (range is 0.0 to 1.0) for a cone with a circular cross section, or to another value for an elliptical cross section. Some theater lights, such as PAR cans, produce elliptical cross sections. 

roundness

A roundness parameter, going from a square shape at 0, to rounded corners, to a disk shape at 1.

matrix

Matrix to define the position, orientation, and scale of the light. Take into account we don't handle scaling in disk and cylinder lights.

color

The color of the light.

intensity

Intensity controls the brightness of light emitted by the light source by multiplying the color.

exposure

Exposure is an f-stop value that multiplies the intensity by 2 to the power of the f-stop. Increasing the exposure by 1 results in double the amount of light.

In Arnold, the total intensity of the light is computed with the following formula:

color * intensity * 2exposure

You can get the same output by modifying either the intensity or the exposure. For example, intensity=1, exposure=4 is the same as intensity=16, exposure=0.  Note: 20 = 1, not 0.

1 * 1 * 24 = 16

1 * 16 * 20 = 16

The reasoning behind this apparent redundancy is that, for some people, f-stops are a much more intuitive way of describing light brightness than raw intensity values, especially when you're directly matching values to a plate. You may be asked by the director of photography (who is used to working with camera f-stop values) to increase or decrease a certain light by 'one-stop'. Other than that, this light parameter has nothing to do with a real camera's f-stop control. Also, working with exposure means you won't have to type in huge values like 10,000 in the intensity input if your lights have quadratic falloff (which they should).

If you are not used to working with exposure in the lights, you can simply leave the exposure parameter at its default value of 0 (since 20 = 1, the formula then simplifies to: color * intensity * 1).

cast_shadows

Enables the computation of shadows cast from the light. 


shadow_density

Sets the shadow density, or strength. This controls how the shadow blends with the material on which the shadow is cast: a value of 1.0 produces an opaque, black shadow, and a value of 0.0 gives no shadow. Normally this would be 1.0. 


shadow_color

Sets the intensity of each color channel for shadows. Normally this would be black.


samples

Controls the quality of the noise in the soft shadows and direct specular highlight. The higher the number of samples, the lower the noise, and the longer it takes to render. The exact number of shadow rays sent to the light is the square of this value multiplied by the AA samples.

A schematic of how light noise occurs in Arnold

Note that setting light samples to 0 disables the light.

Noise from lights can sometimes be difficult to diagnose, particularly if the light source is broad in comparison to the scene and the shadows have an extremely wide penumbra. In these cases, it can sometimes be mistaken for indirect diffuse noise. It highlights the necessity for testing noise ray type. This diagram shows how light is traced in Arnold.

 

The example below shows specular highlights from area light sources. There are four spherical mesh light sources of varying sizes and color temperatures. Underneath are four cubes with Standard shaders assigned to them with varying degrees of specular roughness. Note that more noise is apparent with smaller light sources. Increasing the number of light samples resolves the noise. 

Specular roughness from top to bottom: 0, 0.1, 0.2, 0.3

 

If the issue is noise in a specular highlight, you will need to confirm that the source is the direct light and not a secondary ray type (such as specular). This is easy to achieve by turning off global illumination; set the Diffuse Depth and Specular Depth to zero (this essentially turns off all global illumination). If the noise is still there, we know it is the specular component of the illumination model. If the issue is shadow noise, then we can simply toggle ignore shadows in the Arnold render settings, and the noise will completely resolve.

The key, again, is to modify the sampling and observe the changes. Increasing the number of light samples should have an immediate and quantitive effect on the smoothness of the specular highlight and the shadow. If there is no change, light samples are not responsible for the noise.

Multiple importance sampling (MIS) is enabled by default in Arnold. The images below show the difference when rendering with and without multiple importance sampling.

normalize
If enabled, you will be able to tweak the shadow softness by changing the size (i.e., radius) of the light, without affecting the amount of emitted light. This is very handy for artistic control. Otherwise, if not enabled, the amount of emitted light is proportional to the light's surface area.


diffuse / specular / sss  / volume

Per-light scaling for Camera, Transmission, Diffuse, Specular, SSS, Indirect and Volume. Weights scaling the light contribution to each of those components independently. Should be left at 1 to produce physically accurate results.

Only Area lights and Point lights (non-0 radius) are visible to the camera. Camera and Transmission values default to 0 with Area lights.

indirect

The relative energy loss (or gain) at each bounce. This should be left at its default value of 1.0 for physically meaningful results. Values bigger than 1 make it impossible for GI algorithms to converge to a stable solution.

max_bounces
The maximum number of times the energy from this light will be allowed to bounce in the scene. A Max Bounces value of 0 means that the light will only be part of the direct lighting computations, effectively disabling GI for this light. Note that this value works along with the global ray depth controls, so the default value of 999 bounces per light is just a theoretical maximum; in practice, the global ray depth limits are set much lower.


filters

Lights in Arnold can be extended by light filters to create attenuation, gobo or blocker effects. These are specific shaders that can be connected to the filters parameter.

aov

Per-light AOVs are available via a string parameter. Each light has an AOV parameter which writes out the light contribution to a separate AOV with a corresponding name. See also Light Path Expression AOVs.

volume_samples

The volume samples parameter handles the number of samples used to integrate the in-scattering from direct light. Like the "samples" parameter for surfaces, it is also a squared number.

motion_start

The time at which the first motion key of the shape is sampled. Other motion keys must be uniformly spaced within this range. By convention, the times are frame relative. For example, start and end times -0.5 to 0.5 indicate that the motion keys were sampled midway between the previous and current frame, and the current frame and next frame. This is applied to cameras, lights, and shapes.

motion_end

The time at which the last motion key of the shape is sampled. Other motion keys must be uniformly spaced within this range. By convention, the times are frame relative. For example, start and end times -0.5 to 0.5 indicate that the motion keys were sampled midway between the previous and current frame, and the current frame and next frame. This is applied to cameras, lights, and shapes.

  • No labels