花生肉泥 Blog

MMD-ray渲染

2018/09/18 Share

用到的软件:

MikuMikudance Ver.9.26 / MikuMikuEffect Ver.0.37

用到的MME:

ray-mmd-1.5.0 / AutoLuminous4 / Diffusion7 / SSAO / Workingfloor2_v004 / XDOF

第一步:载入模型以及场景

首先打开MMD软件,界面如下:

upload successful

选择模型操作→载入(或者直接将模型拖入软件中间)

upload successful

最终结果如下:

upload successful

可以看到 其中c10402-boness2是琪亚娜模型,Stage_Concert是背景舞台的模型
upload successful

第二步:载入渲染工具

这里使用的是ray渲染,详细信息可以关注ray的github地址

下载完解压以后是如下界面

upload successful

文件名 作用
Extension 除主渲染以外的一些独立的MME特效文件
Fog 对场景添加大气雾,地面雾的雾气特效
Lighting 除主光源以外的额外多光源,可以支持点光源,聚光灯,区域光,IES等
Main MME的Main标签栏中必须挂载的特效文件
Materials 对不同的模型给于不同的材质,达到不同的质感
Outline 当启用绘制轮廓线时,用于设置物体外轮廓线粗细以及颜色
Shader 渲染库内部的公用代码,不需要了解
Shadow 用于主光源的阴影渲染,以及控制SSAO强度的fx文件
Skybox 天空盒,详细说明请参考此链接
Tools 制作天空盒和IES光源需要用到的执行文件
LICENSE.txt 基于MIT的发行协议,README_chs.md 有详细的中文说明
ray.conf Ray-MMD 的配置文件,修改后需要打开ray.fx对它保存一下用于通知MMD再次编译
ray.fx Ray-MMD 的Effect文件,通过ray.conf来禁用启用一些特效
ray.x MME允许通过读取x文件绑定的fx文件,从而对模型进行渲染
ray_advanced.conf Ray-MMD 的配置文件的微调,通常情况下不需要修改
ray_controller.pmx 实时的对 Ray-MMD 进行参数调整
README.md 语言编写的英文版自述文件,用于在Github展示
README_chs.md 语言编写的中文版自述文件,用于在Github展示

(以上加粗部分是本次需要用到的文件)

在载入ray之前先要对MMD进行一些设定:

upload successful
将坐标轴显示和抗锯齿取消勾选(ray自带抗锯齿,如果MMD的抗锯齿是打开的话,可能会出现模型拖影的问题)

接下来把ray文件夹中的ray.x以及ray_controller.pmx拖入MMD中,也可从左下角模型操作→载入

然后将Skybox中的天空球随便选一个载入MMD,这里我选择的是Skybox→Time of day→Time of day.pmx

效果如下所示:

upload successful

接下来选择背景→模型描画顺序,将天空球(此处名字是time of day)调整到第一位。

upload successful
upload successful

然后需要对刚刚导入的模型,天空球等进行一些基本的设定,选择右上角的MMEffect打开MME控制面板

upload successful

在Main面板中,将背景模型和人物模型的Effect file设置为Main→main.fx。
upload successful

然后打开EnvLightMap面板,将天空球的Effect file设置为Skybox→Helipad GoldenHour→Sky with lighting.fx
upload successful

第三步:载入额外的特效

这里讲前文提到的AutoLuminous4 / Diffusion7 / SSAO / Workingfloor2_v004 / XDOF这几个特效载入进去,其中:

AutoLuminous4 - 自发光

Diffusion7 - 柔滑

SSAO - 阴影加强(也可用ray实现)

Workingfloor2_v004 - 地板反光特效

XDOF - 背景虚化

基本上以上的5个特效都是我通常会添加的特效

选择附件操作→载入,或者直接将.x文件拖入MMD即可
upload successful

全部载入后效果如下

upload successful
接下来将详细设置每个特效的参数

第四步:特效参数设置

1、AutoLuminous4

upload successful
其中:Si:发光强度、Tr:扩散强度、X:光芒射出数量、Y:辉度调整、Rx:光芒角度调整、Ry:光芒长度、Rz:闪烁周期

这里我只调整了一下发光强度,更加详细的参数设定可以自行咨询百度:

upload successful
upload successful
(上Si:1.0 下Si:1.5)

接下来打开MME面板的AL_EmitterRT面板,右键模型展开,选择背后披风的材质,将自发光取消,不然会有如下图1一样的刺眼的光
upload successful
upload successful

2、Diffusion7

upload successful
其中XYZ对应色彩RGB Si:大小,其内置参数可以打开diffusion7.fx进行详细调整,这里我就不动了。

upload successful
upload successful
(上无 下有)

3、SSAO

加入SSAO(阴影)后会使人物更有层次感

upload successful
upload successful
(上无 下有)

可以看出人物周边有一些黑色的线,这里需要先把模型操作选中模型,然后选择轮廓线大小
upload successful
改为0即可

upload successful
upload successful

4、Workingfloor2_v004

这个插件是实现地板反光特效
upload successful
upload successful
(上修改前 下修改后)

upload successful
默认Si、Tr是1,Si范围太小,Tr反射强度太大,我修改为了Si=10,Tr=0.25

5、XDOF

XDOF背景虚化

upload successful
upload successful
(上Si=1 下Si=5)

其中Si是控制虚化强度,按自己喜好设定就好,其中要注意的是
upload successful
载入按钮下面选择模型,绑定一个骨骼,这个虚化就会以绑定的骨骼为中心虚化背景,不然的话可能会出现背景和人物一起虚化了的情况

第五步:人物材质

以上步骤完成后可以看到场景基本上可以了,接下来就要对人物各个部位进行材质修改

首先打开MME中MeteriaMap面板,右键模型选择展开,就可以看到这个模型的所有贴图,接下来就要对各个贴图赋予适合的材质,其中可以勾选贴图前面的复选框查看修改的部位在哪里。
upload successful

双击贴图后面的effict file从ray文件夹的Materials中选择材质。

upload successful

文件夹 作用
ClearCoat 模拟物体涂上一层透明清漆的双层材质,例如车漆
Cloth 模拟布料的反射,内置有白色黑色以及根据贴图确定颜色
Editor 可以通过PMX文件来略微调整材质的属性
Emissive 使物体产生自发光,材质并不会产生光源照亮周围场景
Hair 简单的头发材质
Metallic 金属,如金,银,铜,铁
Programmable 水和打湿的材质
Skin 模拟皮肤的材质
Subsurface 模拟物体具体半透明特性的材质,如玉器
Transparent 透明材质,适用于眼镜,护目镜,玻璃等
Video 可以将屏幕渲染的结果作为贴图来使用,需要先放置Extension目录中的DummyScreen.x文件
material_2.0.fx 所以模型默认时的材质文件,可以通过它来创造属于你自己的材质
material_skybox.fx 所有天空盒模型都必须使用此文件
material_common_2.0.fxsub 每一个材质文件都必须包含一个material_common_2.0.fxsub文件,它是所有材质内部实现的代码
README.md 英文版的材质说明文件,你可以在Github上预览
README_chs.md 中文版的材质说明文件,你可以在Github上预览

upload successful
upload successful

upload successful
upload successful

upload successful
upload successful

附上材质设定,仅供参考
upload successful
upload successful

第六步:全局调整

注意:所有操作完成以后都要点击注册按钮,不然操作无效

upload successful
首先在模型操作中选择之前载入的ray控制器,然后在表情操作中细微调整各个选项,注意的是,调整完以后一定要切换回upload successful照明模式下才是最终效果。

upload successful
SunLight+/-:调整太阳光的强度,即天空盒光源强度

SunShadowR/G/B:调整太阳光生成的影子的颜色

SunShadowV-:降低阴影覆盖区域的明度,让阳光照不到的地方更黑,不过会损失细节。

MultiLight+/-: 调节ray自带各种光源亮度

SSAO:屏幕空间环境光遮蔽强度

SSAORadius:调整SSAO制造的阴影的半径大小

SSDO:可以理解为SSAO加强版,使明暗过度更柔和,更有层次感

SSSS:次表面散射强度-是光射入非金属材质后在内部发生散射,最后射出物体并进入视野中产生的现象,是指光从表面进入物体经过内部散射,然后又通过物体表面的其他顶点出射的光线传递过程。类似玉器的半透明材质,当光线进入在内部散射造成一种明亮的感觉,和Materials文件中Subsurface材质

upload successful
testmode:单独测试每个栏目具体效果,一般不用

其余均为ray自带镜头参数,如果要使用需要在ray.conf里打开bokenh选项,一般都用其它MME例如XDOF等代替更方便

upload successful
BloomThreshold:产生泛光的阀值,光斑,泛光强度,当材质反射光大于这个值时生成泛光

BloomRadius:泛光的半径

BloomColorAllH:泛光颜色

BloomColorAllS:饱和度

BloomColorAllV:明度

一般提高阀值,提高明度,降低半径,可以使光斑更亮而且不会因为范围大遮住人物。(AutoLuminous4插件中,调节.x文件,2-十字光斑,1-一字光斑)

Vignette:暗角

Dispersion:将色彩分离为三原色

upload successful
Contrast:对比度

Saturation:饱和度

Gamma:伽马值

temperature:色温

BalanceR/G/B:色彩平衡

第七步:输出

1、输出图像

首先选择 显示→导出尺寸
upload successful根据自己电脑性能选择大小

然后点击文件→图像文件导出即可
upload successful

2、输出动画

一样先限定导出尺寸,然后你还需要一个动作文件,当各项都调好以后选择文件→AVI文件导出

upload successful
选择好帧率,录制帧(也就是你要输出动画的开头帧和结束帧),不要选WAVE导出,视频压缩选择未压缩的话会占用很大的硬盘空间(30G左右,视你导出的帧数大小而定)

附一张最终效果图
upload successful

CATALOG
  1. 1. 第一步:载入模型以及场景
  2. 2. 第二步:载入渲染工具
  3. 3. 第三步:载入额外的特效
  4. 4. 第四步:特效参数设置
    1. 4.1. 1、AutoLuminous4
    2. 4.2. 2、Diffusion7
    3. 4.3. 3、SSAO
    4. 4.4. 4、Workingfloor2_v004
    5. 4.5. 5、XDOF
  5. 5. 第五步:人物材质
  6. 6. 第六步:全局调整
  7. 7. 第七步:输出
    1. 7.1. 1、输出图像
    2. 7.2. 2、输出动画