条件ダイアログ ボックス

リボン要素やコントロールを有効にしたり、表示したりするには、条件ダイアロ ボックスを使用して条件を設定します。ダイアログ ボックスの名前は、[有効の条件](Conditions For Enabled)、[表示の条件](Conditions For Visible)、[使用可能の条件](Conditions for Available)というように、[リボンをカスタマイズ](Customize Ribbon)ダイアログ ボックスのどのプロパティから呼び出したかによって異なります。

3 つのプロパティは、[真](True)、[偽](False)、[条件付き](Conditional)に設定でき、[条件付き](Conditional)の場合は、条件に基づいて[真](True)または[偽](False)が返されます。次のプロパティがあります。

複数の条件を設定した場合は、特定の状態のいずれかの条件(リボンのレイアウトなど)が満たされると、条件が満たされたことになります。

たとえば、[ポリゴン モデリング](Polygon Modeling)パネルで 2 つの[poly main]サブパネルを使用できるとします。[poly main]サブパネルの 1 つで、[表示](Visible)プロパティが[条件: 水平](Conditional: Horizontal)(最大化を意味します)、または水平方向または垂直方向のいずれかに適用される[最小化](Minimized)に設定されています。

もうひとつのサブパネルでは、最大化された垂直方向のリボンに適用される[条件: 垂直](Conditional: Vertical)に設定されています。異なるリボン設定の異なるバージョンのパネルまたはサブパネルをセットアップする場合は、表示の条件が重複しないようにしてください。

ただし、異なる状態の複数の条件(リボンのレイアウトやアクティブなサブオブジェクト レベルなど)を設定した場合は、条件を満たすには、各状態の 1 つ以上の条件を満たす必要があります。

ヒント: [使用可能](Available)または[表示](Visible)設定([条件付き](Conditional)ボタンか関連する[...]ボタン)の上にマウスを置くと、特定の条件付きコントロールの条件を素早く表示できます。少し待つと、条件を表示するツールチップが開きます。
重要: [表示](Visible)または[使用可能](Available)が[真](True)に設定されたコントロールは、3ds Max がどのような状態であっても、あらゆるリボン設定で常に表示されます。

インタフェース

条件ダイアログ ボックスには、リボン要素のプリセットの条件を選択できるチェック ボックスのリストが表示されます。また、MAXScript を使用して、カスタマイズした条件を作成できます。

Maxscript

チェック ボックスのどのオプションも設定したい条件を反映していない場合、MAXScript に関する知識を十分に持っているユーザなら、目的の条件を指定するスクリプトを作成できます。

Maxscript

このフィールドに、条件を設定する短い MAXScript ステートメントまたは関数を入力します。ステートメントまたは関数は、真または偽(1 または 0)で評価されるものでなくてはなりません。真の場合は、条件を満たし、偽の場合は、条件を満たしません。

複数の行を入力するには、最初の行の後に、Shift+Enter を押します。

長いスクリプトの場合は、[エディタを開く](Open Editor)ボタンをクリックし、エディタ ウィンドウを使用して MAXScript ファイルに関数を定義してから、[Maxscript]フィールドに関数名を入力します。ここで入力する関数名は、次の形式を使用する必要があります。

[関数を構造体の中で定義する場合は構造体名の後に「.」][関数名]()

たとえば、関数 ValidSOMode を使用すると、選択した編集可能ポリゴンまたは[ポリゴンを編集](Edit Poly)オブジェクトで、有効なサブオブジェクト レベルがアクティブかどうかを判断できます。この関数は、 Ribbon_Modeling.ms MAXScript ファイル内の Ribbon_Modeling 構造体で定義されているので、[Maxscript]フィールドに次のように入力します。

Ribbon_Modeling.ValidSOMode()

関数が構造体の中にない場合は、関数名の後に()を続けて指定するだけです。新しい関数を記述する場合は、関数を条件として使用する前に、必ずスクリプトを確認してください。

以下に、[Maxscript]フィールドで使用して条件を設定できるステートメントの例をいくつか紹介します。

  • selection.count == 1シーン内で 1 つのオブジェクトのみが選択されている。数値の値を変えて、異なる選択数を指定できます。
  • selection.count > 0 AND (for o in selection where superclassof o == Light collect o).count == selection.countシーンで 1 つまたは複数のライト オブジェクトが選択され、ライト オブジェクトだけが選択されている。
  • selection.count == 1 and selection[1].isAnimatedオブジェクトが 1 つだけ選択され、そのオブジェクトがアニメートされている。
  • selection.count == 1 and selection[1].material != undefinedオブジェクトが 1 つだけ選択され、そのオブジェクトにマテリアルが適用されている。
  • animButtonState[オート キー](Auto Key)ボタンの状態。[オート キー](Auto Key)がオンのときは真、オフのときは偽で評価される。
    注: このステートメントが 3ds Max で再評価されるには、ビューポートの選択の変更などを行う必要があります。
エディタを開く

MAXScript エディタ ウィンドウを開きます。エディタの使用方法の詳細は、3ds Max の[ヘルプ](Help)メニューからアクセスできる MAXScript ヘルプを参照してください。

注: エディタ ウィンドウのスクリプトでは、条件は定義しません。詳細については、前述の[Maxscript]フィールドの記述を参照してください。

条件

アクション アイテム

特定の切り替えコマンドがアクティブな場合に適用されます。たとえば、[ソフト](Soft)パネルは、ソフト選択の動作を変更するコントールですが、[ソフト選択](Soft Selection)コマンドがアクティブな場合にのみ使用できます。

この項目をクリックすると、条件を定義するアクション アイテムを選択できるダイアログ ボックスが開きます。ダイアログ ボックスは、[リボンをカスタマイズ](Customize Ribbon)ダイアログ ボックスの[アクション アイテム](Action Items)ウィンドウと同じように編成されます。コマンドを見つけてダブルクリックし、[アクション アイテム](Action Item)の条件に適用します。ダイアログ ボックスの「アクション アイテム」の隣に、コマンドの名前が括弧に囲まれて表示されます。

リボン レイアウト

水平

リボンの方向が水平で、最大化されている場合に適用されます。

垂直

リボンの方向が垂直で、最大化されている場合に適用されます。

最小化

リボンが最小化されている場合に適用されます。

選択状態

通常、どちらかを有効にした場合は、もう一方も有効にします。これは、リボンの[グラファイト モデリング ツール](Graphite Modeling Tools)、[フリーフォーム](Freeform)、[選択](Selection)のタブの大部分のパネルの[使用可能](Available)プロパティに当てはまります。

編集可能ポリゴンが選択

単一の編集可能ポリゴン オブジェクトが選択され、3ds Max が[修正](Modify)モードになります。

ポリゴンを編集が選択

単一の[ポリゴンを編集](Edit Poly)オブジェクト([ポリゴンを編集](Edit Poly)モディファイヤが適用されたオブジェクト)が選択され、3ds Max が[修正](Modify)モードになります。

選択されたオブジェクト状態

ソフト選択有効

[ポリゴン モデリング](Polygon Modeling)パネルの[ソフト選択を使用](Use Soft Selection)がアクティブな場合に適用されます。

NURMS サブディビジョン有効

[編集](Edit)パネルの[NURMS を使用](Use NURMS)がアクティブな場合に適用されます。

スライス モード有効

[ジオメトリ (すべて)](Geometry (All))パネルの[スライス平面](Slice Plane)ツールがアクティブな場合に適用されます。

微調整 UVW 有効

[編集](Edit)パネルの[微調整](Tweak)がアクティブな場合に適用されます。

サブディビジョン ディスプレイスメント有効

[サブディビジョン](Subdivision)パネルの[ディスプレイスメントを使用](Use Displacement)がアクティブな場合に適用されます。

サブ オブジェクト モード

オブジェクト

サブオブジェクト レベルがアクティブな場合に適用されます。

頂点

編集可能ポリゴン オブジェクトと[ポリゴンを編集](Edit Poly)オブジェクトの[頂点](Vertex)サブオブジェクト レベルで適用されます。

エッジ

編集可能ポリゴン オブジェクトと[ポリゴンを編集](Edit Poly)オブジェクトの[エッジ](Edge)サブオブジェクト レベルで適用されます。

縁取り

編集可能ポリゴン オブジェクトと[ポリゴンを編集](Edit Poly)オブジェクトの[縁取り](Border)サブオブジェクト レベルで適用されます。

ポリゴン

編集可能ポリゴン オブジェクトと[ポリゴンを編集](Edit Poly)オブジェクトの[ポリゴン](poly)サブオブジェクト レベルで適用されます。

要素

編集可能ポリゴン オブジェクトと[ポリゴンを編集](Edit Poly)オブジェクトの[要素](Element)サブオブジェクト レベルで適用されます。