MzpPackager Web 版 マニュアル
MzpPackager の章一覧
概要
MzpPackager の Web 版は /apps/mzp-packager/ で公開しています。
フォームに入力していくと、3ds Max 用の MaxScript インストーラパッケージ (.mzp) を組み立ててダウンロードできます。
生成されるのは次の 4 ファイルです。ツール名とカテゴリから名前が決まります。
mzp.run— パッケージ制御ファイル。どのファイルをどこへコピーし、何を実行するかを書いたもの<Category>-<ツール名>.mcr— macroScript の定義。3ds Max のツールバーやメニューに登録するため<ツール名>_installed.ms— インストール時に実行され、mcr を読み込んでポップアップを表示する<ツール名>_open.ms— mcr から呼ばれてツール本体を起動する
この 4 ファイルに、エントリスクリプト(ツール本体)・アイコン・追加ファイルをまとめて ZIP 化し、.mzp として保存します。
処理はすべてブラウザの中で完結し、ファイルがサーバーへアップロードされることはありません。
ビルド結果はダウンロードとして保存されます。
画面構成
上のヘッダーには、テーマ切替(自動 → ライト → ダークの順に変わり、アプリの中だけに効きます)と「新規」「開く…」「保存」が並びます。 その下が 5 つの入力タブ(メタ情報 / ファイル / mcr 設定 / ポップアップ / ビルド)、右が常時表示のパネル、いちばん下が直前の操作を表示するステータスバーです。 タブに数字のバッジが付いているときは、そのタブに検証エラーがあります。

右パネルの上半分は「検証」です。入力が足りないと警告が並び、クリックすると該当するタブへ移動します。 警告が 1 件でも残っているとビルドは実行できません。

検証では、ツール名 / バージョン / mcr カテゴリが空でないか、エントリスクリプトが指定・読み込みされているか、新式アイコンの名前とフォルダが揃っているか、追加したファイルの実体が読み込まれているかを見ています。
メタ情報タブ
パッケージの基本情報とツール本体を指定します。
- ツール名: 必須です。インストール先フォルダ名や生成ファイル名の既定値になります
- バージョン: 必須です。
1.0.0のように書きます - インストール先:
$userScripts\<install_dir>\の<install_dir>にあたる部分です。空欄ならツール名を使います - 説明:
mzp.runのdescriptionになります - エントリスクリプト: 「参照…」で
.ms/.pyを選びます。枠へのドラッグ&ドロップでも指定できます。読み込めると「読込済」バッジが付きます - 配置先: エントリスクリプトを置く場所です。空欄なら
$userScripts\<インストール先>\になります
エントリスクリプトの種別は拡張子で自動判定され、.ms なら fileIn、.py なら python.executeFile で起動する open.ms が生成されます。
「pycache の扱い」は、ファイルタブで追加したすべてのフォルダに共通で適用されます。
「pycache を除外」(推奨)のほか、「すべて同梱」「pycache のみ」「.pyc ソースレス配置」から選べます。
「.pyc ソースレス配置」は __pycache__/mod.cpython-311.pyc を mod.pyc に改名して親階層へ置き、.py を除外します。
「一時ファイルのクリア設定」は mzp.run の末尾に入る clear temp の書き方を決めます(なし / MAX 終了時 / リセット時 / 即座に / 保持)。

ファイルタブ
エントリスクリプト以外に同梱したいファイルやフォルダを追加します。 設定ファイル、サブモジュール、リソース類などが対象です。
「ファイル追加」「フォルダ追加」のボタンで選ぶか、一覧の枠へドラッグ&ドロップします。
フォルダを同梱するときは、次の 2 つで中身を絞り込めます。
- 不要ファイルを自動除外:
.DS_Store、Thumbs.db、desktop.ini、.git、.svn、__MACOSX、*.bak、*.tmpを取り除きます - 追加の除外パターン: カンマまたは改行で区切った glob です。
*は 1 階層内の任意文字列、**は複数階層、?は 1 文字にあたります。/を含むパターンはフォルダ内の相対パス全体と、含まないパターンは各階層の名前と照合されます
一覧は「含める / 種別 / 名前 / 配置先 / 状態 / 削除」の 6 列です。
配置先は $symbol\path の形式で書きます(例: $userScripts\MyTool\config\)。空欄なら $userScripts\<インストール先>\ になります。
ファイルは copy、フォルダは treecopy として mzp.run に書き出されます。
「含める」のチェックを外した行はパッケージに入りません。
「状態」はファイルの実体を読み込めているかどうかで、「未読込」のままではビルドできません。

mcr 設定タブ
3ds Max に登録される macroScript の内容を決めます。
- macroScript 名: 空欄ならツール名を使います
- Category: 3ds Max の「ユーザーインターフェイスをカスタマイズ」で探すときのカテゴリです。mcr のファイル名
<Category>-<ツール名>.mcrにも使われます - toolTip: マウスを乗せたときの説明です
- buttonText: ボタンに表示するテキストです
アイコンモードは 3 つから選びます。
- アイコンなし: テキストボタンだけになります
- 旧式
Icon:#("pack", index): 3ds Max 標準のアイコンパックを番号で参照します - 新式
iconName:"path/name"(推奨): PNG を同梱して高 DPI に対応させる方式です
新式では Dark テーマ用と Light テーマ用のサブフォルダ名をそれぞれ指定します(「スクリプト名を採用」をオンにするとツール名になります)。
この名前は mcr の iconName:"<Dark 名>/<Light 名>" と、$usericons\Dark\<Dark 名>\ / $usericons\Light\<Light 名>\ へのコピー先に使われます。
「ローカルアイコンフォルダ」には PNG をフラットに入れたフォルダを選びます。ファイル名は <name>_24.png / _30.png / _36.png / _48.png のように、サイズを付けた 3ds Max の命名規則に合わせてください。
読み込むと、Dark / Light の背景でプレビューが表示されます。

ポップアップタブ
インストールしたときに 3ds Max 側で出るメッセージを設定します。
「インストール時にポップアップを表示する」をオンにすると、installed.ms に messageBox が入ります。
「バージョンアップ時の初回のみ表示する(推奨)」をオンにすると、インストール先の install_version.ini にバージョンを記録して、同じバージョンでは 2 回目以降は表示しません。
メッセージには install <ツール名> とバージョン・カテゴリ・名前が入り、【説明】と【使用法】に書いた内容がその下に続きます。

右パネル
生成プレビュー
mzp.run / mcr / installed / open をボタンで切り替えて、いまの入力から生成される中身をそのまま確認できます。
入力を変えると即座に反映されるので、ビルドしなくても書き出される内容を確かめられます。

パッケージ内容
.mzp に入るファイルの一覧と、それぞれのインストール先を、ビルドする前に確認できます。
→ がインストール先(mzp.run の copy / treecopy 先)です。
フォルダは展開して中身のファイルを確認できます。実体が読み込めていない項目には「未読込」バッジが付きます。

ビルドタブ
出力ファイル名と、mzp.run に足したい行を指定してビルドします。
- ファイル名テンプレート:
{tool_name}と{version}が使えます。既定は{tool_name}_v{version}.mzpです。ほかのプレースホルダを書くとエラーになります - ビルド成功時にバージョン末尾を +1 する: オンにすると、ビルドのたびにバージョンの末尾の数値が繰り上がります(例: 1.2.3 → 1.2.4)
- mzp.run 追加コマンド: 自動生成される
mzp.runのdrop/runの直前に、任意の行を挿入します。構文チェックは行われません

「ビルド実行(.mzp をダウンロード)」を押すとパッケージが組み立てられ、.mzp がダウンロードされます。
検証エラーが残っているあいだはボタンを押せません。
ビルドログには生成したファイルと同梱したファイルが 1 行ずつ並び、ステータスバーには出力ファイル名が表示されます。

生成される .mzp の中身
ツール名 MyTool、Category MyTools、インストール先は既定(ツール名)でビルドすると、MyTool_v1.0.0.mzp の中身は次のようになります。
| ファイル | 役割 | インストール先 |
|---|---|---|
mzp.run |
パッケージ制御ファイル | $userScripts\MyTool\ |
MyTools-MyTool.mcr |
macroScript の定義 | $userScripts\MyTool\ と $userMacros\ |
MyTool_installed.ms |
インストール時に実行されるスクリプト | $userScripts\MyTool\ |
MyTool_open.ms |
mcr から呼ばれる起動スクリプト | $userScripts\MyTool\ |
MyTool.ms |
エントリスクリプト(ツール本体) | $userScripts\MyTool\ |
config.ini |
ファイルタブで追加したファイル | 配置先に指定した場所 |
icons/MyTool_24.png 〜 _48.png |
新式アイコンの PNG | $usericons\Dark\MyTool と $usericons\Light\MyTool |
lib/helper.ms、lib/sub/util.ms |
ファイルタブで追加したフォルダの中身 | 配置先へ treecopy |
mcr のファイル名は <Category>-<ツール名>.mcr になります。Category を変えるとファイル名も変わります。
この例では lib の中にあった .DS_Store が「不要ファイルを自動除外」で取り除かれています。
.mzp ビューアと復元
ビルドタブの下には .mzp ビューアがあります。
「開く…」で .mzp を選ぶか枠にドロップすると、中に入っているファイルの一覧とサイズが表示され、選んだファイルの中身をその場で確認できます(テキストはそのまま、PNG などは画像として表示します)。
「このパッケージからプロジェクトを復元」を押すと、mzp.run / mcr / open.ms / installed.ms を解析して設定とファイルを取り込み、そのまま編集し直せる状態になります。
このツールの形式で作られた .mzp が対象です。既定値に戻した設定や復元できなかった項目は、ボタンの下に注意書きとして表示されます。

プロジェクトの保存と復元
ヘッダーの「保存」を押すと、入力内容が <ツール名>.mzpproj としてダウンロードされます。
「開く…」で読み込めるほか、.mzpproj / .json をウィンドウにドロップしても開けます。
「新規」を押すと、確認のうえですべての入力を破棄します。
入力内容はブラウザにも自動保存されるので、ページを再読み込みしても前回の続きから始められます。 ただしファイルの実体までは保持されないため、エントリスクリプト・アイコンフォルダ・追加ファイルは「未読込」になります。 もう一度選び直すか、Chrome / Edge なら検証パネルに出る「↻ 保存済みの参照から再読込」でまとめて読み直してください(アクセス許可の確認ダイアログが出ることがあります)。
3ds Max でのインストール
できあがった .mzp を 3ds Max のビューポートへドラッグ&ドロップすると、mzp.run の内容に沿ってインストールされます。
- 生成ファイルとエントリスクリプトを
$userScripts\<インストール先>\へコピーします - mcr は
$userMacros\にもコピーします - 新式アイコンの PNG を
$usericons\Dark\<Dark 名>\と$usericons\Light\<Light 名>\へコピーします - 追加ファイルとフォルダを、指定した配置先へコピーします
installed.msと mcr を実行します(ポップアップをオンにしていればここでメッセージが出ます)
インストール後は「カスタマイズ > ユーザーインターフェイスをカスタマイズ」で、指定した Category から macroScript を探してツールバーやメニューに登録します。
注意点 / ブラウザの制限
- ファイルとフォルダの選択は Chrome / Edge がもっとも機能が揃っています。フォルダのドラッグ&ドロップに対応していないブラウザでは、ボタンから選んでください
- 「保存済みの参照から再読込」は Chrome / Edge でのみ使えます。ほかのブラウザでは読み込み直したいファイルを選び直してください
- 入力内容の自動保存はブラウザごとの保存領域を使うため、別のブラウザや別の端末には引き継がれません。残しておきたいときは
.mzpprojに保存してください - ファイルはすべてブラウザ内で処理され、サーバーには送信されません