Skip to content

MakeEmbroid

550字约2分钟

2022-07-17

Show


准备

使用SD制作刺绣纹样目前有两种思路:

  • 其一是通过全程序化的方式,用各种基础图形组合得到。
    • 这种方式比较优雅,迭代迅速。但是前期制作需要耗费大量的时间,且对SD设计师要求较高(也可能是我太菜)
  • 其二是使用美术提供高精度灰度图,通过灰度提取,然后在区域内散布针织纹理得到比较不错的结果。
    • 这种方式相对而言比较简单,对原始灰度图的要求较高。不过在输入的灰度图规则确定的情况下,迭代速度也较快。
    • SuperStar选用第二种方案。

灰度提取

灰度提取使用Histogram节点,控制Position和Contrast得到灰度值小于Position的灰度区域。

HistogramHistogram

当需要提取第二层灰度区域时,使用Blend节点,减去第一层的结果即可,以此类推。

Layer2Layer1

对于这些毛糙的边缘,将在后续步骤中消除。

刺绣纹样

刺绣纹样的核心是TileSampler节点,三个输入分别是:

  1. 基础纹样

    Base

    使用Transform将高斯Paraboloid Shape压扁即可。

  2. 法线

    Normal

    这里将Blur之后的第二层灰度输入经过Bevel处理得到法线,作用是提供Tile时的针织朝向。在TileSampler节点中调整Rotation参数可以设置整体受法线方向性影响的程度。

  3. 遮罩

    Mask

    这一串处理就是用来去掉之前Blend造成的零星亮点。

  4. 输出

    Output

    Tile完成后调整色阶并与Color混合得到对应颜色的刺绣纹样。而遮罩部分可以使用Bevel节点得到大尺度的法线,用于表现刺绣部分的四周凹中间凸的质感。

合并输出

得到各个层级的BaseColor和大尺度法线周,使用Blend节点组合起来就是最终的输出了。

这里注意法线的混合使用NormalCombine。

展示

Shaow

Shaow

贡献者: Astroite