SceneRefresh

Introduced

v3.0

Categories

animation

Description

Removes all temporary parameter values for a clean scene refresh. For example, if you apply an animation fcurve to an object's position and then change that position without setting a new key, you can reset the new temporary parameter values to the previous values by running this command. See the example below for a demonstration.

This is different from the Refresh command, which redraws all 3D views for a scene.

Scripting Syntax

SceneRefresh();

Examples

VBScript Example

'
' This example sets up an animation fcurve on a null, then sets a temporary value 
' on one of the animated parameters, and shows how to remove that temporary value
' using the SceneRefresh command.
'
NewScene , false
' Create a null and store the parameter list we will use to set keys. 
'---------------
' Note: We are using a combination of Softimage commands and the object model
' here. For example, we are using the OM shortcut oNull.posx in the
' SetValue and SaveKey commands.
'---------------
Set oNull = ActiveSceneRoot.AddNull()
sParams = oNull.posx & "," & oNull.posy & "," & oNull.posz
' Move the null along the negative X-axis and save a key for frame 1
Translate oNull, -6.07766990291262, -2.37887869051207E-18, _
        3.88513203951106E-02, siRelative, siView, siObj, siXYZ
SaveKey sParams, 1
' Set a key for frame 90 towards the positive X-axis
SetValue "PlayControl.Key", 90
SetValue "PlayControl.Current", 90
Translate oNull, 14.2301617773766, -0.743180286278171, _
        7.43180286278171E-02, siRelative, siView, siObj, siXYZ
SaveKey sParams, 90
' Go to frame 30 and display the posx value for that frame. 
SetValue "PlayControl.Key", 30
SetValue "PlayControl.Current", 30
Application.LogMessage GetValue( oNull.posx )   'INFO : "-2.52968225317525"
' Set a temporary value on posx
SetValue oNull.posx, 2
' Redisplay the value after setting the posx value but before the scene refresh.
Application.LogMessage GetValue( oNull.posx )   'INFO : "2"
' Remove all temporary values
SceneRefresh
' Now display the value from the fcurve again after the scene refresh
Application.LogMessage GetValue( oNull.posx )   'INFO : "-2.52968225317525"

See Also

Refresh