【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. 读取适当的阶段数据。)
※没有背景、天空球、模型的话效果不会产生。(得有东西才行)
-
将 ikPostFog.pmx 放入 MMD。
-
根据表情模式,将相加的 R、G、B 设为大于 0,给雾上色。
如果相机在原点附近,不被舞台等遮挡,则显示从下到上的渐变。
-
试着调整 “深度 +” 和“厚度 +”等。
-
尝试改变 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 制作更好的效果吧!