トラック ビュー選択ダイアログ
 
 
 

トラック ビュー選択ダイアログには、3ds Max シーンの階層が[トラック ビュー]と同じ手法で表示されます。ユーザは、このダイアログから 1 つ以上の項目を選択できます。トラック ビュー選択ダイアログは次のメソッドによって表示されます。

trackView.pickTrackDlg [#multiple][<filter function>] [options:<integer>]

このメソッドは[トラック ビュー選択]ダイアログ ボックスを表示し、ユーザがトラックを選択して[OK]をクリックしたときには TrackViewPick 値、[キャンセル]をクリックしたときには undefined を返します。

オプションの #multiple 引数を渡した場合は、ダイアログ ボックスで複数のトラックを選択でき、単独の値ではなく TrackViewPick 値の配列が返されます。

オプションの filter_function を指定すると、それぞれのトラックが TrackViewPick 値として関数に渡されます。関数が true を返す場合は、トラック ビュー選択ダイアログでトラックを選択できます。

オプションのキーワード引数 options : が指定された場合、整数値のビットはトラック ビュー選択ダイアログに表示される内容を定義します。各ビットの定義内容は次のとおりです。

各ビットの定義内容は次のとおりです。

1: アニメート可能なトラックのみの表示をオン
2: ノードの可視性トラックの表示をオフ
3: 選択されたノードの表示のみをオン
4: ワールド スペース モディファイヤの表示をオフ
5: オブジェクト スペース モディファイヤの表示をオフ
6: ノードの変換トラックの表示をオフ
7: ノードの基本オブジェクトの表示をオフ
8: コントローラ タイプの表示をオフ
9: ノート トラックの表示をオフ
10: サウンド トラックの表示をオフ
11: マテリアル内のマップの表示をオフ
12: マテリアル パラメータの表示をオフ
13: 非表示のノードの表示をオン
14: 階層の表示をオフ
15: キー操作可能でないトラックの表示をオフ
16: ノードの表示をオフ
17: ジオメトリ ノードの表示をオフ
18: シェイプ ノードの表示をオフ
19: ライト ノードの表示をオフ
20: カメラ ノードの表示をオフ
21: ヘルパー ノードの表示をオフ
22: ワープ ノードの表示をオフ
23: 位置コントローラの表示をオフ
24: 回転コントローラの表示をオフ
25: スケール コントローラの表示をオフ
26: ボーン ノードの表示をオフ
27: 検出され最初に選択されたノードにフォーカスを設定

例:

theInt = 0 
theInt = bit.set theInt 1 true --アニメート可能なトラックのみ。
theInt = bit.set theInt 3 true --選択されたノードのみ表示します。
theInt = bit.set theInt 10 true --サウンドトラックを非表示にします。
theTrack = trackView.pickTrackDlg options:theInt --ダイアログを開きます。

また、以下の関数を使用すると、上で説明されているフラグに従い、bitarray をビット セットを持つ整数にすることができます。結果の整数は、名前付き options : パラメータに渡すことができます。

fn bitArrayToInt theBitArray = (
local theInt = 0
for i in theBitArray do theInt = bit.set theInt i true
theInt
)
theInt =bitArrayToInt #{1,3,10}
theTrack = trackView.pickTrackDlg options:theInt

TrackViewPick: Value

TrackViewPick クラスのインスタンスはトラック ビュー選択ダイアログでの選択結果を格納します。TrackViewPick 値には次のプロパティがあります。

<trackViewPick>.name : string

トラック ビュー選択ダイアログに表示される選択項目の名前です。

   

<trackViewPick>.anim : subAnim

ユーザが選択した項目の subAnim です。

   

<trackViewPick>.client : MAXWrapper

ユーザが選択した項目の subAnim の所有者です。所有者が MAXWrapper のサブクラスの場合は所有者の MAXWrapper 値が返され、それ以外の場合には undefined 値が返されます。

   

<trackViewPick>.subNum: integer

client 内の anim の subAnim インデックス。

   

例:

-- 球を作成し、ベンド モディファイヤを適用し、実行します。
tvp=trackview.pickTrackDlg()
-- オブジェクトの選択->Sphere01->修正オブジェクト->Bend->角度
tvp.anim -- SubAnim:Angle を返します。
tvp.client -- Bend:Bend を返します。
tvp.subNum -- 3 を返します。
tvp.name -- "Angle" を返します。
tvp.client[tvp.subNum] -- SubAnim:Angle を返します。