[リボンをカスタマイズ](Customize Ribbon)機能は、主に自分の作業方法に合わせてリボン インタフェースを再編成し、[アクション アイテム](Action Items)リストから既存の 3ds Max コマンドを追加するためのものです。チェック ボックスやスピナーなどのさまざまなタイプのカスタムのコントロールを追加できますが、そのような機能では、macroScripts の記述を含む高度な知識やスクリプト技術が必要です。
そのため、リボン内部のしくみについて理解するには、既存のコントロールを調べて、根底にあるスクリプトとどのように接続しているかを確認すると役に立ちます。例として、[リボンをカスタマイズ](Customize Ribbon)ダイアログ ボックスを使用して、[モデリング](Modeling)タブの[編集](Edit)パネルの左下コーナーのUVW の[微調整](Tweak)スピナーを見つけてみましょう。
[存在する UI](Existing UI)リストまたは[プレビュー ウィンドウ](Preview Window)で、スピナーをクリックし、[プロパティ](Properties)リストの下の方にスクロールします。[Maxscript]プロパティは、UVWTweakSpinnerCallbackです。テキスト エディタを使用して、プログラム インストール ディレクトリの ¥stdplugs¥stdscripts フォルダにある PolyTools.ms ファイルを開きます。ファイル内で「UVWTweakSpinnerCallback」というテキストを検索します。検索結果は次のようになります。
struct UVWTweakSpinnerCallback ( fn OnChanged iValue = ( PolyToolsUI.UVWTweakChannel = iValue ), fn getValue = ( PolyToolsUI.UVWTweakChannel ) )
これはリボン スピナーを 3ds Max ソフトウェアに接続する MAXScript コードです。スクリプトの詳細な動作についての説明はこのヘルプの範囲を超えていますが、[ヘルプ](Help)メニューからアクセスできる MAXScript ヘルプに詳細な情報があります。
同様に、その他のリボン コントロールも[コマンド](Command)プロパティから macroScript を呼び出します。たとえば、[リボンをカスタマイズ](Customize Ribbon)ダイアログ ボックスを使用して、[オブジェクト ペイント](Object Paint)タブの[ペイント オブジェクト](Paint Objects)パネルの[ペイント](Paint)切り替えボタンを探してみましょう。[コマンド](Command)プロパティの値は、ObjectPaint Paint です。これは[オブジェクト ペイント](Object Paint)機能の[ペイント](Paint)コマンドを切り替えます。このコマンドは、[アクション アイテム](Action Items)リスト [メイン UI](Main UI)領域 [PolyTools]カテゴリにあります。ボタンにアクションを適用するには、[アクション アイテム](Action Items)リストからボタンのプロパティの[コマンド](Command)の値にドラッグするだけです。さらに、ObjectPaint Paint コマンドは、インストール ディレクトリの ¥UI¥MacroScripts にある macroScript ファイル Macro_PolyTools.mcr 内で定義されています。
したがって、[ボタン](Button)コントロールや[切り替えボタン](Toggle Button)コントロールのカスタムの機能を定義するには、まずそのための macroScript を記述し、そのファイルを 3ds Max が起動時に自動的にスクリプトをロードするディレクトリに置きます。その後、コマンドが[アクション アイテム](Action Items)リストに表示されるように、3ds Max を再起動します。次に、リボンにボタンを追加し、[アクション アイテム](Action Items)リストでコマンドを見つけ、アクションを[プロパティ](Properties)セクションの[コマンド](Command)プロパティにドラッグします。