#author("2026-10-05T18:00:01+09:00","","") * MME概要 [#za1168bf] &size(13){''MikuMikuEffect 的机制与导入方法''}; #contents ** 什么是 MME [#m9c97f67] ''MME(MikuMikuEffect)''是用于''替换 MMD 渲染''的''插件基础''。 由 Soboro 氏发布。 ''MMD 标准渲染''是''偏卡通且固定不变''的。 导入 MME 后,即可''使用任意着色器进行渲染'', ''表现力将得到飞跃式扩展''。 |~项目|~内容| |名称|MikuMikuEffect| |作者|Soboro 氏| |定位|''由 MMD 本体加载的追加模块''| |着色器语言|''HLSL''(DirectX 的 Effect 文件)| |文件格式|.fx| |要求|''Shader Model 3.0 以上''的 GPU| |现状|''0.37 系作为最终版本''被广泛使用| ** 会带来哪些变化 [#l5dea5cf] *** 没有 MME [#f3775ef4] |~项目|~内容| |渲染|MMD 标准的卡通渲染| |阴影|自阴影(分辨率固定)| |发光|无| |反射|仅球面贴图| |背景|保持原样| *** 有 MME [#g23c15c9] |~项目|~内容| |渲染|''任意着色器''(PBR、水彩、赛璐璐风格等)| |阴影|''高品质阴影''(SSAO、软阴影)| |发光|''Bloom、Glow''| |反射|''环境贴图、折射''| |背景|''景深、调色、雾''| > '''比喻''':''MMD 标准是「涂色套装」'', > ''MME 是「全套颜料 + 画材店」''。 > 由此''可以自行决定画什么、怎么画''。 ** 导入方法 [#rc281006] *** 前提 [#p24d9699] ''MME 无法单独运行''。''需要 MMD 本体''。 *** 步骤 [#t9ebde39] + 获取 MME 压缩包 + 将其内容''解压到与 MMD 本体相同的文件夹'' + 确认 ''MikuMikuEffect.x'' 位于''与 MMD 可执行文件同一层级'' + 启动 MMD,确认''「特效」标签页''为''可用状态'' + 将各个 ''.fx'' 放置到''合适的文件夹'' *** 文件夹结构示例 [#f9e0921e] #code(){{ MMD/ ├─ MikuMikuDance.exe ├─ MikuMikuEffect.x ← 这是 MME 本体 ├─ effects/ ← 放置 .fx 的位置(示例) │ ├─ Ray-MMD/ │ ├─ AutoLuminous/ │ ├─ ExcellentShadow/ │ └─ … └─ (模型、动作等) }} > '''重要''':''MME 本体与 .fx 是两回事''。 > MME 本体是''「读取并应用 .fx 的机制」'', > 而''具体外观''由''各个 .fx 决定''。 ** 特效的应用方法 [#p5968803] 在 MMD 的''「特效」标签页''中进行设置。 *** 应用对象 [#k53c8d98] |~对象|~内容| |''模型''|仅应用到''该模型''| |''饰品''|仅应用到''该饰品''| |''舞台''|应用到整个舞台| |''画面''|应用到''整个画面''(后期特效)| > '''区分很重要''':''应用到「画面」的特效'' > 会针对''最终图像''进行处理。 > 相反,''应用到「模型」''时,只有''该模型的渲染''会发生变化。 *** 分配操作 [#ee205ccc] + ''选择''模型(或饰品) + 打开''「特效」''标签页 + 选择''对象''(模型 / 饰品 等) + 选择 ''.fx'' 并''分配'' + 按需设置''显示''(子集) *** 特效顺序 [#sa297bd4] 指定''多个特效的应用顺序''。 ''顺序不同,结果也会不同''。 #code(){{ 例: 1. ExcellentShadow … 阴影 2. SvSSAO … 环境遮蔽 3. AutoLuminous … 发光 4. 调色 … 最后 }} > '''设计原则''':''「改变形状的」放在前面'', > ''「改变颜色的」放在后面''是基本原则。 > ''反过来则无法得到预期结果''。 ** MME 的机制 [#p803624b] 理解''内部发生了什么'', 有助于''排查故障''。 #code(){{ 1. MMD 构建场景(模型、材质、骨骼) 2. 渲染各个对象时,MME 进行介入 3. 向已分配的 .fx 指示「渲染此材质」 4. .fx 根据 MMDPass 分支处理 5. 渲染结果写入帧缓冲 6. 分配到「画面」的 .fx 处理最终图像 }} *** 什么是 MMDPass [#f4838eae] 它是''MME 传递给 .fx 的「当前正在渲染哪个阶段」的信息''。 |~Pass|~含义| |Object|''本体渲染''| |Object_T|本体(带贴图)| |Zplot|''写入 Z 值''(阴影预处理)| |Shadow|''阴影渲染''| |Edge|''轮廓线''| |Edge_T|轮廓线(带贴图)| |Object_SS|''自阴影用''| |Zplot_SS|自阴影用 Z 值| |Shadow_SS|自阴影| ''在自制着色器中''通过该 Pass 进行分支处理。 详见 [[特效编写入门]]。 ** 子集(显示) [#z3cb0830] 这是''为每个材质分配不同特效''的功能。 #code(){{ 模型整体 → 着色器 A ├─ 材质「肌肤」 → 着色器 B ├─ 材质「服装」 → 着色器 A └─ 材质「头发」 → 着色器 A }} ''用途'':''仅让眼睛使用不同着色器''、''仅对肌肤做单独处理''等。 ** 常用特效的分类 [#f821316c] |~分类|~代表例|~效果| |''光照''|Ray-MMD|''基于 PBR 的光照表现''| |''阴影''|ExcellentShadow2|''高品质阴影''| |''环境遮蔽''|SvSSAO|''沟壑阴影''| |''发光''|AutoLuminous4|''让明亮部分发光''| |''景深''|ExcellentDOF|''背景模糊''| |''抗锯齿''|Various AA|''减少锯齿''| |''调色''|ikBokeh 等|''色调调整''| |''水''|水面特效|''水面表现''| 详见 [[常用特效包图鉴]]。 ** 运行要求 [#n3b2eb18] ''MME 依赖 GPU''。 |~项目|~要求| |Shader Model|''3.0 以上''(必需)| |VRAM|''256 MB 以上''(轻量)~''4 GB 以上''(重量级)| |DirectX|''9.0c 世代的 API''| |GPU 世代|''过于老旧的 GPU 不支持''| > '''重要限制''':''Shader Model 3.0'' > 在 2004 年前后及以后的 GPU 上得到支持。 > 在''更早的 GPU''上,''MME 本身无法运行''。 > 另外,''重量级着色器''在''现代 GPU 上有时也无法实时运行''。 ** 故障排查 [#c05a521b] *** 画面变得全黑 [#e41656bb] + 检查''特效顺序'' + 尝试移除''分配到「画面」的特效'' + ''移除 MME''进行排查 + 确认 GPU 是否''满足要求'' *** 分配了特效却没有变化 [#n8d38c79] + ''对象''是否正确(模型 / 饰品 / 画面) + ''子集''的指定是否正确 + ''.fx 文件是否位于''正确位置'' + ''该 .fx'' 是否支持对应的 MMD 版本 *** 只有模型不显示 [#lf36064c] + 多数情况下原因是''特效顺序'' + 检查''子集''的分配 + ''该 .fx 所需的贴图''是否缺失 *** 运行卡顿 [#wdcd1047] + ''逐个移除特效''以定位原因 + ''降低分辨率''进行测试 + ''重量级着色器''应以''离线渲染为前提''使用 ** 以 MME 为前提的模型制作 [#q9286143] ''以使用 MME 为前提''制作模型时的注意事项: - ''将材质名设为有意义的名称'' — 着色器有时会依据材质名分支处理 - ''正确制作法线'' — PBR 对法线很敏感 - ''整理 UV'' — 在使用法线贴图时会受影响 - ''球面贴图的设计'' — 在 MME 中有时会''被覆盖'' - ''卡通贴图'' — 部分着色器''不会使用'' > '''方针的选择''': > 选择''「以 MMD 标准呈现」''还是''「以 MME 为前提制作」'', > 需要在''模型的设计阶段决定''。 > 要''在两者中都达到最优''是''困难的''。 ** 学习顺序 [#i60565df] #region(MME 的学习步骤) + '''尝试应用现成特效''' — 从 AutoLuminous 等轻量特效开始 + '''改变顺序并比较结果''' — 体会特效顺序的效果 + '''尝试使用子集''' — 按材质划分 + '''尝试阅读 .fx''' — 理解其结构 + '''尝试改写参数''' — 修改数值并观察结果 + '''尝试编写简单的 .fx''' — 前往 [[特效编写入门]] #endregion ** 相关页面 [#c0508994] - [[常用特效包图鉴]] — 常用特效一览 - [[特效编写入门]] — .fx 的编写方法 - [[渲染管线原理]] — 内部的渲染顺序 - [[渲染技巧与调色]] — 实战性的画面制作 #comment(num=5,noname,below)