Instead of relying on Softimage to calculate motion vectors for blur, you can specify custom user motion vectors. You can
use any vectors you want — in fact, you can blur an object even if it's not actually animated. User motion vectors can be
useful in a variety of situations, especially with fast rotational movement or curved paths.
There are two ways to apply user motion vectors:
- By applying cluster properties. With this technique, you must set the property values somehow, for example, by using a script, custom
operator, or ICE.
- Using ICE to set the attribute.
If one or other of these exist on an object, it is used for deformation blur instead of the object's actual deformation. It
gets blended with blur calculated for the object's animated transformations. If you want to use only user motion and ignore
the effect of the object's transformation, then you can apply a Motion Blur property to the object and disable Blur as described
in
Creating a Motion Blur Property.
Considerations for User Motion
No matter which method you use to specify user motion, here are some things you should know:
- User motion data consists of one or more vectors from each point's position to a position along the desired motion path, in
the object's local reference frame.
- You must enable motion blur in the scene or pass render settings. If you want to see the effect in the render region, don't
forget to enable motion blur in the region settings too.
- The motion blur settings and have no effect, except that a value of 0 disables motion blur.
- The on-frame options have no effect. Instead:
- To get the effect of , use vectors pointing towards the object's previous positions.
- To get the effect of , use vectors pointing towards the object's future positions.
- To get the effect of , use vectors pointing in both directions.
Applying User Motion Properties
-
Select an object.
-
Choose from the toolbar. Repeat for as many motion samples as you want per frame.
A cluster named is created, and properties named , , , etc., are applied.
- You must set the values for each property. One way to do this is to use ICE to set , , etc., on the object. Alternatively, you can use a script, custom operator, or event.
Setting PointUserMotion in ICE
To apply user motion directly in ICE, use an ICE tree to calculate an array of 3D vectors per point and set the attribute. For example, you can calculate position offsets per subframe sample. Alternatively if your motion is circular,
you can use trigonometry.