【MME】ikPostFog,雾气,在任意方向上雾化的后效果

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

作者:小林呓

作者 ik,配布地址 https://seiga.nicovideo.jp/seiga/im4662284?track=seiga_illust_keyword 其实在 bowlroll 也可以搜到一个,名为 ikPostFog translate 的版本,里面带有一份英文版的说明书。

作者 ik,配布地址

https://seiga.nicovideo.jp/seiga/im4662284?track=seiga_illust_keyword

其实在 bowlroll 也可以搜到一个,名为 ikPostFog translate 的版本,里面带有一份英文版的说明书。突然感觉遇到了同道中人一样,他做的是英文版,而我在做的是中文版。233333

那么,以下为中文版的说明书。

■ 使用方法

(0. 读取适当的阶段数据。)

※没有背景、天空球、模型的话效果不会产生。(得有东西才行)

  1. 将 ikPostFog.pmx 放入 MMD。

  2. 根据表情模式,将相加的 R、G、B 设为大于 0,给雾上色。

如果相机在原点附近,不被舞台等遮挡,则显示从下到上的渐变。

  1. 试着调整 “深度 +” 和“厚度 +”等。

  2. 尝试改变 ikPostFog.pmx 的角度和位置。

(5. 从 MME 的 PostFogNormalMaPRT 标签中取消选中多余的内容。)

在不旋转状态下,雾浓度以 全亲的骨 为中心向上(+Y)方向变薄向下(-Y)方向变浓。

(这里存在点疑惑,ik 的说明是  すべての親,直译过来为 所有的父。英文版的翻译是 In the non-rotated state, the fog concentration is thin in the upward (+ Y) direction centering on "all parents"。我认为大概是全亲骨吧。)

上下方向的宽度可以用 “深度 +”“深度 -” 控制。

可以使用 “厚度 +”“厚度 -” 控制深度方向雾的厚度。

左右(X)方向的雾的厚度可以用 “宽度 +”“宽度 -” 来控制。

通过旋转 pmx,可以更改雾的方向。

■设定项目

在表情栏中设置的项目。

为了方便对照,我把日文也放上了。先从左上角的表情参数讲起。

  • 全体拡大(整体放大)

使雾的尺寸整体变大。

  • 深さ +、深さ -(深度 + 深度 -)

控制雾的高度。越深,雾的渐变越长。

雾的浓度沿着局部空间中的 Y 轴(=MMD 的画面右下显示为 LOCAL 的状态下,在模型中显示的绿色轴)变薄。

深度也会影响整个雾的浓度。越长雾越薄。

原雾的体积不变,只拉长,整体就会变薄。

  • 幅 +、幅 -(宽度 + 宽度 -)

控制 X 轴方向的雾的厚度。

  • 厚さ +、厚さ -(厚度 + 厚度 -)

控制 Z 轴方向的雾的厚度。

宽度和厚度不影响雾浓度整体,但如果视线通过雾内的距离变长,则雾相应变浓。

  • 濃度 +、濃度 -(浓度 +、浓度 -)

控制雾的浓度。

  • エリア限定(区域限定)

雾范围的深处是否也会受到雾的影响。

视线→雾→雾区域外

在这种情况下,在区域限定 = 0 时,雾区域外也受到雾的影响。

如果希望减弱雾对雾区域外的影响,则增大该值。

雾越深,将此处指定的颜色相加。

左下角

  • 加算 R,G,B(加法 R、G、B)

雾越深,将此处指定的颜色相加。

  • 減衰 R,G,B(衰减 R、G、B)

雾越深,从原始图像中减去这里指定的颜色。

更准确地说,是原图像的颜色 *(1 - 衰减色)。

右上角

  • ライト R,G,B(右 R、G、B)

指定灯光方向雾的颜色。

根据灯光和照相机的角度,相加 R、G、B 的颜色变化为在此指定的颜色。

  • ライト強度(灯光强度)

该值越大,越受灯光颜色的影响。0 无效。

  • ライト範囲(灯光范围)

该值越大,灯光颜色的范围越大。

但是,即使最大,在朝向灯的反方向的情况下也不受灯的影响。

右下角

  • フェード(淡入)

降低整个效果的效果。

  • テストモード(测试模式)

显示与设定的颜色无关的雾的施加程度。

雾的部分用白色表示,受灯光颜色影响的部分用黄色表示。

在测试模式下显示在画面上部颜色

从上到下依次表示相加色、(1 - 衰减色)、灯色。

随着从左向右,雾浓度变高的状态下的颜色。

灯光颜色根据灯光强度与相加颜色合成。

当灯光强度为 0 时,灯光颜色等于相加颜色。

■文件内容

  • ikPostFog.pmx

效果主体。

  • ikPostFog.fx

用于 ikPostFog.pmx 的效果文件。有几个次要的设定项目。

  • ikPostFog.fxsub

效果文件的公共部分。

除了想学习 HLSL 的人以外,推荐放置不管。

  • ikNormalMap.fx

查看屏幕深度的效果。基本上不需要碰。

  • ikNormalMapMask.fx

对于不想受雾影响的模型、材质,代替 ikNormal Map.fx 使用。

在 MME 的 PostFogNormal MaRT 标签中进行设置。

  • ikPostFogSub.pmx

使用多个时的子效果。

通过借用 ikPostFog.pmx 的计算结果,节省了内存。

因此,需要与 ikPostFog.pmx 同时使用。

  • ikPostFogSub.fx

用于 ikPostFogSub.pmx 的配置文件

  • ikPostFogAcs.x

附件版本效果

不想使用 pmx 的情况下,例如描绘顺序的问题、想移动的情况等。

  • ikPostFogAcs.fx

用于 ikPostFogAcs.x 的配置文件

  • ikPostFogController.pmx

用于 ikPostFogAcs.x 的控制器

■注意事项

由于基于距离计算雾,因此在远距离雾会变形。

在模型编辑模式和照相机编辑模式中,灯光颜色的外观可能不同。

■关于使用、再分发

效果的利用、改造、再分发等不能自由进行,也不需要联络。

对于使用此效果所造成的所有损失等,作者及相关人员概不负责。

■ 更新履歴

2019/09/15 Ver 0.02  カメラと正対した場合のバグを修正。

2016/08/14 ???

2015/02/11 Ver 0.01  初公開

ikeno

@ikeno_mmd

翻译至此结束。合影留念。

以下为个人说明部分。

首先,这是一个与在地面上漂浮的雾气完全不同的雾。与其说是雾气,用雾化来形容可能更直观。

这个 mme 的说明书之长,也算非常少见了。可见作者对此非常看重。

这的确是一个非常值得花时间去学习并应用的效果,无论是整体的氛围感的营造和细节上的雾化效果,都会让画面得到层次的提升。

为了更清晰地看到效果,我在这里使用的与画面色调完全不一致的绿色。

载入前后

善用这个测试效果,这个东西就跟 ik 景深的控制器右上角的绿蓝灰三色调的作用一样。

启用之后可以查看雾化的颜色、范围、应用情况等等。

比如现在把天空球的雾化取消掉。在 mme 栏找到 PostFogNormal MaRT,然后把 ikNormalMapMask.fx 赋予。

在测试界面看就是这样的。

在照明模式看,天空恢复成原本的颜色了。

当雾化的框非常小的时候,实际上就是这样。跟 ray 里的 VolumetricCube 是不是很像呢。

在测试模式下拉动左上角的参数吧!可以清晰地看到 雾化的范围是如何变化的。深度,对应 y 轴的长度;厚度对应 z 轴的长度;幅,宽度,对应 x 轴的长度。

尝试去使用 ikPostFog 制作更好的效果吧!

评论