AddTrack

AddTrack

導入

v1.0

詳細

指定された Animation Mixer にトラックを作成します。トラックは、Animation Mixer 内でクリップのシーケンスのために使用されるクリップ コンテナです。 ミキサーには次の 5 種類のトラックがあります。アニメーション、シェイプ、オーディオ、アニメーション レイヤおよびキャッシュ。

スクリプト構文

oReturn = AddTrack( Model, [Compound], [Type], [Name], [InsertPosition] );

戻り値

Trackオブジェクトを戻します。

パラメータ

パラメータ タイプ 説明
Model 文字列 このトラックを追加するモデル。
Compound 文字列 このトラックを追加するコンパウンド コンテナ(トラックの所有者)
Type Integer 追加するミキサ トラックのタイプ。

デフォルト値:コンテキストにより決定

指定可能な値:

説明:

0 アニメーション トラック
1 シェイプ トラック
2 オーディオ トラック
3 イメージ トラック(サポートされていません)
4 スイッチング トラック(サポートされていません)
5 アニメーション レイヤ トラック
6 キャッシュ トラック
Name 文字列 新しいトラックの名前。
InsertPosition Integer これをどのトラックの先頭に挿入するかを指定します。

1. VBScript の例

'

' This example builds a simple keyframed animation, puts it in an

' Action and instantiates it on the mixer, transitioning to a second

' (static) clip.

'

posParams = "/kine.local.posx,kine.local.posy,kine.local.posz"

' Create the object for our example.

set oSphere = CreatePrim( "Sphere", "MeshSurface" )

' Animate it and store an Action for the motion.

SetPositionKey oSphere, 1, -5, -5, 0

SetPositionKey oSphere, 30, 5, 5, 0

set oSourceAnim1 = StoreAction( , oSphere & posParams, 2, "Diagonal", True, 1, 30 )

' Store another source which is a static snapshot.

Translate oSphere, -5, 5, 0, siAbsolute, siView, siObj, siXYZ

set oSourceAnim2 = StoreAction( , oSphere & posParams, 1, "Static", True, 1, 10 )

' Create a track for the clips.

set oTrackAnim = AddTrack( oSphere, , 0, "SimpleAnim" )

' Instantiate the animation sources onto the track.

set oClipAnim1 = AddClip( "Scene_Root", oSourceAnim1, , oTrackAnim, 1 )

set oClipAnim2 = AddClip( "Scene_Root", oSourceAnim2, , oTrackAnim, 91 )

' Put a transition between the two clips.

AddTransition oClipAnim1, oClipAnim2, 0

'==================================================

' Helper method to key an object somewhere at a given frame.

'==================================================

sub SetPositionKey( in_oObj, in_frame, in_posX, in_posY, in_posZ )

	Translate in_oObj, in_posX, in_posY, in_posZ, siAbsolute, siParent, siObj, siXYZ

	SaveKey in_oObj & posParams, in_frame

end sub

2. VBScript の例

' This example demonstrates several mixer-related commands.  It

' makes a couple of shape keys and instantiates them on the mixer,

' transitioning between them.  Then it takes the shape animation,

' puts it into a compound clip and finally adds a bit more shape

' animation inside the compound.

' Create the object for our example.

set oSphere = CreatePrim( "Sphere", "MeshSurface" )

' Store a couple of shape keys (we use the temporarily-applied bulge

' just to have an interesting shape for the second key.

set oSourceShape1 = StoreShapeKey( oSphere, , siShapeLocalReferenceMode )

set oBulge = ApplyOp( "Bulge", oSphere, 3, siPersistentOperation )

set oSourceShape2 = StoreShapeKey( oSphere, , siShapeLocalReferenceMode )

DeleteObj oBulge

' Create a temporary track to put the clips onto.

set oTrackTemp = AddTrack( oSphere, , 1 )

' Instantiate the shape sources onto the track.

set oClipShape1 = AddClip( "Scene_Root", oSourceShape1, , oTrackTemp, 1 )

set oClipShape2 = AddClip( "Scene_Root", oSourceShape2, , oTrackTemp, 90 )

' Put a transition between the two clips.

AddTransition oClipShape1, oClipShape2, 0

' Create a track for a shape compound, then put the two

' shape clips into it.

set oTrackCpd = AddTrack( "Scene_Root", , 1, "ForCompound" )

set oCompound = CreateCompound( "Scene_Root", oClipShape1 & "," & oClipShape2, _

	, oTrackCpd, 1, "MyCompound" )

' Add a new track inside the shape compound, on which

' we will instantiate a couple more sources.  Note that

' we insert it before the other track in the compound,

' so it will appear first.

set oTrackInsideCpd = AddTrack( "Scene_Root", oCompound, , "Extras", 0 )

set oClipShape1 = AddClip( "Scene_Root", oSourceShape2, , oTrackInsideCpd, 30 )

set oClipShape2 = AddClip( "Scene_Root", oSourceShape1, , oTrackInsideCpd, 50 )

SetValue oClipShape2 & ".actionclip.timectrl.scale", 0.5

SetDefaultWeight oClipShape1, siWeightGaussian, 0

SetDefaultWeight oClipShape2, siWeightGaussian, 0

' Get rid of this temporary track...

DeleteObj oTrackTemp