Data_Channel - superclass: modifier; super-superclass:MAXWrapper - classID: #(e11,0)
[データ チャネル](Data Channel)モディファイヤは、エフェクトを作成して、モデリング操作を自動実行するためのツールです。一連のオペレータを通してオブジェクト チャネル データをパイプ処理し、メッシュにエフェクトを適用します。シーン オブジェクトには、ジオメトリ、頂点カラーの設定、ワールド座標、選択、テクスチャ マッピング情報などのアトリビュートを定義するさまざまなデータ サブカテゴリが含まれています。このデータは個別のチャネルに格納されていて、[データ チャネル](Data Channel)モディファイヤでこれらのデータを処理および修正することができます。3ds Max 2017.1 Update 以降で使用可能です。
データ チャネルはオペランドと呼ばれるコンポーネントで操作します。オペランドは[データ チャネル](Data Channel)モディファイヤのスタックに格納されていて、このオペランド スタック内を通過するときにデータが処理されます。オペランドはオペレータ配列内に保持され、オペランドの処理順番(および UI 内の順序)は operator_order 配列で決定されます。
オペレータのクラスについては、「データ チャネル オペレータのクラス」を参照してください。
コンストラクタ
Data_Channel ...
プロパティ
<Data_Channel>.operators array
オペレータ スタック内のオペランドを参照する ReferenceTarget オブジェクトからなる配列です。スタック内のオペランドが実際に処理される順番は、operator_order 配列に保持されます。
<Data_Channel>.operator_enabled : boolean array
operators 配列内のオペランドに対応するブール値の配列です。対応するオペランドが有効かどうかなどを示します。実際に処理される順番(および[データ チャネル](Data Channel)モディファイヤの UI 内の順番)は、この配列内のオペランドの順番では決まりません。operator_order 配列によって決まります。
<Data_Channel>.operator_ops : int array
operators 配列内の対応するインデックスにあるオペレータをスタック データにどのように適用するのかを示す、整数の配列です。値は次のとおりです。
<Data_Channel>.operator_order : int array
operands 配列内の対応するインデックスにあるオペレータの順番を示す整数の配列です。
<Data_Channel>.display (Enable_Display) : boolean
モディファイヤの結果をビューポートに表示するかどうかを示します。このプロパティは、[データ チャネル](Data Channel)モディファイヤの UI 内の[表示を有効化](Enable Display)プッシュ ボタンの状態に対応します。
<Data_Channel>.operator_frozen (Frozen) : boolean array
operators 配列内の対応するオペランドがフリーズしているかどうかを示すブール値の配列です。このプロパティは、[データ チャネル](Data Channel)モディファイヤの UI 内の[フリーズ] (Freeze)右クリック コマンドに対応します。
ビューポート表示設定
<Data_Channel>.floatDisplay (Float_Display) : integer
スタック内のデータが浮動小数点の配列である場合のデータの表示方法を取得または設定します。有効な値は次のとおりです。
<Data_Channel>.point3Display (Point3_Display) : integer
スタック内のデータは point3 ポイントの配列である場合のデータの表示方法を取得または設定します。
<Data_Channel>.tickSize (Tick_Size) : integer
ティック表示が選択されている場合は、ティックのサイズを取得または設定します。値は次のとおりです。
<Data_Channel>.normalizeDisplay (Normalize_Display) : Boolean
データをカラーに変換する前に正規化するかどうかを取得または設定します。これは、速度のように、データがカラーベースでない場合に便利です。
このプロパティは、[データ チャネル](Data Channel) UI の[表示] (Display)セクション内の[表示を正規化] (NormalizeDisplay)チェックボックスに対応します。
<Data_Channel>.showNumericData (Numeric_Display) : Boolean
ビューポート内の数値表示を有効または無効にします。
このプロパティは、[データ チャネル](Data Channel) UI の[表示] (Display)セクション内の[数値を表示](Show Numeric)チェックボックスに対応します。
<Data_Channel>.minColor (Min_Color) : RGB color
<Data_Channel>.midColor (Mid_Color) : RGB color
<Data_Channel>.maxColor (Max_Color) : RGB color
ソフト選択グラデーション カラーと同様に、データが浮動小数点配列の場合にグラデーションの形成に使用するカラーを取得または設定します。
<Data_Channel>.numeric_max : integer default : 1000
ビューポートで描画する数値の最大数を取得または設定します。数値を描画すると速度が低下し、画面が乱雑になることがあるため、描画を制限することによりパフォーマンスを高めることができます。
このプロパティは、[データ チャネル](Data Channel) UI では公開されていません。
<Data_Channel>.numeric_drawdist : integer default : 100
これは、ビューの中心に配置された境界矩形です。ビューのエッジで数値を非表示にする場合に使用します。
関連インタフェース
Interface: DataChannelModifier
プロパティ:
なし
メソッド:
<integer> <Data_Channel>.NumberOperators()
使用可能なオペレータの総数を返します。注: これは静的な値です。使用可能なすべてのオペレータを反復する場合に使用できます。
numOps = $.modifiers[#Data_Channel].NumberOperators()
for i = 1 to numOps+1 do
(
name = " "
info = " "
tt = " "
idA = 0L
idB = 0L
$.modifiers[#Data_Channel].OperatorName i &name
$.modifiers[#Data_Channel].OperatorTooltip i &tt
$.modifiers[#Data_Channel].OperatorInfo i &info
$.modifiers[#Data_Channel].OperatorID i &idA &idB
print name
print tt
print info
print idA
print idB
)
<void> <Data_Channel>.OperatorName <index>index <&string>name
name is Out parameter
指定されたインデックスにあるオペレータの名前を name パラメータに保存します。
<void> <Data_Channel>.OperatorInfo <index>index <&string>info
info is Out parameter
指定されたインデックスにあるオペレータの情報を示す文字列を info パラメータに保存します。
<void> <Data_Channel>.OperatorTooltip <index>index <&string>toolTip
toolTip is Out parameter
指定されたインデックスにあるオペレータのツールチップを示す文字列を toolTip パラメータに保存します。
<void> <Data_Channel>.OperatorID <index>index <&integer64>idA <&integer64>idb
idA is Out parameter
idb is Out parameter
指定されたインデックスにあるオペレータの内部クラス ID を idA (PartA)および idB (PartB)パラメータに保存します。
<void> <Data_Channel>.AddOperator <integer64>idA <integer64>idb <integer>whereat
2 つの部分で構成されたクラス ID (PartA および PartB)で指定されたオペレータを、指定したインデックスにある DataChannelModfier のオペレータ配列に追加します。配列の最後に挿入するには -1 を指定します。クラス ID は 16 進数ではなく、long 型の整数値として渡されます。クラス ID は 2 つの方法で取得できます。1 番目の方法は、OperatorID() メソッドを使用して整数形式のクラス ID を取得することです。showClass()
メソッドを使用して、結果を 16 進数から 10 進数に変換することもできます。たとえば、showClass "Operator_DeltaMush"
などです。
例:
$.modifiers[#Data_Channel].AddOperator 236108612L 0L -1
$.modifiers[#Data_Channel].AddOperator 283192250L 0L -1
$.modifiers[#Data_Channel].AddOperator 2882382387L 0L -1
$.modifiers[#Data_Channel].AddOperator 99L 0L -1
ct = $.modifiers[#Data_Channel].StackCount()
<integer> <Data_Channel>.StackCount()
現在モディファイヤのスタックに格納されているオペレータの数を返します。
<void> <Data_Channel>.StackOperatorName <index>index <&string>name
name is Out parameter
指定されたインデックスにあるオペレータの名前を name パラメータに保存します。
<void> <Data_Channel>.SelectStackOperator <index>index
モディファイヤ内の指定したインデックスにあるオペレータを選択します。
<void> <Data_Channel>.DeleteStackOperator <index>index
モディファイヤ内の指定したインデックスにあるオペレータを削除します。
<void> <Data_Channel>.ReorderStackOperator <index by value array>indexList
indexList 配列に従ってオペレータ スタックを並べ替えます。たとえば、4 つの項目を含むオペランド スタック内で indexList #(3,2,1,0)を指定すると、オペランドの順序が逆になります。
<void> <Data_Channel>.SavePreset <string>name <string>toolTip
現在のオペランド スタックをプリセットとして保存し、名前および toolTip を指定します。パスを指定する必要はありません。データ チャネルのプリセットは、3ds Max インストール ディレクトリの en-US\plugfcg\DataChannelPresets に保存されます。
<void> <Data_Channel>.LoadPreset <string>name
名前で指定されたプリセットをロードします。たとえば、次のように使用されます。
$.modifiers[#Data_Channel].LoadPreset "Dirt Map"
<void> <Data_Channel>.DeletePreset <string>name
名前で指定されたプリセットを削除します。
<integer> <Data_Channel>.PresetCount()
使用可能なプリセットの数を返します。
<void> PresetName <index>index <&string>name
name is Out parameter
指定されたインデックスにあるプリセットの名前を name パラメータに保存します。
<void> PerfTrackingStart()
<void> PerfTrackingEnd()
<void> PerfTrackingReport()
これらの関数はパフォーマンス トラッキング機能を公開します。PerfTrackingStart()
は時間データの記録を開始し、PerfTrackingEnd()
は停止します。すべてのタイムスタンプは内部に格納されます。PerfTrackingReport()
はタイミング データをリスナー ウィンドウに書き込みます。
アクション:
なし