指定されたピボット ポイントを使用して開始フレームと終了フレームの間の F カーブ部分をオフセット(延長)またはスケーリング(短縮)し、指定されたオブジェクトのアニメーションをオフセットまたはスケーリングします。その後、結果としてスケーリングされた F カーブ部分を移動します。 このコマンドを使用すると、シーン内のすべてのアニメーションのタイミングを一度に変更できます。
デフォルトで、リプル エフェクトはアクティブです。つまり、その領域がタイムラインに沿ってかなり遠く(右)にある他のキーをオフセットしています。 残りの F カーブは挿入された領域の右に移動し、これによりリプル エフェクトが発生します。 Ripple 引数を False に設定することによって、この機能をオフにすることができます。
これは、[アニメーション] > [シーケンス アニメーション]に相当します。これと同様の動作をスクリプトでエミュレートする際に使用します。ScaleAndOffset コマンドも効果は似ていますが、これは DopeSheet 内のキーフレーム領域を移動またはスケーリングする操作に相当するコマンドです。DopeSheet の動作をエミュレートする場合は、ScaleAndOffset を使用してください。
SISequence( [InputObjs], [Type], [Offset], [Scale], [StartFrame], [EndFrame], [Pivot], Mode, [Ripple], [Discrete Time] ); |
| パラメータ | タイプ | 説明 |
|---|---|---|
| InputObjs | 文字列 |
アニメート可能なパラメータのリスト (例: cone*/kine.local.pos)。このパラメータは、Type パラメータを使用して、使用するパラメータを以下の方法で決定します。 - Type == siInputParameters の場合、InputObjs は入力そのものとして使用されます(指定されたリストまたは選択したオブジェクトのアニメート可能なパラメータから)。 - Type == siAnimatedParameters の場合、InputObjs は、アニメート可能なパラメータそれぞれが影響を受けるオブジェクトのリストであると予測されます。 - Type == siAllAnimatedParameters の場合、InputObjs の値は無視され、代わりにコマンドがシーン全体のすべてのオブジェクトにあるすべてのアニメートされたパラメータを使用します。 デフォルト値: このパラメータの値を指定しない場合、オブジェクト リストは Type 引数によって示されるスコープに対して選択されたオブジェクトまたはパラメータを使用します。 |
| Type | siParameterScope |
操作のパラメータ範囲 デフォルト値: siAllAnimatedParameters |
| Offset | Double |
アニメーションに適用するオフセットの値 デフォルト値: 0 |
| Scale | Double |
アニメーションに適用するスケーリング倍率の値 デフォルト値: 1 |
| StartFrame | Double |
実行する領域の開始フレーム デフォルト値: 1 |
| EndFrame | Double |
実行する領域の終了フレーム デフォルト値: 100 |
| Pivot | Double |
スケーリング用のピボット フレーム デフォルト値: 1 |
| Mode | siSequenceMode |
SequenceAll のみの対象となる項目 デフォルト値: siFCurvesAnimationSources |
| Ripple | Boolean |
リプル エフェクトのオン/オフを切り替えます。 デフォルト値: 1 |
| Discrete Time | Boolean |
すべてのキーがフレーム上に位置することを確認します。 デフォルト値: 1 |
'
' Create a cube and a null with identical animation,
' then scale the cube's animation by half and offset it 50 frames.
'
dim oNull,oCube
set oCube = CreatePrim("Cube", "MeshSurface")
oCube.length = 1
set oNull = GetPrim("Null")
AddToMarking "kine.local.pos.posx,kine.local.pos.posz"
Translate oNull, -3, 0, 3, siAbsolute, siView, siObj, siXYZ
SaveKey ,1
Translate oNull, 0, 0, -3, siAbsolute, siView, siObj, siXYZ
SaveKey , 50
Translate oNull, 3, 0, 3, siAbsolute, siView, siObj, siXYZ
SaveKey , 100
' Copy null's animation over to the cube
CopyAllAnimation2 oNull, siAnySource, siAllParam, False
PasteAllAnimation oCube
'
' Now Scale and offset the cube animation
' The begining of the animation is offset to frame 50
' and the entire sequence is scaled by 0.5
'
SISequence oCube, siAnimParams, 50, 0.5, 1, 100, 1, siFCurvesAnimationSources
'
' The cube will stay at its initial position till
' frame 50, then catch up to the null
'
PlayForwardsFromStart |