Class

Camera

Synopsis

uv_camera allows rendering an image in a mesh UV space. It can be used to bake a specific rendering and apply it later using an image node. 

 


 

position

The position of the camera.  (common)

look_at

The point at which the camera is pointing.  (common)

up

The up vector of the camera.  (common)

matrix

Matrix to define the position and orientation of the camera.   (common)

handedness

Chooses the "right" handed or "left" handed coordinate system.  (common)

near_clip

The near clipping plane of the camera's renderable area.  (common)

far_clip

The far clipping plane of the camera's renderable area.  (common)

screen_window_min

This defines the 2d window in the projection plane that will be rendered. If set to its default (-1,-1) (1,1) the frame will exactly match with the defined region, after taking aspect_ratio into account so that there is no distortion. These should be set if you want to stretch, squash, or zoom to a particular area in an image.  (common) 

screen_window_max

This defines the 2d window in the projection plane that will be rendered. If set to its default (-1,-1) (1,1) the frame will exactly match with the defined region, after taking aspect_ratio into account so that there is no distortion. These should be set if you want to stretch, squash, or zoom to a particular area in an image.  (common)

shutter_start

Defines when the camera shutter is open. The shutter range is normalized to 0 and 1. shutter_start of zero would equal to the first motion blur key while a shutter_start of one would equal to the latest motion blur key.  (common)

shutter_end

Defines when the camera shutter is closed. The shutter range is normalized to 0 and 1. shutter_end of zero would equal to the first motion blur key while a shutter_start of one would equal to the latest motion blur key. The shutter_end must be bigger than the shutter_start.  (common)

shutter_type

The filtering applied to time samples. By default, this is a box filter, with all time samples having the same weight. A triangle (or "tent") filter is also available which produces smoother trails.

Arnold supports custom shutter shapes with the shutter curve camera parameter. You can define as many points as required. Coordinates increase from 0 (corresponding to the shutter_start) to 1 (corresponding to the shutter_end). Values in the vertical axis must be non-negative, and it is not recommended to enter values above 1. The values are linearly interpolated between each point. In the examples below, you can see the effect different curve shapes have on the motion blur trail of a sphere that has been key-framed moving from left to right.

Various custom camera shutter curve shapes

  (common)

rolling_shutter

Rolling Shutter is used to simulate the type of rolling shutter effect seen in footage shot with digital cameras that use CMOS-based sensors such as Blackmagics, Alexas, REDs, and even iPhones. This method is implemented by rolling (moving) the shutter across the camera area instead of the entire image area all at the same time. 

Without rolling shutter (rollover image).

With rolling shutter (rollover image).

 

The Rolling Shutter direction specifies the direction that the rolling shutter takes place. The default is 'off'' and can be set to 'top' (top to bottom being the most common scanning direction), 'bottom', 'left' or 'right'. 

 

Interesting effects can be achieved when combining motion blur 'length' with rolling shutter:

Motion blur 'length' from 0 to 2

  (common)

rolling_shutter_duration

With this parameter, it is possible to control the duration of exposure of the scanlines in a rolling shutter camera. Valid values for this parameter are in the 0 to 1 range, where a value of 0 gives you an instantaneous exposure of each scanline (the default value and the rolling shutter's previous behavior), and a value of 1 exposes every scanline for the entirety of the camera's shutter interval (the same result that a camera without rolling shutter would give).


  (common)

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. Times can be absolute or relative as long as shutter and motion times use the same convention. By convention, the times are frame relative. For example, start and end times -0.5 to 0.5 indicate that two motion keys will be sampled midway between the previous and current frame, and the current frame and next frame. This is applied to cameras, lights, and shapes.
  (common)

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. Times can be absolute or relative as long as shutter and motion times use the same convention. By convention, the times are frame relative. For example, start and end times -0.5 to 0.5 indicate that two motion keys will be sampled midway between the previous and current frame, and the current frame and next frame. This is applied to cameras, lights, and shapes.  (common)

exposure

Simulates the effect of camera exposure (in a non-physical way). Increasing this parameter by a value of one gives you one stop up (doubles the brightness). 

  (common) 

filtermap

Weights the camera sample by a scalar amount defined by the shader linked to the filtermap. This shader will use as an input, u,v coordinates in image-space coords [0,1) and x,y in pixel coordinates. This allows you to darken certain regions of the image, perfect to simulate vignetting effects.

There is an optimization in place where if the filter returns pure black then the camera ray is not fired. This can help in cases such as when rendering with the fisheye camera where, depending on its autocrop setting, parts of the frame trace no rays at all.

Circular ramp mapped to the camera's filtermap to create a vignette effect

  (common)

mesh

Name of the mesh that is meant to be baked. The output image space will be in this mesh UV coordinates.

offset

Precision factor that is currently needed to perform the baking. Rays will be sent from an offset along the triangle normal. This value depends on the scale of the scene, and artefacts can appear if it's not set properly.

grid_size

Size of the 2d grid acceleration structure used to retrieve the world position based on UV coordinates.

u_offset

Offset applied on the U coordinates during the render. This can be used to render UVs out of the [0,1] range.

v_offset

Offset applied on the V coordinates during the render. This can be used to render UVs out of the [0,1] range.

uv_set

Choose which UV set to use. When empty (by default), the native UV coordinates will be used.

u_scale

Determines how the output image will scale in the U range.

v_scale

Determines how the output image will scale in the V range.

extend_edges

This parameter fixes the black borders appearing in UV seams. In post-render, all the empty regions are filled with the nearest non-empty mipmap level. This way, when this image will be looked up at render time, the texture filtering won't darken the result as it extends to UV regions where no triangle exists. This parameter is enabled by default. Only 32-bit linear output is supported. It isn't supported if the driver is in "tiled" mode.

ray_origin

Sets the origin 3d point for the current uv baking ray. The default value (0,0,0) will be interpreted as P + N (this default will bake the linked mesh onto itself). ray_origin and ray_direction can be driven by shading graphs to bake high res meshes, fur or geo detail into lower res or different topology meshes. 

ray_direction

Sets the direction 3d vector for the current uv baking ray. The devault value (0, 0, 0) will be interpreted as -N (this default will bake the linked mesh onto itself). ray_origin and ray_direction can be driven by shading graphs to bake high res meshes, fur or geo detail into lower res or different topology meshes.

  • No labels