オブジェクト階層上の時間関数とキー関数
コントローラ時間関数とキーフレーム関数の中には、個別のコントローラだけでなく、どの 3ds Max オブジェクト上、またはどの 3ds Max オブジェクトのコレクション上でも呼び出せるものがあります。このような方法で呼び出せば、これらのオブジェクトやオブジェクト内のサブオブジェクトや、サブコントローラ内でネストされているコントローラすべてに対して、繰り返し適用できます。これらは、3ds Max トラック ビュー内のオブジェクトレベル トラックと同じ方式で動作します。つまり、サブオブジェクトやその中のサブコントローラすべてに対するキーや時間を操作できます。
時間関数やコントローラ関数は、以下のとおりです。
deleteTime reverseTime scaleTime insertTime setTimeRange
addNewKey deleteKeys selectKeys deselectKeys moveKeys sortKeys reduceKeys
addEaseCurve deleteEaseCurve setBeforeORT setAfterORT enableORTs
上記の関数は、いずれの 3ds Max オブジェクト コレクション (ワイルドカード パス名やオブジェクト セット、またはオブジェクトの配列) でも呼び出せます。また、これらのオブジェクト内で、すべてのアニメーションに繰り返し適用できます。それ自体にネストされたコントローラを持つオブジェクト内のコンポーネントでこれらが呼び出された場合、ネストされたコントローラ全体に適用されます。次の例を参照してください。
注:上記の動作の例外は、
setTimeRange 関数です。この関数は、
#linkToKeys 引数が指定されているときにのみ再帰的に適用されます。詳細は、「
setTimeRange」を参照してください。
例
|
insertTime $box01.xform 0f 10f
|
xform モディファイヤ内のすべてのコントローラの 0f 以降のすべてのキーは、 10f だけ移動されます。
|
|
box01 内の 0f 以降のすべてのキーが移動されます(変換、作成、モディファイヤ)。
|
selectKeys $box02.xform.gizmo.rotation.controller 0f 100f
|
0-100f 内のキーを選択します。たとえば、コントローラがオイラーの場合、x、y、および z キーを選択します。
|
deleteTime $box* 10f 20f
|
$box* という名前のすべてのオブジェクトで、フレーム 10 とフレーム 20 の時間を削除します(任意のパス名かオブジェクトの配列で動作)。
|
insertTime $box03.children 0f 10f
|
$box03 のすべての子の全コントローラ内に時間を挿入します。
|
reduceKeys $box01.modifiers 0.5 1f
|
$box01 内にあるすべてのモディファイヤのすべてのコントローラに対して、キー リダクションを適用します(変換と作成パラメータは残します)。
|