ActionSource.PartialOffload.1.js Example

Applies To

ActionSource.PartialOffload method

Description

This example demonstrates how to use the ActionSource.PartialOffload method.

Code

/*
This example demonstrates how to partially offload an animation source.
*/
NewScene( null, false );
// Create an animation source of a sphere.
CreatePrim("Cone", "MeshSurface", null, null);
Translate(null, -7.85065649868519, 0.715575131336405, -7.15575131336405E-02, 
	siRelative, siView, siObj, siXYZ, null, null, null, null, null, null, null, null, null);
SaveKey("cone.kine.local.posx,cone.kine.local.posy,cone.kine.local.posz", 1, null, null);
SetValue("PlayControl.Key", 10, null);
SetValue("PlayControl.Current", 10, null);
Translate(null, 4.19500728937374, 7.06630442194682, -0.706630442194682, 
	siRelative, siView, siObj, siXYZ, null, null, null, null, null, null, null, null, null);
SaveKey("cone.kine.local.posx,cone.kine.local.posy,cone.kine.local.posz", 10, null, null);
SetValue("PlayControl.Key", 20, null);
SetValue("PlayControl.Current", 20, null);
Translate(null, 4.25493596493627, -7.84151081422792, 0.784151081422792, 
	siRelative, siView, siObj, siXYZ, null, null, null, null, null, null, null, null, null);
SaveKey("cone.kine.local.posx,cone.kine.local.posy,cone.kine.local.posz", 20, null, null);
SetValue("PlayControl.Key", 30, null);
SetValue("PlayControl.Current", 30, null);
Translate(null, 4.1350786138113, 7.57317013997673, -0.757317013997673, 
	siRelative, siView, siObj, siXYZ, null, null, null, null, null, null, null, null, null);
SaveKey("cone.kine.local.posx,cone.kine.local.posy,cone.kine.local.posz", 30, null, null);
SetValue("PlayControl.Key", 40, null);
SetValue("PlayControl.Current", 40, null);
Translate(null, 2.21736099581185, -7.48372324855972, 0.748372324855972, 
	siRelative, siView, siObj, siXYZ, null, null, null, null, null, null, null, null, null);
SaveKey("cone.kine.local.posx,cone.kine.local.posy,cone.kine.local.posz", 40, null, null);
CreateModel(null, null, null);
SelectObj("Model.Cone", null, null);
StoreAction("", "Model.Cone.kine.local.sclx,Model.Cone.kine.local.scly,"
	+ "Model.Cone.kine.local.sclz,Model.Cone.kine.local.rotx,Model.Cone."
	+ "kine.local.roty,Model.Cone.kine.local.rotz,Model.Cone.kine.local."
	+ "posx,Model.Cone.kine.local.posy,Model.Cone.kine.local.posz,Model."
	+ "Cone.kine.global.sclx,Model.Cone.kine.global.scly,Model.Cone.kine."
	+ "global.sclz,Model.Cone.kine.global.rotx,Model.Cone.kine.global.roty"
	+ ",Model.Cone.kine.global.rotz,Model.Cone.kine.global.posx,Model.Cone"
	+ ".kine.global.posy,Model.Cone.kine.global.posz", 2, "simplemove", 
	true, 1, 40, false, false);
// Add a clip of the source in the mixer
SelectObj("Model", null, null);
AddTrack("Model", "Model", 0, null, null);
AddClip("Model", "Sources.Animation.Model.simplemove", null, 
	"Model.Mixer.Mixer_Anim_Track", 1, null, null, null, null);
SetValue("PlayControl.Key", 20, null);
SetValue("PlayControl.Current", 20, null);
// We need to set the external storage to external if we want to be able 
// to offload the source
SetValue("Sources.Animation.Model.simplemove.storage", 3);
var oAction = GetValue("Sources.Animation.Model.simplemove");
// Now offload the fcurve in the section of frames 10 to 20
oAction.PartialOffload( 10,20, false );
LogMessage(oAction.status.Value);
LogMessage(oAction.OffloadedRanges.Value);
// Note that this partial offload as not been added to the OffloadedRanges parameter of the source.
// reloading the action will dispose the temporary offloaded ranges
oAction.Reload();
oAction.PartialOffload( 12,22, true );
LogMessage(oAction.status.Value);
LogMessage(oAction.OffloadedRanges.Value);

// Expected result:
//INFO : 1
//INFO : 
//INFO : 1
//INFO : 12,22

Keywords

ActionSource PartialOffload


Autodesk Softimage 2011