CaptureViewport
 
 
 

CaptureViewport

Introduced

v1.0

Description

Captures the viewport into an image sequence.

Note: This command does not work in normal batch mode because it relies on the Softimage user interface. However you can use the "-uiscript" command line argument instead of "-script" to use this command as part of a batch process.

Scripting Syntax

CaptureViewport( [Target], [Interactive] );

Parameters

Parameter Type Description
Target Long Viewport to capture.

Default Value: -1 (the current viewport, or viewport B if no current viewport)

Possible Values:

Description:

-1 The current viewport (under the cursor)
1 Viewport A
2 Viewport B
3 Viewport C
4 Viewport D
Interactive Boolean Specifies whether running in batch mode (False) or interactive mode (True)

Default Value: False

Examples

1. JScript Example

/*
        This example demonstrates how to perform a viewport capture via scripting.
        The File Format is specified by the File Name extension. To specify the codec parameters, 
        you can save a preset via the UI and then load the preset back by scripting anytime you need it.
        You can also specify the codec parameters by setting the "DSCodec" parameter, which
        contains an encoded string for the codec parameters. The string for a desired set of codec
        parameters can be obtained by doing a capture interactively as following:
        - in a 3D view, click the Camera pulldown menu > Start Capture to open the Capture Viewport dialog
        - select the desired format from the File Format pulldown menu
        - click Codec to select the desired parameters, click OK to exit the codec dialog
        - click OK to start a capture
        The encoded string for the codec parameters is printed in the Script History window. You
        can copy it for future use in scripting.
        You can also get the encoded codec parameters string by scripting, e.g.:
                LogMessage( GetValue("ViewportCapture.DSCodec"));
*/
// Get the current frame
var currFrame = ActiveProject.Properties.Item("Play Control").Parameters.Item("Current").Value;
// Set the capture options
var oViewportCapture = Dictionary.GetObject("ViewportCapture");
// Capture a 1-frame sequence 
oViewportCapture.NestedObjects.Item("Start Frame").Value = currFrame;
oViewportCapture.NestedObjects.Item("End Frame").Value = currFrame;         
// Specify the output file name
// The output file format is determined by the extension
oViewportCapture.NestedObjects.Item("File Name").Value = "C:\\test.mov";
// Set the Quicktime codec parameters (in this case: "Keyframe every 10 frames")
SetValue("ViewportCapture.DSCodec", "AAAAFnNwdGxycHphAAAAAAAQAAACAAAAABR0cHJsAAACAAAd+FEAAAAKAAAAGGRyYXQAAAAAAAAAUwAAAQAAAAEAAAAACW1wc28AAAAADG1mcmEAAAAAAAAADHBzZnIAAAAAAAAACWJmcmEAAAAACm1wZXMAAAAAABxoYXJkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKc2RuZQAAAAAADGNtZnJhcHBsAAAAAA==", null);
// Do not display dialog
CaptureViewport( 2, false );

2. VBScript Example

CreatePrim "Sphere", "NurbsSurface", "MySphere"
SetValue "PlayControl.Out", 40
' Setting a key frame on XPos at frame 1
SaveKey "MySphere.kine.local.posx", 1, -9.0
' Setting a key frame on XPos at frame 10
SaveKey "MySphere.kine.local.posx", 10, 3.0
' Setting a key frame on XPos at frame 30
SaveKey "MySphere.kine.local.posx", 30,-3.0
' Setting a key frame on XPos at frame 40
SaveKey "MySphere.kine.local.posx", 40, 9.0
' Setting a key frame on YPos at frame 1
SaveKey "MySphere.kine.local.posy", 1, -2.0
' Setting a key frame on YPos at frame 30
SaveKey "MySphere.kine.local.posy", 30, 2.0
SetDisplayMode "Camera", "shaded"
CaptureViewport 2, true

See Also

Flipbook Viewport Capture parameters