コントローラ時間関数

> MAXWrapper > コントローラ > 時間関数

 

   

アニメーション コントローラ - クイック ナビゲーション

時間範囲の操作:

getTimeRange <controller> [#selOnly] [#allKeys] [#children] 		

コントローラ内でキーによりカバーされる時間範囲を指定する時間間隔を返します。以下のシンボリック引数を使ってオプションを指定できます。

# selOnly : (トラック ビューで)現在選択されているキーがカバーする時間範囲を返します。

# allKeys (既定値): コントローラ内のすべてのキーに対する時間範囲です。

# children : サブ コントローラに一階層降りてから、全サブ コントローラ内のすべてのキーをカバーする総時間間隔を返します。

   

setTimeRange <controller> [<interval>] [#linkToKeys] 	 

時間範囲を既存のキーでカバーされていない間隔に設定します。範囲外メソッドが支配する場合は特に影響します。オプションの #linkToKeys 引数が指定されると、指定間隔の開始と終了時点のキーが時間範囲のアンカーとなり、それを移動するとコントローラの時間範囲が変更されます。

setTimeRange() に引数 #linkToKeys を 1 つだけ付けて呼び出すと、影響を受ける全コントローラ内の現在の開始および終了キーに時間範囲を設定します。

setTimeRange $box* #linkToKeys

これは、トラック ビューの[位置範囲](Position Ranges)モードの[範囲を再組み合わせ](Recouple Ranges)関数と同じです。

注: #linkToKeys 引数が指定されていない場合、影響を受けるのは指定されたコントローラだけです。 #linkToKeys 引数が指定されている場合、関数はすべてのサブコントローラにも再帰的に影響します。

時間の操作:

supportsTimeOperations <ctrl>   

コントローラが次の時間演算をサポートしているかどうかによって、 true または false を返します。

   

deleteTime <controller> <interval> [#incLeft] [#incRight] [#noSlide] 

指定された時間間隔をコントローラから削除します。その間隔内のすべてのキーを削除し、キーをその間隔の右にスライドし、その間隔の幅だけ左にスライドします (既定値)。オプションのシンボル引数により、次からオプションを 1 つ選択できます。

# incLeft : 間隔の開始時間にあるすべてのキーが含まれます。

# incRight : 間隔の終了時間にあるすべてのキーが含まれます。

# noSlide : キーを削除したギャップを埋めるために後のキーを移動しません。間隔にあるすべてのキーの削除のみを行います。

<interval> 引数は、Interval 値として、または開始時間と終了時間を定義する 2 つの数値または時間値として指定できます。数値はフレーム番号として考えられます。

   

reverseTime <controller> <interval> [#incLeft] [#incRight] 

指定した間隔内で時間を逆転します。つまり、間隔内でキーの時間的配置が逆転するように、キーを配置し直します。 deleteTime() の inclusion および interval 引数に関する注意事項がここでもあてはまります。

   

scaleTime <controller> <interval> <float_scale> 

指定した間隔の中にあるキーの時間をスケールします。ここでも、 <interval> 引数は、Interval 値として、または開始時間と終了時間を定義する 2 つの数値または時間値として指定できます。数値はフレームカウントとみなされます。

   

insertTime <controller> <at_time> <amount_time> 

指定した時間に時間ブロックを挿入します。後にあるキーは、挿入した時間分だけ移動されます。時間は数値または Time 値として指定できます。数値はフレーム カウントとして考えられます。

次のスクリプトは、上記メソッドの例を示しています。

-- controller test bed 1
b=box height:10
at time 5 animate on b.height=50
at time 10 animate on b.height=100
bhc=b.height.controller
bhk=bhc.keys
supportstimeoperations bhc
deletetime bhc 4 5
bhk
deletetime bhc 4 5 #incLeft
bhk
deletetime bhc 1 4 #noslide
bhk
at time 5 animate on b.height=50
deletetime bhc (interval 5 8) #incLeft
bhk
at time 10 animate on b.height=150
for k in bhk do format "%:%\n"k.time k.value
reversetime bhc 5 15 #incLeft #incRight
for k in bhk do format "%:%\n"k.time k.value
insertTime bhc 12 5
bhk
getTimeRange bhc

関連事項