クイックスタート:パックの利用と作成

アプリ内のシェーダーマネージャーの使い方、モデルへの適用、スライダー調整、ホットリロードによる自作の流れを解説します。

アプリ内でシェーダーパックを管理する

MMDX12 上部バーの 셰이더(シェーダー) タブ(「라이브러리(ライブラリ)」と「벤치마크(ベンチマーク)」の間)をクリックすると、シェーダーパックマネージャーが開きます。

「설치됨(インストール済み)」画面

ローカル環境に存在するすべてのパックが一覧表示されます:

  • パック情報: サムネイルプレビュー、表示名、バージョン、作者、タグ、提供元バッジ(기본 제공 / 標準搭載、설치됨 / インストール済み、온라인 / オンライン)。
  • ステータス表示:
    • 사용 가능(利用可能): マニフェストが正常で、すぐにモデルへ適用できる状態。
    • 컴파일됨(コンパイル完了): 現在の起動中に正常にシェーダーが生成され動作している状態。
    • 컴파일 오류(コンパイルエラー): HLSL の構文エラーなどが発生した場合に赤字で表示され、詳細欄にコンパイラログが出力されます。
    • 호환되지 않음(非互換): API バージョンがアプリより高いか、要求されるアプリバージョン(minAppVersion)が新しい場合。
    • 매니페스트 오류(マニフェストエラー): pack.json の記述不備や必須項目の欠落。
    • 중복(重複): 同一 ID のパックがすでに存在するため無効化されている状態。
  • 主要な操作ボタン:
    • 폴더 열기(フォルダを開く): 選択したパックのフォルダをエクスプローラーで開きます。
    • 삭제(削除): インストール済みパックやオンライン導入パックを削除します(標準搭載パックは削除不可)。
    • zip 설치(ZIPからインストール): .zip ファイルを選択して導入します。ウィンドウ内へ .zip ファイルをドラッグ&ドロップすることでも即座にインストール可能です。
    • 새 팩 만들기(新規パック作成): テンプレートから新しい自作パックを作成します。
    • 다시 불러오기(再読み込み): パックフォルダを再スキャンしキャッシュを更新します。

「온라인(オンライン)」画面

公式オンラインギャラリー(https://mmdx.codingbot.kr/shader-packs/index.json)の掲載パックを閲覧し、ワンクリックで導入できます:

  • インストール: ダウンロードした ZIP アーカイブの SHA-256 ハッシュ値とファイルサイズをインデックスと照合し、安全に展開・登録します。
  • アップデート: ギャラリー側に新しいバージョンが公開されると、自動的に「업데이트(アップデート)」ボタンが表示されます。

モデルへシェーダーパックを適用する

シェーダーパックは全体設定ではなく、キャラクターモデル単位で設定されます:

  1. ライブラリ(Library)画面:
    • キャラクターを選択し、右側のプロパティパネルにある「셰이더(シェーダー)」行をクリックします。
    • 検索モーダルが開き、「MMD 기본(MMD標準)」またはインストール済みパックから選択します。
  2. パック設定(パラメータスライダー):
    • パックを適用すると、下部に「팩 설정(パック設定)」スライダー群が現れます。
    • 影の境界、やわらかさ、リムライト強度などをスライダーでリアルタイムに微調整できます。
    • ユーザーが変更した項目のみがモデル設定として保存されるため、未変更のパラメータは将来のパック更新時の初期値がそのまま反映されます。
  3. 再生(Play)モードでのリアルタイム調整:
    • ダンス再生中、画面下部バーのひし形ボタン(◇)を押すと設定ドロワーが開き、映像を見ながらスライダーを動かせます。
  4. Studio エディター:
    • モデルを選択し、インスペクターの「셰이더」項目で指定します。プロジェクトファイル(.mmdxproj の shader キー)に保存されます。
  5. コマンドライン実行オプション:
    • 起動時に指定したパックを一時的に強制適用することもできます:
      MMDX12.exe --shader-pack hoyo_toon
      --shader-pack none を指定するとパックを無効化し、MMD 標準シェーディングで起動します。

新規パックの作成とリアルタイムホットリロード

シェーダーを自作する際、アプリを再起動する必要は一切ありません:

  1. シェーダーマネージャーで「새 팩 만들기(新規パック作成)」をクリックし、英数字の ID を入力します。
  2. <MMDX12 フォルダ>/shader_packs/<ID>/ にテンプレートファイル(コメント付き surface.hlsl と pack.json)が生成されます。
  3. VS Code 等のエディタでこのフォルダを開きます。
  4. MMDX12 のライブラリ画面で、作成した自作パックをモデルに割り当てておきます。
  5. surface.hlsl や pack.json を編集して上書き保存すると、MMDX12 がファイル更新を検知し、数ミリ秒でバックグラウンド再コンパイルを実行して画面に即座に反映します(ホットリロード)。
  6. 万が一 HLSL に文法ミスがあってもアプリが強制終了することはなく、赤い警告バナーと詳細なコンパイラログが表示され、モデルは安全に標準シェーディングで表示され続けます。