macroScript ボタンのカスタマイズ

3ds Max 3 にマクロ レコーダと macroScript を導入して以来、多くのユーザ インタフェース要素が MAXScript を使用して実装されてきました。

3ds Max 4 では、アクション項目システムが導入され、カスタマイズ ダイアログ ボックスの 4 つの主要なすべての領域(キーボード ショートカット、ツールバー、メニュー、およびクアッドメニュー)に macroScript を表示できるようになりました。

ツールバーのボタンの場合には、コンテキスト依存の右クリック メニューで macroScript を利用でき、次のオプションが表示されます。

上の例では、ユーザが[レンダリング ショートカット](Render Shortcuts)ツールバーの 2 番目のアイコンを右クリックしました。ここには、レンダリング プリセットを現在のプロダクション レンダラーにすばやく割り当てるために使用されるレンダリング プリセット スロット B が含まれています。

ボタンの外観を編集...(Edit Button Appearance...)

[ボタンの概観を編集...](Edit Button Appearance...)オプションを選択すると、ボタンの外観を調整するための新しいダイアログ ボックスが開きます。たとえば、次の外観を調整できます。

これは、ダイアログ ボックスの既定値の設定です。現在、(スクリプトのソース コードで指定された)アイコンがボタンに表示されている場合でも、ダイアログ ボックスでは[テキスト ボタン](Text Button)の設定が既定の状態として表示されます。

ユーザは、ボタン モードを[イメージ ボタン](Image Button)に切り替え、ドロップダウン リストからアイコン ライブラリを選択して(たとえば「レンダリング」)、リストから新しいアイコンを選択できます。

ボタンを削除(Delete Button)

[ボタンを削除](Delete Button)オプションを使用すると、ユーザはツールバーからボタンを削除できます。これは削除に伴う操作なので、次のプロンプトが表示されます。

[はい] (Yes)と答えた場合でも、その後で CUI ファイルから元のツールバー定義を復元したり、削除したボタンを[ユーザ インタフェースをカスタマイズ](mize User Interface)ダイアログ ボックスで作成し直すこともできます。

マクロ スクリプトを編集(Edit Macro Script)

[マクロ スクリプトを編集](Edit Macro Script)オプションを使用すると、ユーザは、ボタンの定義に使用する macroScript のソース コードを直接表示することができます。機能面でのささいなエラーを簡単に修正したり、オートデスクまたはサードパーティが開発した特定の機能の動作を学習する場合に非常に役立ちます。

3ds Max に付属する「ファクトリ」 macroScript を開くと、¥macroscripts フォルダから現在のユーザのローカル AppData フォルダ内の ¥usermacros フォルダにファイルがコピーされ、コードのカスタム変更が可能になります。¥usermacros フォルダに格納されたスクリプトはファクトリ スクリプトの後で評価されるので、ファクトリ スクリプトを上書きします。次の警告が既定で表示されます(左下隅のチェック ボックス オプションで無効にしていない場合)。

たとえば、[レンダリング プリセット スロット B](Render Presets Slot B)ボタンのソース コードをスクリプト エディタで表示すると次のようになります。macroScript の最初の行が自動的に強調表示されています。

MAXScript を使用しないでボタンが実装されている場合、[マクロ スクリプトを編集](Edit Macro Script)オプションは淡色表示されます。たとえば、メイン ツールバーの[マニピュレータ] (Manipulate)ボタンを参照してください。

3ds Max のコア インタフェースとして実装されたボタンの中には、その外観を変更できないものもあります([マテリアル エディタ](Material Editor)や[レンダリング] (Render)など、メイン ツールバーのほとんどのボタンを参照)。これらのボタンを右クリックしても、コンテキスト メニューは表示されません。

カスタマイズ...(Customize...)

[カスタマイズ...] (Customize...)オプションを選択すると、標準の[ユーザ インタフェースをカスタマイズ](Customize User Interface)ダイアログ ボックスが開き、新しいボタンを作成したり、アクション項目をショートカットに割り当てたり、アクション項目をメニューおよびクアッドメニューに配置したり、ユーザ インタフェースのカラーを調整することができます。また、MAXScript を使用して作成されている項目の macroScript を検索および編集することもできます。