MMD 笔记偽物篇:PBR, IES, M4Layer

本文由 简悦 SimpRead 转码, 原文地址 www.bilibili.com

作者:呵来

用 MMD 小半年的一些琐碎笔记,个人备忘向,也希望对你有帮助!前言略微偏 2D 的 3D 渲染(AKA 似真非真的伪物)是目前的心头好,PBR 材质光照和轮廓线全都想要,所以用的是 Ray 主渲(3D)叠加薄层 M4Layer (Toon 渲)这样非主流的方式。

用 MMD 小半年的一些琐碎笔记,个人备忘向,也希望对你有帮助!

前言

略微偏 2D 的 3D 渲染(AKA 似真非真的伪物)是目前的心头好,PBR 材质光照和轮廓线全都想要,所以用的是 Ray 主渲(3D)叠加薄层 M4Layer (Toon 渲)这样非主流的方式。Ray 渲基本流程大佬们的教程已经非常完备,这篇笔记涉及的是以下这些细节补充和资源推荐:

1. PBR 材质制作
2. IES 光照
3. M4Layer

关于 Ray 渲种种的拓展阅读除了 Ray-mmd 本身的 wiki 页面(https://github.com/ray-cast/ray-mmd/wiki)外,特别推荐非官方的日语版文档(https://github.com/gaj-cg/ray-mmd-docs-ja),图文并茂非常直观,各个参数小条目也更加齐全。

1. PBR 材质

如果想要自己创建 PBR 材质,一个很好用的工具是 Red's Material Tool for ray-mmd (RMT,https://github.com/Syloid/RMT),窗口 GUI 直观编辑各项参数,对晕代码人来说简直天降救兵。

RMT 基本用法:

1.      下载后将解压得到的 RMT 文件夹置于 raymmd 的 Extension 文件夹中

2.      打开 RMT.exe, 选择 Create Material from existing(从现有材质创建)

3.      输入不含后缀名的新材质名称(英文半角,不可含有特殊符号,包括下划线)→ OK

4.      弹出窗口选择想要在其基础上进行编辑的现有材质,比如 material_2.0.fx → Open

5.      弹出窗口选择 Yes:自定义新材质的存放文件夹,No:在选定的现有材质的同一个文件夹创建新材质

6.      对弹出窗口的各个参数进行编辑

7.      6 的同时在 MMD 中为目标模型加载创建的新材质可实时查看效果

PBR 贴图资源库举例

https://ambientcg.com/

https://3dtextures.me/

https://freepbr.com/

PBR 贴图各参数与 Raymmd 材质参数的对应关系

如果直接代码行编辑材质,为文本编辑器添加 HLSL 语法高亮会在视觉上舒服很多。

2. IES 光照

室内人物打光个人偏好使用聚光灯 spotlight,因为有所有光照类型中质量最好的影效果(见 raymmd wiki 文档),配合方向光 directional light 调暗部色彩,点光源 pointlight 局部补光。室内环境打光练习时我一般会把阳光全部屏蔽(sunlight- = 1)。IES 光照相对非 IES 可以在光线分布上模拟一些真实灯光效果,并且 ray 是可以借用外部 IES 文件自定义光线分布的。

自定义 IES 方式:从 raymmd 的 Github 工具页面下载 IES2HDR.zip(ray-mmd/Tools),解压后根据 README.jpg 进行操作。

比如

中的雾光灯用的是 Renderman 里的 Three Lobe Umbrella:

TIP1 带 FogMap 的聚光灯最多只能存在 4 个

TIP2 灯光的最大照射距离默认为 400,如果需要超远距离打光似乎可以通过修改 ray_advanced.conf 中的 mLightPlaneFar 参数达成?(待测试)只需修改 LightMap 对应 fx 文件中 lightRangeParams、lightIntensityParams、lightAttenuationBulbParams 的最大值即可。

TIP3 带 FogMap 时似乎必须有实体地面,否则会出现下图粗颗粒效果(反面教材:WAVE),不过反过来如果追求这样的效果可以考虑把舞台地板拆了(喂

光照举例:偽物人間中的打光设置

1.     ** **天空盒: time of day / time of night / 任意黑色背景天空盒 ,前两者时环境光 y 值调至最高

2. **Raycontroller:**sunlight- = 1

3. **Spotlight IES (雾灯):**LightMap 中使用 IES_lightning_with_shadow_very_high; FogMap 中使用 IES_fog_with_shadow_very_high

**4.     ** **Spotlight 1:**高光灯,不设 FogMap,intensity 较高

5. **Spotlight 2,3:**侧光灯,2 偏暖(片尾的闪烁通过 blink 表情调节),3 偏冷(A part 雷电将军轮廓同色,B part 偏诡异的紫色)

6. Pointlight: 脸部补光,片尾的地面高光为 subsurface 反射效果

3. 关于 M4Layer

让渲染自由度指数级提升的神器。目前只试了几种常用模式,有待进一步探索。可以作为蒙版使用,也可以进行分层渲染和风格化渲染。缺点是资源占用略高,需要谨慎设置特效在各层内的显示状态。

使用****例:偽物人間伪影绘

(其实后期也能达到类似效果,但如果想 MMD 直接输出可以考虑以下方法)

1. 模型准备:添加黑化材质表情

**2. ** MMD 中添加ミーフォ茜的 M4Layer 和类似ラテ的簡易背景エフェクト的全屏背景色特效

3. MME 中 Main:取消勾选全屏背景色特效

4. MME 中 LayerRT:勾选全屏背景色特效并配置对应 fx 文件;勾选想要进行影绘的模型,其余模型均配置 InvisibleMask.fx。

**5. ** 开启影绘:设置 M4Layer 及全屏背景色特效的透明度为 1,并开启影绘人物黑化表情;
关闭影绘:设置 M4Layer 及全屏背景色特效的透明度为 0,并关闭影绘人物黑化表情

6. 影绘描边:新增乘算 M4Layer 并使用下っ腹 P 的 L_EdgeShader

就先写到这里吧,再次感谢神仙们的分享和配布,祝 MMD 玩耍愉快!

评论