本文已参与掘金创作者训练营第三期「高产更文」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力。
栗子6 —— 书法
在书写书法或文字时,必须严格控制笔触,使线条具有风格和个性。这里有一个脚本,可以根据你的笔的方向来调整你的线条粗细。它可以让用户设置两个压力缩放系数,一个用于笔主要向上移动的时候,以及一个用于笔主要向下移动的时候。这让用户能够专注于笔的移动,而脚本则能够帮助控制 压力/粗细 方面。
ydir = nx * 0.5 + 0.5;
op = p * mix(minScale, maxScale, ydir);
这个脚本背后的想法是根据线条的方向缩放压力。为了做到这一点,我们看直线的当前法向量(nx, ny)。因为法向量与直线方向向量正交,ny告诉我们当前直线方向有多少是水平的,nx告诉我们有多少是垂直的。在这种情况下,我们想根据垂直运动来调节压力,所以我们将使用nx。
法向量是一个单位向量(长度为1),所以它的每个坐标都在 [-1..1] 范围内。脚本所做的第一件事是将这个范围重新映射为 [0..1] ,并将结果存储在 ydir 变量中。然后,通过混合 minScale 和 maxScale ,使用这个变量来计算最终的压力比例因子。
设置 minScale 参数范围为 [0..1] 和 maxScale 到 [1..2] 。下面是一些用 minScale 设置为0.75 和 maxScale 设置为 1.3 绘制的线。在这个预设中也使用了平滑,给线条一些流畅的效果。您可以看到,这个脚本甚至可以给行提供一种 3d 效果!
现在,我们不再总是使用垂直轴,而是添加两个参数让用户设置,它们分别是会被应用在压力调制效果上的轴和方向:
dir = axis ? nx : ny;
dir = direction ? dir : -dir;
dir = dir * 0.5 + 0.5;
op = p * mix(minScale, maxScale, dir);
设置轴和方向的参数范围为 [0..1] 。现在,如果你将 axis 设置为0,效果将会应用到直线的水平部分。 direction 参数可以用来反转 minScale 和 maxScale 应用的方向
栗子7 —— 抖动线条
下回分解
栗子8 —— 城市风光
下回分解
栗子9 —— 闪电
下回分解
栗子10 —— 信号错误识别
下回分解
栗子11 —— 调试
下回分解