トラックバー インタフェースでは、トラックバーのプロパティとメソッドへのアクセスを行えます。
トラックバー インタフェースは、maxOps インタフェースの関数またはプロパティを使用して取得することができます。
trackBar_Interface = maxOps.trackBar
または
trackBar_Interface = maxOps.getTrackBar()
Mixin インタフェース:(maxOps.trackbar)
Interface: trackbar
プロパティ:
<trackbar_Interface>.visible : boolean : Read|Write
トラックバーを表示または非表示にします。
<trackbar_Interface>.filter : enum : Read|Write
filter enums: {#all|#TMOnly|#currentTM|#cbject|#mat}
トラックバーに表示されるキーを決定するフィルタを設定/取得します。
<trackbar_Interface>.keyTransparency : integer : Read|Write
キー透明度の値を設定/取得します。設定可能な値の範囲は 0 ~ 255 です。
<trackbar_Interface>.selKeyTransparency : integer : Read|Write
選択されたキー透明度の値を設定/取得します。設定可能な値の範囲は 0 ~ 255 です。
<trackbar_Interface>.cursorTransparency : integer : Read|Write
カーソル透明度の値を設定/取得します。設定可能な値の範囲は 0 ~ 255 です。
<trackbar_Interface>.affectChildren : boolean : Read|Write
子に影響を与えるモードを設定/取得します。
以下のプロパティを使用した場合は、再描画が必要になりますが、トラックバーの非表示と再表示を切り替えると、操作性が向上することがあります。
<trackbar_Interface>.showAudio : boolean : Read|Write
トラックバーにオーディオ トラックを表示するかどうかを設定/取得します。
<trackbar_Interface>.showFrames : boolean : Read|Write
トラックバーにフレームを表示するかどうかを設定/取得します。
<trackbar_Interface>.showSelectionRange : boolean : Read|Write
トラックバーに選択範囲を表示するかどうかを設定/取得します。
<trackbar_Interface>.showSnapToFrames : boolean : Read|Write
キーを移動する場合にフレームにスナップするかどうかを設定/取得します。
例
tbar = maxops.trackbar tbar.showframes = false tbar.redraw() -- Notice the result so far tbar.visible= false tbar.visible= true -- Notice the difference
メソッド:
<void><trackbar_Interface>.redraw forceRedraw:<boolean>
forceRedraw: default value: false
トラックバーを再描画します。forceRedraw が true に設定されている場合、再描画は強制的に行われます。
<time><trackbar_Interface>.getNextKeyTime()
次のキー タイムを取得します。「at time」コンテキストを使用して始点を決定することができます。
<time><trackbar_Interface>.getPreviousKeyTime()
前回のキー タイムを取得します。「at time」コンテキストを使用して始点を決定することができます。
トラックバー キー フィルタの登録と管理用に 、次のメソッドが 3ds Max 7 のインタフェースに追加されました。
<index><trackbar_Interface>.registerFilter <value>callbackFilterFunction <value>callbackAdditionFunction <string>name <integer>id \
active:<boolean> stopTraversal:<boolean>
active default value: false
stopTraversal default value: true
トラックバー フィルタ コールバック関数を登録します。
callbackFilterFunction は、次のように 5 つの引数を取る MAXScript 関数です。
fn myCallbackFilterFunction theAnimatable theParent theSubAnimIndex theGrandParent theNode = (...)
theAnimatable : 関数に渡される最初の引数は、フィルタ処理される コントローラ のキーが含まれる トラックになります。
theParent: 関数に渡される 2 番目の引数は、フィルタ処理される トラックの親トラックになります。
theSubAnimIndex: 関数に渡される 3 番目の引数は、親トラック内部のアニメート可能なトラックのサブ アニメーション インデックスになります。
theGrandParent: 関数に渡される 4 番目の引数は、theSubAnimIndex トラックの親になります。theParent 引数が ParamBlock2 か、またはそれと類似している場合に必要となる追加レイヤとして提供されます。たとえば、theGrandParent がベンド モディファイヤであり、theSubAnimIndex が ParamBlock ストレージ ユニットのインデックスであることを知る必要がある場合です。
theNode: 関数に渡される 5 番目(最後)の引数は、トラバートされる subAnim を含む、起点のシーン ノードになります。
TrackBar.RegisterFilter への callbackFunction のいずれかの引数が「undefined」の値になる場合があります。
この関数の呼び出し方法および使用方法の詳細な説明については、「トラックバー フィルタ コールバック関数の確認」を参照してください。
サンプルのフィルタ関数については、「トラックバー フィルタ コールバック関数の例」を参照してください。
<void><trackbar_Interface>.unRegisterFilter <index>index
インデックスで指定されたフィルタ関数を登録解除します。
<integer><trackbar_Interface>.filterCount()
登録されたフィルタ関数の数を返します。
<int by value array><trackbar_Interface>.getFilterID <index>index
インデックスで指定されたフィルタ関数のフィルタ ID を返します。
<stringby value><trackbar_Interface>.getFilterName <index>index
インデックスで指定されたフィルタ関数の名前を文字列で返します。
<boolean><trackbar_Interface>.isFilterActive <index>index
インデックスで指定されたフィルタがアクティブの場合は true、それ以外の場合は false を返します。
<void><trackbar_Interface>.setFilterActive <index>index <boolean>state
インデックスで指定されたフィルタのアクティブ状態を、指定されたブール値に設定します。