以下のメソッドおよびシステム グローバルは、[修正] (Modify)パネルに関連しています。
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 以降で使用可能です。
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 がノードである場合、このメソッドは基本オブジェクト上で機能します。このメソッドは編集可能な基本オブジェクトに適用され、モディファイヤを選択して編集します。
setSelectionLevel <maxobject> {#object | #vertex | #edge | #face}
MAXObject の subObject レベルを設定します。MAXObject がノードである場合、このメソッドは基本オブジェクト上で機能します。このメソッドは編集可能な基本オブジェクトに適用され、モディファイヤを選択して編集します。
modPanel.addModToSelection <modifier>
[修正] (Modify)パネルで現在開いている選択範囲にモディファイヤを適用します。
これは、ターゲットが選択範囲やグループの場合、または[修正] (Modify)パネルの特定の場所にスタックが開いていて、サブオブジェクト選択がアクティブになっており、この選択にモディファイヤを適用する場合に addModifier()
の代わりに使用する必要があります。
addModifier()
は、モディファイヤを選択範囲またはグループ内の各オブジェクトに個別に適用し、どのような場合でも、現在アクティブなサブオブジェクトの選択範囲を優先することはありません。詳細は、「ノードの共通プロパティ - モディファイヤ スタック関連のメソッド」を参照してください。
モディファイヤに適用する選択範囲で[修正] (Modify)パネルが開いている必要があります。[修正] (Modify)パネルが開いていないと、この関数は何も実行しません。
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