[修正](Modify)パネル

以下のメソッドは、[修正](Modify)パネルに関連しています。

[スタックをロック](Pin Stack)ボタン

modpanel.getPinStack()

[スタックをロック](Pin Stack)ボタンが押された場合は true を、押されていない場合、または[修正](Modify)パネルにない場合は false を返します。

3ds Max 2010 以降で使用可能です。

   

modpanel.isPinStackEnabled() 

[スタックをロック](Pin Stack)ボタンが有効な場合は true を、有効ではない場合、または[修正](Modify)パネルにない場合は false を返します。

3ds Max 2010 以降で使用可能です。

   

modpanel.setPinStack <bool		> 

[スタックをロック](Pin Stack)ボタンが有効である場合に、[スタックをロック](Pin Stack)ボタンを指定された状態に設定します。

3ds Max 2010 以降 で使用可能です。

[最終結果を表示](Show End Result)ボタン

enableShowEndRes <boolean>   

このメソッドは、[最終結果を表示](Show End Result)アイコンのチェックボタン/ボタンの動作を設定します。

ブール値のパラメータが true である場合は、[最終結果表示](Show End Result)ボタンは押し込まれたままの状態になるため、チェックボタンのように動作させることができます。

ブール値のパラメータが false である場合は、[最終結果表示](Show End Result)ボタンは押した後にオフの状態に戻り、ボタンのように動作させることができます。

このメソッドでは、他のオブジェクトやモディファイヤを選択する場合、または[修正](Modify)パネルと他のパネルなどを切り替える場合に、その効果が「スティッキー」になるため、 true / false のいずれかを使用しなければなりません。

   

showEndResult 

[修正](Modify)パネルの[最終結果表示切り替え](Show End Result Toggle)アイコンの状態を取得および設定する、3ds Maxシステム グローバル変数 です。ブール値が含まれ、[最終結果表示](Show End Result)がオンの場合は true 、オフの場合は false になります。

サブオブジェクト選択

enableSubObjSel <boolean> 

ブール値のパラメータが true の場合、サブオブジェクト モードが定義されているオブジェクトやモディファイヤに対して、サブオブジェクト モードに入ることができます。 false の場合、[サブオブジェクト](Sub-Object)ボタンは使用できなくなります。このメソッドでは、他のオブジェクトやモディファイヤを選択する場合、または[修正](Modify)パネルと他のパネルなどを切り替える場合に、その効果が「スティッキー」になるため、 true / false のいずれかを使用しなければなりません。

   

IsSubSelEnabled() 

サブオブジェクト モードに入ることができる場合は true を、入ることができない場合は false を返します。

   

numSubObjectLevels 

読み込み専用の 3ds Max システム グローバル変数 で、オブジェクトによってサポートされているサブオブジェクト レベルの数を取得したり、モディファイヤ スタック内で現在選択されている内容を修正したりすることができます。

[修正](Modify)パネルが開いていない場合、またはオブジェクトが選択されていない場合、グローバル変数には undefined の値が含まれます。

   

subObjectLevel 

[修正](Modify)パネルが開いている場合に、[修正](Modify)パネルのサブオブジェクト レベルを取得および設定する 3ds Max システム グローバル変数 です。

この値は 0 以上の整数で、最大値は現在開いているモディファイヤでサポートされるサブオブジェクト レベル数です。通常、この値は[サブオブジェクト](Sub-Object)ドロップダウン リストに表示される順番になります。

subObjectLevel がゼロの場合は、サブオブジェクト モードがオフであることを意味します。

[修正](Modify)パネルが開いていない場合、またはサブオブジェクト レベルの設定が現在のモディファイヤで許可されていない場合、このグローバル変数には undefined の値が含まれます。

例:

b=box() -- create a box
em=edit_mesh() -- create an Edit Mesh modifier
addModifier $box001 em -- add edit mesh mod
print subObjectLevel -- print the current subobject level
max modify mode -- open mod panel
select $box001 -- select object box001
print subObjectLevel -- print the current subobject level
subObjectLevel = 2 -- set sub-object level to Edge

出力

$Box:Box001 @ [0.000000,0.000000,0.000000]
Edit_Mesh:Edit Mesh
OK
undefined
undefined
OK
OK
0
0
2

サブオブジェクト レベルの取得および設定には、次のメソッドも使用できます。

getSelectionLevel <maxobject> 

MAXObject の subObject レベルを取得します。MAXObject がノードである場合、このメソッドは基本オブジェクト上で機能します。このメソッドは編集可能な基本オブジェクトに適用され、モディファイヤを選択して編集します。

注:このメソッドは、SplineSelect モディファイヤおよび PatchSelect モディファイヤでは動作しません

   

setSelectionLevel <maxobject> {#object | #vertex | #edge | #face} 

MAXObject の subObject レベルを設定します。MAXObject がノードである場合、このメソッドは基本オブジェクト上で機能します。このメソッドは編集可能な基本オブジェクトに適用され、モディファイヤを選択して編集します。

注:このメソッドは、SplineSelect モディファイヤおよび PatchSelect モディファイヤでは動作しません

選択にモディファイヤを追加

modPanel.addModToSelection <modifier> 

[修正](Modify)パネルで現在開いている選択範囲にモディファイヤを適用します。

これは、ターゲットが選択範囲やグループの場合、または[修正](Modify)パネルの特定の場所にスタックが開いていて、サブオブジェクト選択がアクティブになっており、この選択にモディファイヤを適用する場合に addModifier() の代わりに使用する必要があります。

addModifier() は、モディファイヤを選択範囲またはグループ内の各オブジェクトに個別に適用し、どのような場合でも、現在アクティブなサブオブジェクトの選択範囲を優先することはありません。詳細は、「ノードの共通プロパティ - モディファイヤ スタック関連のメソッド」を参照してください。

[修正](Modify)パネルが開いていないと、この関数は何も実行しません。

[モディファイヤ](Modifier)パネルのオブジェクトへのアクセス

modPanel.getCurrentObject() 

[修正](Modify)パネルのスタックで現在選択されているモディファイヤまたは基本オブジェクトを返します。

[修正](Modify)パネルが開かれていない場合は、 undefined を返します。[修正](Modify)パネルに切り替える場合は、 max modify mode コマンドを使用します。

   

modPanel.setCurrentObject < modifier | node | node_baseobject > [node:<node>] [ui:<boolean>] 

指定したオブジェクトがモディファイヤ スタック内でアクティブなオブジェクトになるように設定します。[修正](Modify)パネルが開いていなければなりません。[修正](Modify)パネルが開いていないと、何も実行されません。

node : が指定されている場合は、モディファイヤまたは基本オブジェクトは指定されたノード内だけで検索されます。通常、これを指定するのは、どのノードを検索するかわかっていて、モディファイヤまたは基本オブジェクトが別のノード内でインスタンス化されているときです。引数がノードの場合、ノード キーワード引数の既定値はそのノードです。

ui : を true に設定すると、コマンド パネルが[修正](Modify)モードに切り替わります。既定値は false です。

   

modPanel.getModifierIndex <node> <modifier> 

指定したノードに対し、モディファイヤ スタック内にある指定されたモディファイヤのインデックスを返します。

このインデックスは、 <node>.modifiers 配列におけるモディファイヤの位置に対応します。

この関数は、指定したモディファイヤがノードのモディファイヤ スタックにない場合、 undefined を返します。

   

modPanel.validModifier (< modifier > | < modifier_class >). 

[修正](Modify)パネルが開かれていて、1 つまたは複数のノードが選択されており、指定したモディファイヤがスタック内の現在の編集レベルにあるすべてのノードに適用可能な場合は、 true を返します。

3ds Max 6 以降では、ノード/ノード コレクションまたはモディファイヤ/モディファイヤ クラスのいずれかが「undefined」である場合、またはノード コレクションが空の場合、 modPanel.validModifier メソッドは false を返します。

例:

modPanel.addModToSelection (bend()) -- apply bend modifier to current selection
modPanel.getModifierIndex $ foo -- returns index of modifier foo
modPanel.setCurrentObject $ -- open on base object
modPanel.setCurrentObject $.baseObject -- same as above
modPanel.setCurrentObject $.taper -- open on taper modifier in object
modPanel.setCurrentObject $.modifiers[3] -- open on 3rd modifier
modPanel.setCurrentObject foo -- open on foo object or modifier

関連事項