Motion Blur
Introduction
Attributes flagged as blurrable can be motion blurred using the blur rdla keyword.
PerspectiveCamera("camera") {
["focal"] = blur(30, 31),
}
This blurs the attribute over the time interval defined by the SceneVariables frame value and the camera’s motion blur attributes (mb_shutter_open, mb_shutter_close, mb_shutter_bias).
Transform
Transformational motion blur is supported on cameras, lights, volumes, and geometry using the blurrable node_xform attribute where two 4x4 matrices are blended as in the example below.
["node_xform"] = blur(Mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0),
Mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 5.0, 0.0, 0.0, 0.0, 1.0)),
Geometry
Deformational motion blur is supported on hard surface geometry (i.e. RdlMeshGeometry, RdlCurveGeometry, RdlPointGeometry, etc.). The type of motion blur is dependent on the motion_blur_type attribute setting and the data present. The types are:
Type | Description |
---|---|
static | Treat the mesh as static. No motion blur. |
velocity | Blur using the supplied vertex velocities(v ) |
frame delta | Interpolate between the two supplied vertex positions |
acceleration | Blur using the supplied vertex velocities(v ) and accelerations(accel ) |
hermite | Use the supplied pair of positions(P ) and velocities(v ) to interpolate along a cubic hermite curve. |
best(default) | Choose the method which provides the highest quality with the given data. |
When set to best, the type chosen is based on the following data being available in order of preference.
Type | Required Data |
---|---|
hermite | A pair of positions(P ) and velocities(v ) |
acceleration | velocity(v ) and acceleration(accel ) |
velocity | velocity(v ) |
frame delta | A pair of positions(P ) |
Motion blur types:
Left to right: geometry types (mesh, curves, and points).
Top to bottom: motion blur types (transform, frame delta, velocity, acceleration, and hermite).
Volumes
The VdbVolume geometry node uses an explicit velocity_grid for volume motion.