快速上手:使用与制作着色器包

介绍 MMDX12 软件内着色器管理器操作、为模型分配着色器、调节参数滑块以及通过实时热重载开发新包。

在软件中管理着色器包

点击 MMDX12 顶部导航栏的 셰이더(着色器) 标签页(位于“라이브러리 / 素材库”与“벤치마크 / 基准测试”之间),即可打开着色器包管理器。

“설치됨(已安装)”界面

以卡片形式展示本地电脑中已存在的所有着色器包:

  • 卡片基本信息:预览缩略图、多语言名称、版本号、作者列表、标签组以及来源徽章(기본 제공 / 内置、설치됨 / 已安装、온라인 / 在线)。
  • 状态指示器:
    • 사용 가능(可用):清单文件格式正确,随时可以分配给角色模型。
    • 컴파일됨(已编译):在当前运行会话中已成功编译并正常工作。
    • 컴파일 오류(编译错误):HLSL 语法错误或编译失败,显示为红色,并在右侧属性面板输出编译器详细日志。
    • 호환되지 않음(不兼容):包声明的 API 版本或最低软件版本(minAppVersion)高于当前 MMDX12 版本。
    • 매니페스트 오류(清单错误):pack.json 解析失败或缺失必填字段。
    • 중복(重复):存在同名 ID 的包,该包被自动禁用。
  • 核心操作按钮:
    • 폴더 열기(打开文件夹):在文件资源管理器中定位当前选中包的文件夹。
    • 삭제(删除):移除已安装或在线下载的包(内置包不可删除)。
    • zip 설치(安装 ZIP):弹出文件选择窗口导入 .zip 包。直接将 .zip 拖拽到软件窗口中亦可立即完成安装。
    • 새 팩 만들기(新建包):从模板快速生成全新的着色器包项目。
    • 다시 불러오기(重新加载):重新扫描包文件夹并刷新内存缓存。

“온라인(在线展示馆)”界面

浏览官方展示馆(https://mmdx.codingbot.kr/shader-packs/index.json)收录的精选包:

  • 安装:点击安装按钮后,软件会自动校验下载文件的 SHA-256 哈希值与字节大小,确认完整无误后再执行解压安装。
  • 更新:当展示馆发布了更高版本的包时,卡片上会自动亮起“업데이트(更新)”按钮。

为角色模型分配着色器包

着色器包采用针对单一角色模型独立绑定的设计:

  1. 素材库(Library)界面:
    • 选中角色模型,查看右侧属性面板中的“셰이더(着色器)”行。
    • 点击后弹出搜索窗口,可选择“MMD 기본(MMD 默认着色)”或已安装的着色器包。
  2. 包参数调整(滑块):
    • 启用着色器包后,下方将展开“팩 설정(包参数设置)”滑块区域。
    • 可实时调整明暗交界线阈值、羽化过渡、边缘高光等视觉表现。
    • 只有被用户手动拖动改动过的参数项才会保存在角色配置中;保持默认的参数在未来包作者更新默认值时能自动应用新数值。
  3. 播放(Play)模式下即时调试:
    • 舞蹈播放过程中,轻点底部工具栏的菱形按钮(◇),可唤出相同的参数抽屉,边看动作边调节效果。
  4. Studio 影棚编辑器:
    • 选中场景中的角色模型,在检查器面板的“셰이더”行指定着色器。该设置会自动持久化保存进工程工程文件(.mmdxproj 的 shader 字段)。
  5. 命令行启动覆写:
    • 如果需要在特定启动会话中强制使用指定包,可在命令行传入参数:
      MMDX12.exe --shader-pack hoyo_toon
      传入 --shader-pack none 可在全局强制关闭所有着色器包,回到原生渲染。

开发新包与实时热重载

制作着色器时全程无需重启 MMDX12:

  1. 在着色器管理器中点击“새 팩 만들기(新建包)”,输入字母 ID(如 my_pack)。
  2. MMDX12 会在 <MMDX12>/shader_packs/my_pack/ 下自动生成附带详尽注释的 surface.hlsl 与 pack.json 模板。
  3. 使用 VS Code 等编辑器打开该文件夹。
  4. 在 MMDX12 素材库中将该新建包分配给待测试的模型。
  5. 只要保存 surface.hlsl 或 pack.json,MMDX12 就会立刻检测到文件系统变化,利用 DXC 在数毫秒内完成后台重新编译并刷新画面(热重载)。
  6. 即便不慎写出了语法错误,软件也不会闪退,而是会弹出醒目的红色通知并列出报错代码行号,同时模型自动退回默认着色保护画面。