配布とギャラリー掲載

zip アーカイブの構造要件、公式ギャラリーへの掲載申請手順、審査基準、バージョン管理とライセンスについて解説します。

zip アーカイブの構造と制約

シェーダーパックを配布したり公式ギャラリーへ登録申請したりする際は、.zip 形式で圧縮する必要があります。MMDX12 のインストーラーは安全のため厳密なチェックを実施します:

アーカイブ内の構成

圧縮ファイルのルートにトップレベルフォルダ <id>/ を配置してその中にファイルを格納するか、ルート直下にパックファイルを配置してください:

my_pack.zip
└── my_pack/
    ├── pack.json
    ├── surface.hlsl
    ├── preview.png (任意)
    ├── README.md (任意)
    └── LICENSE (任意)

ファイル制限

  • 許可された拡張子: pack.json, *.hlsl, *.hlsli, *.png, *.jpg, *.jpeg, *.md, *.txt, LICENSE*。
  • 禁止項目: シンボリックリンクやハードリンク、実行可能バイナリ(.exe, .dll など)、許可外の拡張子が含まれる場合、インストーラーは即座に導入を拒否します。
  • 容量およびファイル数: 解凍後総容量 32MB 以下、総ファイル数 200 個以内。

公式ギャラリーへの掲載申請

MMDX12 公式オンラインギャラリー(https://mmdx.codingbot.kr/shader-packs/)への掲載を希望する場合、GitHub Issue から申請します:

  1. MMDX12 GitHub Issues を開きます。
  2. タイトルを Shader pack: <パック名> とした新規 Issue を作成します。
  3. 本文に以下の内容を記載します:
    • 完成した .zip アーカイブの添付(または公開リポジトリの URL)
    • 適用前後の比較スクリーンショット(MMD 標準シェーディングとの比較)
    • 明確な再配布ライセンス(MIT、Apache-2.0、CC-BY 等)
    • 推奨モデルやパラメータ設定の案内

メンテナーによる審査基準

掲載前に以下の項目について審査が行われます:

  1. コンパイル検証: pack_check.exe <pack.zip> --compile を実行し、終了コード 0 でエラーなく通過すること。
  2. ライセンスと権利関係:
    • オープンな再配布を認めるライセンスであること。
    • 第三者のシェーダーコードや商用アセットを無断転載・剽窃していないこと。
  3. プレビュー画像サイズ: preview.png または preview.jpg はアスペクト比 16:9(1280x720 や 1920x1080)であること。
  4. 多言語マニフェスト: name、description、recommendedFor、パラメータ label に可能な限り多言語(ko, en, ja, zh)の翻訳を用意することを推奨します。
  5. GPU 負荷と安全性:
    • シェーダーは GPU 上でのみ動作するため、ローカルファイルやネットワークへのアクセスはできません。
    • ただし、過剰な無限ループなどはフレームレート低下を招くため、ループ回数は適切に制限してください。

バージョン管理と自動更新

  • セマンティックバージョニング: パックの修正や機能追加を行うたびに、pack.json の version を引き上げてください(例:1.0.0 から 1.0.1)。
  • ギャラリー配布: 公式ギャラリーでは各バージョンを個別の ZIP ファイルとして保持し、index.json に SHA-256 チェックサムを記録します。
  • アプリ内更新案内: MMDX12 はインデックスを照合し、インストール済みより新しいバージョンが公開されている場合に自動で「업데이트(アップデート)」ボタンを表示します。