Motion blur shutter angle animation

I wonder if it is possible to animate motion blur shutter angle?
Can’t find a way to get it done. Impossible or I missed something?

It is not exactly impossible, but it was not meant to be animatable.
You can hack it with a little bit of scripting. It is not pretty, but it would probably work for your setup.

*Assign Krakatoa as the renderer.
*Create a Sphere
*Create a Box
*Animate the Height of the Box from 18.0 to 72.0 units.
*Select the Sphere, go to TrackView and assign a FloatScript controller to its Radius.
*Open the FloatScript’s Properties…
*Enter “Shutter” in the Create Variable > Name field and press Create. This will make a Scalar property.
*Select it on the list of Variables and press the Assign Track button. Pick the Height track of the Box.
*Enter in the Expression field of the dialog:

FranticParticles.SetProperty "ShutterAngleInDegrees" ((Shutter*10) as string) 10.0
*Close the dialog.

This will read the animation from the Height track of the Box, multiply by 10 and pass to the Shutter property of the renderer.
If you would render now, your shutter angle will change from 180.0 to 720.0 degrees as the Height of the Box changes from 18 to 72.
The actual spinner in the Krakatoa GUI won’t update unless you reopen the UI, but internally it will have the right value on each frame.

We should probably look into supporting animated parameters for some of the renderer’s properties.
We could also let the Krakatoa Camera modifier override the Shutter Angle (it already provides a few other overrides).
But the above hack might help you get the desired results immediately.

Fantastic! Many thanks.
That should help for the shot tomorrow.
Excellent idea about adding it to the camera overrides.

You could also use the same scripted controller to set the Particle Segments to, say, half the variable’s value.
So when the Shutter is 180.0, you would get 9 passes, when the Shutter is 720, you would get 36 passes… Or divide by 3 for 6 to 24 passes…

The expression would then look like

FranticParticles.SetProperty "ShutterAngleInDegrees" ((Shutter*10) as string) FranticParticles.SetProperty "MotionBlurSegments" ( (amax 2 ((Shutter/3) as integer)) as string ) 10.0

This makes sure that the segments are never less than 2 and are assigned as integers.