Motion Blur

From LuxCoreRender Wiki
Revision as of 16:50, 8 December 2017 by Piita (talk | contribs) (Created page with " ==How to do it== Insert a key frame for the objects that will be moving. Move forward one frame. Move/rotate your objects and insert another key frame. Go back to the previ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


How to do it

Insert a key frame for the objects that will be moving. Move forward one frame. Move/rotate your objects and insert another key frame. Go back to the previous frame. Select the camera and enable motion blur in your exporter. Set exposure to 'Absolute', Shutter open time: 0 and Shutter close time: 1. Render like a normal still image.

The length of the animation does not matter. Motion blur will only cover the range from the current frame to the next one.

Motion blur doesn't support mesh deformations (modifications to the mesh shape), but only object transformations (moving, scaling, and rotating). However, there is a workaround for these limitations which is described in "Alternate method" section down below.

Settings

Shutteropen

This is a float telling luxrender when to open the camera shutter.

Shutterclose

This is a float telling luxrender when to close the camera shutter. Longer duration between shutter open and close means more blur.

shutterdistribution

This is a string telling LuxRender what kind of blur to apply. Valid values are "gaussian" and "uniform".

subdivisions

Most exporters will also configure a number of steps to use. Internally, motion blur is set via special animated transform, listing the objects transformation at several points in time. This setting will configure the number of points in time set for each object. At least 2 subdivisions (three steps in total when adding the initial step) are required for curved trails.

Example

File:Motion blur.png
Motion blur of an object

File:Motion blur camera.png
Motion blur of the camera

Alternate method: subframes

The only way to overcome current limitations of LuxRender motion blur (short of postprocessing in graphics editor) is using subframes -- most like some other renderers implement motion blur, e.g. Blender Internal Renderer. Subframes are additional keyframe positions for the moving/deforming object between the starting and final position. More the subframes, more fluent (less discreet) will be the motion in the resulting image.

How to do it

Lets say you're going to use 10 subframes. Then between the first and the final position of object movement add 10 intermediate frame positions. For each subframe you can freely transform an object or deform its shape, but do this subtly to not have discreteness.

In the exporter of your choice set Halt SPP to 0.1 or 0.15 of the desired SPP for the final image (thus if you want to reach 5000 SPP for the final, set Halt SPP for each subframe to 500-750; if you're going to use not 10, but 25 subframes, correct the values accordingly to 0.04 - 0.06 of the final SPP) and activate FLM file saving. Now render the scene as an animation. You may also want to enable motion blur to make it smoother, but keep in mind the limitations of the normal motion blur listed above. When all frames are finished use the command line luxmerger tool (which is shipped with LuxRender) to merge all of the flm files together into the final film file. This can be done with a single command from the command line. You can now load the completed flm in LuxRender and export to an LDR or HDR image.

File:Subframe moblur.png

Or alternately perform an export only of each subframe after the first, then change the name to match that of the original frame and then render, this will negate the need to merge flm files, but will prevent you from further rendering of the subframes if you find it is not enough.

Limitations

With this approach you can workaround all current LuxRender limitations like no motion blur for emitters. However fast moving objects may require quite a lot of subframes and even then some discreteness (individual frames) will be visible.