Motion Vector (mip)

 
 
 

| Settings | Alternative Channels | Render Tree Usage

Category: Output

Shader Family: Output

Output: Color

Related mental ray shader: mip_motion_vector

Sometimes you want to do compositing work before applying motion blur, or maybe you want to use a specific third-party motion blur shader. For these reasons you can use mental ray production Motion Vector (mip_motion_vector) shader to export motion in pixel space (mental ray's standard motion vector format is in world space) and encoded as a color.

Most third party tools expect the motion vector encoded as colors where red is the X axis and green is the Y axis. To fit into the confines of a color (especially when you are not using floating point and a color only reaches from black to white) the motion is scaled by a factor (called Maximum Movement) and the resulting -1 to 1 range is mapped to the color channels 0 to 1 range.

Settings

Floating Point Format

  • Off: the shader will write true, floating point motion vectors into the red and green color channels. They are not normalized to the Maximum Movement length, nor are they clipped, and they will contain both positive and negative values. The Maximum Movement and Blue is Magnitude options have no effect.

  • Raw: The actual pixel count is written as-is in floating point.

  • Toxik: The pixel aspect ratio is taken into account such that the measurement of the distance the pixel moved is expressed in pixels in the Y direction, the X component will be scaled by the pixel aspect ratio. This option is compatible with Autodesk Toxik.

Maximum Movement

Sets the maximum encoded motion vector length, and motion vectors of this number of pixels (or above) will be encoded as the maximum value that is possible to express within the limit of the color (for example, white or black).

To maximally utilize the resolution of the chosen image format, it is generally advised to use a Maximum Movement of 50 for 8 bit images (which are not really recommended for this purpose) and a value of 2000 for 16 bit images. The shader outputs an information statement of the maximum motion vector encountered in a frame to aid in tuning this parameter. Consult your third party motion blur shader documentation for more detail.

If the Maximum Movement is zero, motion vectors are encoded relative to the image resolution. As an example, for an image 600 pixels wide and 400 pixels high, a movement of 600 pixels in positive X is encoded as 1.0 in the red channel, a movement 600 pixels in negative X is encoded as 0.0. A movement in positive Y of 400 pixels is encoded as 1.0 in the blue channel, etc.

Blue is Magnitude

When on, the blue color channel represents the magnitude of the blur, and the red and green encode the 2d direction only. When off, the blue channel is unused and the red and green channels encode both direction and magnitude. Consult your third party motion blur shader documentation for more detail.

Blur Environment

Specify whether the camera environment (for example, the background) should be blurred by the camera's movement or not. When on, pixels from the environment will be blurred, and when off they will not.

If the background is created by geometry in the scene, this setting does not apply, and the background's blur will be that of the motion of said geometry.

This option does not work if the scanline renderer is used.

Pixel Threshold

The minimum motion vector length (measured in pixels) that an object must move before a blur is added. In practice, this length is simply subtracted from the motion vectors before they are exported.

Use Coverage Channel If Available

When on, uses information in the Pixel Coverage render channel rather than the alpha channel when deciding how to utilize edge pixels that contain an antialiased mix between two moving objects.

Alternative Channels

The following options allow you to specify alternative render channels for motion vector and depth data. The referenced channels must be defined and activated for the pass you are rendering in order for this output shader to be able to use them.

For information on how to work with render channels in general, see Render Channels & Framebuffers [Rendering].

For a description of the available render channels and their data types, see the Scene Render Options Property Editor [Properties Reference].

Result

Specifies the render channel to which the result is written.

<None> signifies that the built-in mental ray Main render channel will be used. The render channel specified must be defined as having a color data type.

Motion

Sets the render channel from which to obtain motion vector information.

<None> signifies that the built-in mental ray Raster Motion render channel will be used. The render channel specified must be defined as having a vector data type.

Depth

Sets the render channel from which to obtain depth information.

<None> signifies that the built-in mental ray Depth render channel will be used. The render channel specified must be defined as having a depth data type.

Render Tree Usage

This output shader isn't used directly in the render tree; rather, it is applied using a pass's shader stack. For more information, see Applying Shaders to Partitions [Rendering].

Creative Commons License Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License