Move3D

Function
This is function allows you to do perspective changes by rotating and visually moving the image in depth. It is similar in behavior to the Move2D function.

Some parameters, like zPan, will have no effect unless you change the fieldOfView parameter to a value greater than 0. The angle of the Z axis is controlled, as in Move2D, by the angle parameter. There is no shearing, but by rotating the image in Y or X, and keeping the fieldOfView at 0, you can get orthagonal shearing effects.

Parameters
Type
Defaults
Function
x,y,zPan
float
0, 0, 0 x, y, and z Pan values. zPan will have no effect unless you change the fieldOfView value to be greater than 0.
angle, angleX, angleY
float
0, 0, 0 The rotation angles of the Z, X, and Y axis.
aspectRatio
float
1 The aspectRatio of the image. Useful when you are working with a Global aspectRatio and anamorphic frames and you are doing a rotation.
x,y,zScale
float
1, 1, 1 Scaling on the x, y, and z axis.
x,yFilter
string
"default", "default" Jump to Filter Types
transformOrder
string
"trsx"

The order the transform is executed, with

t = translate
r = rotate
s = scale

By default, this is set to "trs".

inverseTransform
int

 

0

This inverts the transform. This can quickly convert tracking data to stabilization data.

fieldOfView
float
0 This changes the perspective shift. When this is 0, the view is considered to be orthogonal, with increasing perspective changes done when you combine zPan, angleX, and angleY with a higher fieldOfView.
motionBlur
float
0 Motion Blur quality level. 0 means no blur, whereas 1 represents standard filtering. For more speed, use less than 1. This value gets multiplied by the Global Parameter motionBlur.
shutterTiming
float
.5 Shutter length. 0 means no blur, whereas 1 represent a whole frame of blur. Note that standard camera blur is 180 degrees, or a value of .5. This value gets multiplied by the Global Parameter shutterTiming.
shutterOffset
float
0 This is the offset from the current frame at which the blur is calculated. Default is 0, previous frames are less than 0.
useReference
int
0

Applies the transform to the image or doesn't. If it doesn't, and you have animated values, it will apply a motion blur to the image, but not actually move it. This is good for adding blur to plates. See the Fan Tutorial for an example.

0 = Move image
1 = Smear-mode; image is not moved

referenceFrame
int
time This is used for stabilization. Usually, this is set to "time", i.e., in reference to itself. However, if you have toggled inverseTransform to 1, you are doing stabilization, with the assumption that any animation you have applied matches up to the source animation. Setting the reference frame will lock the movement in to a specific frame.


Synopsis

 image Move3D( 
  image,
  float xPan, 
  float yPan,
  float zPan,
  float angle,
  float angleX,
  float angleY, 
  float aspectRatio,
  float xScale, 
  float yScale,
  float zScale, 
  float xCenter, 
  float yCenter,
  float zCenter,
  const char  * xFilter,
  const char  * yFilter,
  const char  * transformationOrder,
  int inverseTransform,
  float fieldOfView, 
  float motionBlur,
  float shutterTiming,
  float shutterOffset,
  int useReference,
  float referenceFrame
 );


Script

 image = Move3D( 
  image,
  xPan, yPan, zPan
  angle, angleX, angleY, aspectRatio,
  xScale, yScale, zScale
  xCenter, yCenter, zCenter,
  "xFilter", "yFilter",
  "transformOrder", 
  inverseTransform,
  fieldOfView,
  motionBlur,
  shutterTiming,
  shutterOffset,
  useReference,
  referenceFrame
 );


Command Line

shake -move3d xPan yPan zPan angle aspectRatio etc....

See Also
Pan, Scale, Shear, Rotate, Move2D, CornerPin