【MME】经验之谈:4 款 SSAO 系 MME 的特征与运用【教程翻译】

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

作者:JuanP

"' 总之 ' 先试着用用 SSAO 吧;' 不知不觉 ' 就继续用着某个 SSAO 了…… 如果是这样的话,你还能做得更好!让我们通过了解各个 SSAO 系 MME 的特征来进一步提升作品的质量吧。

"'总之'先试着用用 SSAO 吧;'不知不觉'就继续用着某个 SSAO 了…… 如果是这样的话,你还能做得更好!让我们通过了解各个 SSAO 系 MME 的特征来进一步提升作品的质量吧。"

本篇教程为日本的 MMD 静画作者ましましさん于 2016 年 10 月 11 日发布的教程 “MikuMikuDance 用 - 経験で語る SSAO エフェクト4つ” 的翻译版本,其中ましまし桑介绍了 4 款 SSAO 系 MME(SvSSAO,HgSSAO,ImSSAO 及 HgSAO)的主要特点与应用的实例。教程原链接为 https://ch.nicovideo.jp/mashimashi/blomaga/ar1004724,更加简洁的 Niconare 版本请见 https://niconare.nicovideo.jp/watch/kn1879

SSAO 系 MME 的效果各位应该都很熟悉了,不过在学会使用的基础上探索不同 MME 的特色并根据自己的需要进行搭配也是很有意思的一件事情。我偶然中发现了这个教程,很荣幸能得到原作者的翻译授权,希望这个教程能对各位 MMD 制作者(尤其是静画 er 们)提供一定的帮助,并希望大家能够灵活运用各个 SSAO 系 MME 获得不同的阴影效果、提升画面质感。

本人翻译水平与 MMD 水平齐平(地差),很难还原原教程的感觉,也不能保证用词的准确性,希望有能力的朋友还是能够到原链接阅读日文教程,感受会比我的翻译来得更加直接。同时,翻译中有什么翻译错误欢迎在评论区中提出。

由于本篇教程基于教程原作者经验写成(非专业),部分参数的解释可能与 MME 作者本身的解说有出入(如修改附件数值超过推荐设置的数值范围以外等),也不一定足够专业。本教程适合为没有太多专业 3D 基础的 MMDer 们作参考、演示用,详细参数信息请以 MME 的 readme 为准。

为了使理解更加直接,我在翻译版本的教程中也添加了一些示意图(已经过原作者允许),标有星号 *,以作参考(和拯救我糟糕的翻译水平)。为了使效果更明显,许多示意图使用的特效都调整了阴影的浓度(Si 的数值)。

P.S. 图大且多,流量党请注意!

感谢你耐心地读到这里,那我们就开始吧 ^ ^

§ 开始之前

本篇教程的内容基于以下条件:

  1. 目标为近距离时的人物模型;

  2. 输出分辨率为高清,教程中的分辨率为 1080*1440;

  3. 除 SvSSAO 的 #define SAMPLES 一项参数进行了更改,各 MME 的 fx 文件中数值保持初始(即不使用记事本 / notepad++ 等软件修改 fx 文件)

此外,本篇教程使用的应用程序及比较的各 MME 如下:

MikuMikuDance ver.9.26

MikuMikuEffect ver.0.37

SvSSAO ver.0.1 – 参数变更(使用记事本 / notepad++ 等软件打开 fx 文件后更改):#define SAMPLES 10 → 16

HgSSAO ver.0.0.3

ImSSAO ver.0.2 (译者注:该特效附在同作者的 ImRadiosity_v02 中)

HgSAO ver.0.0.2

那么百闻不如一见,先来看看各个 SSAO 系 MME 所产生的阴影效果吧。

从左到右分别为 SvSSAO,HgSSAO,ImSSAO 及 HgSAO。

§ SvSSAO

由 MME 作者そぼろ桑制作的 SSAO 特效。阴影会在四周物体比较多的、较封闭的狭窄空间处产生:如图所示,模型的面部、颈部周围,腋下,装饰,以及在手臂后的双马尾周围都能看到阴影,而胸部及模型背后的墙壁这类开放的区域则没有。

局部产生阴影,十分方便、好用

阴影的判定和质量给人以良好的印象,模型周边也不会出现模糊的雾气状黑色阴影。虽然衣领部分的处理不是很正确,但由于阴影本身就只在局部产生(指 SvSSAO 特性),在一定程度内将阴影调浓也不会显得过于浓厚。想要表现凹陷部分时,使用此效果就可轻易实现。

· 可以在 MMD 中调整的数值

X:阴影的判定强度。数值越大,容易被判定为狭窄的空间、产生阴影的部分越多。由于阴影的最大浓度不会改变,已经被判定为狭窄空间(如模型的颈部)处的阴影并不会更暗。

* 上图 x =  0, 下图 x = 15

Y:阴影的判定衰减度。数值越大,阴影则更不容易在较小的狭窄空间处产生,而更容易在宽阔的狭窄空间产生。宽阔的狭窄空间究竟是……(←作者的自我吐槽)

Z:阴影的模糊情况。数值越大,阴影的边缘越模糊、柔滑。当某个部分的阴影过于浓厚、明暗部分反差过大而造成违和感时,就可以通过模糊阴影的边缘进行缓和。

Si:阴影的浓度。数值越大则阴影越浓厚。

Tr:阴影与 MMD 画面的融合度。接近 0.0 则阴影无色化,接近 1.0 则阴影更与画面的色彩融合。平时保持 1.0 就可以了,但如果恐怖向的作品想要加深印象的话或许 0.0 的尝试也会不错。

* 上图 tr = 0.0, 下图 tr = 0.1 (为凸显效果,Si 均调整为 2)

§ HgSSAO

由 MME 作者針金 P 桑制作的 SSAO 特效。阴影平缓流畅地覆盖着模型,其较广的范围提升了画面的立体感,但同时也容易使画面看起来有些脏。模型面部的下半部分容易产生阴影,从而影响面部的颜色。

大面积覆盖的阴影

HgSSAO 虽然不会在狭窄空间处产生阴影,但开放处如果有粗略的起伏也会变暗——本篇教程中进行比较的 4 款 MME 中只有 HgSSAO 在人物模型背后的墙面上也产生阴影了。

另外,HgSSAO 对模型表面倾斜角度的变化(或者说圆滑的弯曲处)比较敏感,容易产生阴影,从而消减画面的平面感:比如手腕处;以及胸部与肩部的倾斜角度以锁骨为分界线出现了变化一事也因此能被明显看出;まれよん式 Miku 的双马尾的卷曲处也有所体现。这种处理是 HgSSAO 独有的强项。

· 可以在 MMD 中调整的数值

X:阴影的光线距离,即进行 SSAO 处理时放出的光线长度。数值与阴影之间的关系不明。(译者:根据我自己的使用经验,数值越大,已经生成的阴影扩散范围越广,仅供参考)个人经常调整至 20-40,对于圆形的反应更加敏感,可以尝试一下。

* 从上到下参数依次为:x = 0, x = 5, x = 15 (为凸显效果,Si 均调整为 2)

Y:阴影的判定距离。数值越大则更多部分容易被判定为需要生成阴影的部分。与 SvSSAO 的 X 数值一样,不会改变阴影的最大浓度。

* 从上到下参数依次为:y = 0, y = 5, y = 15 (为凸显效果,Si 均调整为 1.5)

Z:阴影的模糊情况。数值越大,阴影边缘越模糊、质感越柔和。

Si:阴影的浓度。数值越大,则阴影越浓。

Tr:阴影的合成方法。数值越接近 0.0 则越倾向于乘算(阴影黑白化),越接近 1.0 则越与画面的颜色相融。通常 1.0 应该足够了。

§ ImSSAO

由 MME 作者 Elle 桑制作的 SSAO 特效。除了狭窄空间之外,阴影也会顾及到一些细小的凹凸,整体的浓淡十分好看。阴影的判定和质量都很优秀,是四种 SSAO 里唯一表现出前发贴合在额头上的 SSAO。不过,对于模型的轮廓判定容易变得粗糙,在物体的后方也有可能出现浓厚的阴影。

端正、美丽的阴影

Sv 及 HgSSAO 都在衣襟的上端形成了黑色的阴影,模型颈部的上端却没有阴影;ImSSAO 在这两个部分的处理都是正确的。此外,Sv 及 HgSSAO 的阴影都是模糊的、柔和的阴影,但 ImSSAO 生成的阴影轮廓清晰、十分端正。模型的前发、耳机、眼睛处的细节也都体现出了。

与 HgSSAO 相比,对于圆形和斜面反应较为迟钝:左肩、手臂以及手肘内侧都是一片白色了。

作用于面数较低的街道场景时,较大的平面(如高楼的墙壁和道路)上容易产生放射状的大面积阴影,有点违和;对于天空球这种多边形的边缘也会有所反应,表现距离远、范围广的画面时的效果不是很强。是一款十分合适给室内场景以及面数较多的模型使用的 SSAO。

· 可以在 MMD 中调整的数值

Y:深度模糊的强度。数值越大,则狭窄空间或开放区域的阴影更加浓厚(译者注:强度以倍数增长,调整为 + 1 则强度为初始的 2 倍,+2 则为 3 倍)。

* 上图 y = 0, 下图 y = 2

Z:法线模糊的强度。数值越大,则更加细小的凹凸部分的阴影更加浓厚(译者注:计算方法同上)。

* 上图 z = 0, 下图 z = 2

Si:阴影的模糊量。数值越大,则更难在狭窄的空间生成阴影,物体的后方则更容易出现浓厚的阴影。由于对圆形的反应也会更加敏感,有点像更加端正一点的 HgSSAO。

Tr:阴影的合成度(浓度)。本应越接近 0.0 则阴影颜色越淡…… 然而,ImSSAO.fx 和 ImRadiosity.fx 的计算式中没有针对 Tr 这一项的数据,所以并不会变淡。虽然我不太了解编程,总之:

译者注:(针对 ImRadiosity_v02)使用记事本等软件打开 ImSSAO.fx,如图上所示修改第 487 行即可

在 fx 文件中这样修改的话就可以通过调整 tr 一项的数值来调整阴影浓度了。

§ HgSAO

由 MME 作者針金 P 桑制作的 SAO 特效。凹凸部分处的表现也很强烈。由于生成的阴影范围很小,在清楚地表现出物体形状和立体感的同时,也易形成不自然的带状阴影。比如,使用各个 SSAO 特效时,人物颈部整体变暗了,但相对的,HgSAO 的阴影只突出了颈部的边缘部分。

通过调整引出更多的潜力

以及,与各个 SSAO 对镜框和缠绕于模型左手的线条做出反应相反,HgSAO 并没有对这两件物体本身做出反应,而是在其周围产生了强烈的阴影。对于比较细的物体,HgSAO 也会产生很粗的带状阴影,需要注意。

此外,ImSSAO 和 HgSAO 在处理凹凸部分时,会突出多边形曲折的部分。尤其需要注意 HgSAO 的反应比较强烈,当碰到变形程度比较大的部分,如肩部周围、大腿根部及膝部,容易出现粗糙杂乱的阴影。

· 可以在 MMD 中调整的数值

X:进行 AO 处理时 ScreenSpace 大小的比例。不太清楚是什么样的参数……

Y:判定凹凸时区域的半径。数值越大,则不容易体现较为细小的凹凸,从而体现更大的凹凸部分。比如说将颈部视为一个凹部的话,不会在两端生成阴影,而是颈部整体都会变黑;模型与背景之间的空间也会变暗,跟其他几个 SSAO 系 MME 的效果相近。

* 上图 y = -1, 下图 y = 10

Z:判定凹凸时的偏差值。数值越大,则越少的部分被判定为凹凸部分。同之前的几个特效一样,不会改变阴影的最大浓度。

* 上图 z = -0.1, 下图 z = 0.1

Rx:阴影的明度。数值越大,则阴影颜色更深。会将已经生成的阴影浓度逐渐提升至画面时现有的最浓的颜色,如果数值过大则会使得所有部分的阴影的颜色一样深。不会改变阴影的最大浓度以及影响凹凸部分的判定。

Rz:阴影的模糊情况。数值越大,则阴影越柔和。输出高清画面时,调整至 0.5 左右可以得到比较好的阴影效果(详见使用例)。

Si:阴影的合成度(浓度)。数值越大,则阴影越浓。由于使用乘法的方式一层层叠加,所以会改变阴影的最大浓度。

Tr:阴影的合成方法。越接近 0.0 则越倾向于乘算,越接近 1.0 则越与画面的颜色相融。

· HgSAO 生成的带状阴影

使用了 HgSAO 的作品中,常常能清楚地看到带状阴影,尤其是输出高清分辨率的图像 / 视频 + 没有改动附件数值时十分明显。这时,调整 Rz(阴影的模糊程度)数值、模糊带状阴影的话,形成的阴影会更加的自然。此外,先前提到的变形程度较大处的阴影也可以通过这样调整解决。

HgSAO 常见小问题:不够模糊

容易生成带状阴影的部分主要有:前发与脸部的交界处,衣服与皮肤的交界处,肩部周围、大腿根部等变形较大的关节,弯曲的手肘或膝盖内侧等等,头发丝的部分有时也会有。发现这些部位的阴影不自然的话,尝试调整 Rz 这一项参数吧。

·NCHLShader2 自带的 HgSAO

基本与原来的 HgSAO 相同。唯一不同的是,向光的时候 NCHL 自带版本的几乎不会在被光照到的部分产生阴影,背光的时候阴影是同样生成的。

标准版与 NCHL 自带版本的比较

说到底,向光的时候本来就不会产生太多阴影,使用这款 HgSAO 可以减少一定的违和感。此外,光照比较斜的时候可以使用这款特效只在有影子的部分生成阴影。

針金 P 配布的标准版 HgSAO 是无论向光背光都会产生阴影的,虽然提升了立体感,但为了画面的和谐度调整生成的阴影,使其与画面相融合也是很重要的。

NCHLShader2 自带的 HgSAO 的 Si 数值调整至 0.0 时便会无效化(但在 MMEffect 的 Main 一栏中把 x 附件的钩去掉却不能),这样的操作同样对原版 HgSAO 适用。

· 使用例 1**:享受** Si=1.0 的效果

虽然我以前推荐大家把 SSAO 的浓度设置在 0.6 以下,但是利用 HgSAO 的强烈的阴影这一特征,通过设置 Si 为 1.0 可以酝酿出一丝恐怖的氛围。

调整 HgSAO 的 Si 为 1.0,用于带点恐怖氛围的作品中

请看这张静画。虽然项链的周围还有些违和,微暗的眼部和肌肤的感觉是不是很不错呢?带状的阴影,些许黑暗的氛围,使用 Si=1.0 的 HgSAO 可以做出带点恐怖性质的作品。如果将 Si 数值设置得小一些氛围会更加平静,或许可以成为带些悬疑气氛的作品。

SSAO 系 MME 生成的阴影的浓厚会受到 MMD 光源的位置以及各类照明用 MME 的影响。因此,不要局限于熟悉的设定和预设,根据自己的需求调整数值也是很重要的。

· 使用例 2**:单独使用** HgSAO 也不错

HgSAO 的潜力很大,经过调整效果甚至能与各 SSAO 特效相仿。由于使用初期数值输出高清作品时效果不是很好,根据画质的需要调整参数的话,即使只使用 HgSAO 也能获得质量很好的阴影表现。

同类型特效中只使用了 HgSAO: y = 1.0, z = 0.01, rz = 2.0, si = 0.7

如我之前所说,对于线状物体,容易在其周围产生违和感较强的阴影(尤其是眼睛周围的阴影会使人物面部变暗),于是制作这张静画时,我将眼镜和缠绕在手臂上的线条从 HgSAO 的处理对象中去掉了,因此避免了多余阴影的产生。

将某材质从处理对象中去掉的做法:打开右上角 [MMEffect] 的[エフェクト割当]分配 MME,将 SSAO 的各个标签下把想要去掉的部分材质前的钩去掉,或是给这些材质加载取消效果专用的 fxsub 文件(如果 MME 文件夹中有的话)就可以了。

§ 结语

各个特效都有各自的优点和缺点,请根据自己想要表现的效果选择。另外,根据作品的需要,通过调整 x 附件的数值来控制阴影的模糊与浓度也会一口气提升作品的质量。

顺带一提,我经常是将教程里介绍的 4 个特效结合在一起使用的。通常是以 ImSSAO(其实是 ImRadiosity 的附带特效)为基础,使用其他 3 个特效对不足的地方进行补充。

以上,感谢您的阅读。

ましまし(Mashimashi)

2016 年

翻译至此遍告一段落了。本教程中我使用到的素材都会补充在评论区。太久没碰 MMD 了,做出来的示意图都挺微妙的,请大家谅解(虽然复健之后也不一定做得出好看的……)。这次给大家带来这篇教程翻译也是希望通过 mashimashi 桑自己对 MME 的研究、比较和搭配、尝试,给到进行创作的各位一些启发,让大家能够灵活地运用手头的资源创造出更精彩的作品。希望本篇教程给看到这里的你带来一定的帮助,也希望你能够在 MMD 路上继续享受、走得越来越远。

以上,感谢你的阅读。有机会下篇教程再见。

卷儿 / JuanP

2019 年 5 月

评论