HAToon2 初步

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

作者:yuhao828

昨天有人希望我写一篇 HAToon2 的教学。然后我看了下、确实没有这方面的文章、而且也确实不好学。于是就研究了一下怎么用。封面上那个大叔只是个示例、懒得另外作图了。首先打开 HAGenerator.exe

昨天有人希望我写一篇 HAToon2 的教学。然后我看了下、确实没有这方面的文章、而且也确实不好学。于是就研究了一下怎么用。

封面上那个大叔只是个示例、懒得另外作图了。

首先打开 HAGenerator.exe 文件、会出现下面的窗口。

扩散反射、镜面反射、加算 SP 这三个版块里面的内容其实没什么区别。只是目标不同罢了。后面两个则是勾线和设定、这两个我们之后再说。最下面则是效果预览、你可以点那三个方块来改变预览材质的颜色、不过在某些情况下这个预览并不准确(比如你用的 UV)。

首先这是一个 toon 类型的 fx 生成文件、所以我们要学会如何自己准备 toon 的图、虽然没有图它也会有个默认值。

我们看到中间左边那里有三个下拉菜单、第一个 “色变换” 是说、你这个图的计算方式是 RGB 的、还是要改成 HVS 的。这里一般看你的计算需求

再下面的 “X” 和“Y”是指、你的这张图的 X 方向(横向)、Y 方向(纵向)分别代表什么意义。

一、照明度:只根据照明方向产生明暗效果

二、照明阴影度:根据照明方向产生明暗效果的同时还会根据遮蔽产生阴影(类似セルフ影)

三、面垂直度:根据当前视线与面法线间的垂直度来产生明暗效果

四、ハーフベクトル:介于照明度和面垂直度之间的明暗效果

五、スペキュラ:鏡面反射光

以上五种为照明类效果、需要准备横向或纵向变化的 toon 图。一般横向变化的就在 X 那里选一个、然后 Y 那边选 “なし”。纵向变化的就在 Y 那里选一个、然后 X 那边选 “なし”。不管选哪个都将根据你的 toon 图等比例地产生 toon 效果。横向的话、从左至右 = 从外至内。纵向的我没试

六、U

七、V

这两个是配套的、会根据模型的 UV 位置做变化、所以你要根据 UV 图或贴图来设计一张图。不过这么做之后就变成那个模型专用的 fx、并且效果也将是固定的。一般是 X 选 U、Y 选 V。

八、画面 X

九、画面 Y

这两个也是配套的、效果会直接作用在 MMD 的画面对应位置上、类似 ScreenTex。另外、如果你准备的图不够画面的大小、它会生成同样的图片来做补洞。当然你也可以只用其中一个、来产生一个画面上的渐变效果。

后面几个看文字就知道什么意思了。这些请准备单色的图片、因为只会读取图内某一点的那一项数值。

再来看右边剩下的两排下拉菜单、这里是算法和运算对象。

如果全都选置换不改目标项、则结果会完全是 toon 图的颜色(一般除非想做单色图或给肌肤用、否则不会这么玩儿)

如果全都选加算不改目标项、则结果会是原图 + toon 图的颜色(一般是给镜面反光用的)

如果全都选减算不改目标项、则结果会是原图 - toon 图的颜色(别把顺序搞反了)

乘算就不废话了、一般都是用的它

如果全都选自己乘算、则结果会是原图 × 原图、和 toon 图没有了关系

最后那个 Toon 适用、我没搞太懂、应该是在原本模型默认的 toon 的基础上搞些什么

其他混搭的请自己去试、本人脑子不够用……

如果你觉得效果不够、可以点鼠标右键追加一个其他的效果。有多数效果的情况下、会从上至下进行计算。另外在某个特效上点右键再点削除则可以删除该特效

这里是勾线、想要特殊的勾线就在 “エッジを描画する” 前面那个方块里打上勾就行了。

下面的太さ就是粗细

勾线颜色默认是黑的、想要改成别的颜色就上个单色图、然后算法全改成置换。当然这里你也可以玩些花样

最后是设定

一、是否使用法线贴图、用就点勾。法线贴图怎么画这里就不教了、因为我也不会。

二、是否对应 LocalShadow、如果要对应的话、需要把 LocalShadow_Header.fxh 这个文件复制到同一文件夹。

三、是否对应 ExcellentShadow

四、是否对原本没有 toon 的材质也产生效果

五、是否将扩散反射的最低值限制为环境光

五 - 1、将限制值改为 toon 色

六、将 HAHead.hlsl 和 HACore.hlsl 复制到同一文件夹(如果你那个文件夹里没有这两个、最好选上)

全部设定完毕后、点 “ファイル” 再点“名前を付けて保存”、再起个名字点确认就可以了、注意 toon 图也要放到同一文件夹。

以下为示例、原模:校长 by リボン犬

我们在扩散反射里用下面这张图做 X:ハーフベクトル的全部乘算

再加一个特效、用下面这张图做 X:画面 X、Y:画面 Y 的全部乘算

勾线粗细则改成 5

结果如下

评论