Lazy Nezumi Pro 的脚本教程(四)

329 阅读2分钟

本文已参与掘金创作者训练营第三期「高产更文」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力

栗子2 —— 头发

一位用户曾经解释说,他们需要画很多头发。控制每一笔的笔触压力以产生相同的渐淡粗细让他们的手感到非常疲劳,他们想知道是否有一种方法可以帮助他们。这是发给他们的脚本:

op = p ? d/maxPDist : 0;

这个简单的脚本引入了另一个非常有用的预定义输入变量:d。这个变量包含从当前笔划开始到现在的总距离(以屏幕像素为单位)。通过将该变量除以一个常量,并将结果赋给输出压力变量op,我们可以有效地自动增加线条粗细。这意味着用户不必担心控制笔本身的压力,这将大大节省精力和紧张!

在这里,maxPDist 变量表示压力达到其最大值 1 时的距离(pop被标准化,范围总是在[0..1])。这个参数的一个较好的范围是 [50..300) 像素。下面是它的样子,值为 200 左右,笔刷半径为 15 :

image.png

该脚本还引入了用于条件赋值的问号操作符。这种情况下的条件是输入压力变量p的值。如果它不是 0 ,那么 op 将收到 d/maxPDist (: 操作符的左边),否则它将收到 0 (: 操作符的右边)。

何时写到输出压力变量,记住这一点很重要:当用户抬起笔时,输入压力为零。在本例情况下,我们希望管线结束,因此我们也必须将输出压力变量赋值为零。忘记这样做会导致你的美术程序等待更多来自平板电脑的输入,因为它会认为笔仍然是放下的状态。

如果你想让压力淡出而不是淡入,你可以使用下面的脚本:

op = p ? 1-d/maxPDist : 0

亲测有效

image.png

栗子3 —— 虚线(短划线)

image.png

下回分解

栗子4 —— 拉链

image.png

image.png

下回分解

栗子5 —— 齿轮

2233.gif

22333.gif

下回分解

栗子6 —— 书法

image.png

下回分解

栗子7 —— 抖动线条

image.png

image.png

image.png

image.png

image.png

下回分解

栗子8 —— 城市风光

223333.gif

image.png

下回分解

栗子9 —— 闪电

2233333.gif

下回分解

栗子10 —— 信号错误识别

image.png

下回分解

栗子11 —— 调试

image.png

下回分解