3ds Max を初めて起動すると、MAXScript によってスタートアップ スクリプト ファイルが検索され、自動的にロードされ、実行されます。この機能は、常に使用する関数ライブラリを事前にロードしておく場合、カスタム UI 設定を行う場合、スクリプト プラグインを定義する場合、またはスクリプト ユーティリティ ロールアウトをロードする場合などに便利です。
3ds Max が起動すると、常に以下で説明する手順通りにスクリプトがロードされます。ソフトウェアの一部はまだアップできておらず、スタートアップ プロセスの別の段階にあります。スタートアップ プロセスの手順とその理由を理解するとコードの作成に役立ち、すべての関数とUI の自動ロードが正常に作動するようにできるようになります。
3ds Max は stdplugs¥stdscripts にある初期状態のスクリプトの評価を行います。これらのスクリプトでは、3ds Max ソフトウェアのベースとなるスクリプト化された要素に必要な関数を定義しています。
独自の MacroScript での使用のためにいくつかの関数やグローバル変数を定義する必要がある場合は、stdplugs¥stdscripts の .ms ファイルに格納してください。これにより関数やグローバル変数を最初に定義できます。
次に、3ds Max は、[カスタマイズ…](Customize...) > [パスを設定…](Configure Paths...) > [プラグイン](Plug-Ins)とそのサブディレクトリ通常のプラグインのロード方法とは異なる点に注意してください。この方法は通常のプラグインをロードする方法と異なります。プラグインは指定したパスからのみロードされ、サブディレクトリは検索しません。その他のスクリプト、 特に MacroScripts で使用する関数、メソッド、構造体を定義できます。
この時点では、3ds Max シーンは作成されず、ビューポートも作成されていません。これらのスクリプトでは、シーン オブジェクトは作成できず、また UI 関連の作業は何もできません。もちろん、これらの操作を実行する関数を定義できますが、この時点ではこれらの関数の呼び出しはできません。
このとき startup.ms という名前のスクリプト ファイルが無視されます。こうしておくと、スクリプト プラグイン スクリプトを プラグイン フォルダに配置して自動的にロードされるようにすることができます。これらのスクリプトは DLL プラグインのように管理でき、管理しやすいようにスタートアップ スクリプトを独自のディレクトリ内でグループ別に構成することができます。ネストされたディレクトリが検索されないようにするには、「(old-versions)」のように、名前をカッコ()で囲みます。こうすると、ディレクトリ ベースのグループに対して、スクリプトを有効または無効に設定できます。
次に、ui¥macroscripts にある MacroScript .mcr ファイルが評価されます。これらのファイルは UI に表示できるアクション項目を定義します。この時点では、まだ UI は作成されておらず、MacroScripts はその関連ボタンを埋め込む際に必要です。
最後に、startup フォルダにある startup.ms および任意のスクリプトが評価されます。この時点で、シーン、ビューポート、および UI が表示されます。ここでは、必要に応じて操作できます。
3ds Max 9 以降では、3ds Max システム スタートアップ スクリプト ディレクトリにあるスタートアップ スタートアップ スクリプトが最初に実行され、次に ユーザ定義のスタートアップ スクリプト ディレクトリが実行されます。この動作により、Max システムのスタートアップ スクリプト ディレクトリとは別にユーザのスタートアップ スクリプト ディレクトリを設定することができます。
MAXScript では、まず以下のディレクトリで startup.ms ファイルが、以下の順序で検索されます。
MAXScript は最初に startup.ms が見つかったところで検索を停止します。
スタートアップ スクリプト ファイルの自動ロードを非アクティブにするには、[基本設定](Preferences)ダイアログ ボックスの [MAXScript]ページにある [MAXScript オート スタート](Auto Start MAXScript)オプションをオフにします。詳細については、主要製品オンライン ヘルプの「MAXScript 基本設定」を参照してください。
3ds Max をコマンド ラインから起動し、最終的にはコマンド ライン スクリプトを使用する
いずれの場合も、3ds Max は上記の説明どおりに開始され、ファイルをロードします。
3ds Max 2009 以前では、スクリプト フォルダおよびコールバックは以下の順番で実行されていました。
この結果、Startup フォルダからロードされたスクリプトは #filePreOpen イベント コールバック で使用することはできません。
3ds Max 2010 では、ロード順序が次のように変更されました。