Fillinger智能填充脚本实战指南:把Illustrator图案填充从半小时压缩到几秒
【免费下载链接】illustrator-scriptsAdobe Illustrator scripts项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts
概要:Fillinger 是 illustrator-scripts 仓库中最值得先装的 Adobe Illustrator 脚本,它基于三角剖分与圆填充算法,能在任意形状内自动、均匀、随机地排布成百上千个元素。本文从算法原理讲到面板参数,用三分钟最小实验、七个参数全解、高频翻车清单与行业配方,帮你把机械劳动交给脚本,把时间还给创意。
为什么你的"均匀排列"总是充满人工味
先问一个扎心的问题:你有没有手动在形状里排过几十个元素?逐个拖动、缩放、转角度、对间距,半小时过去,成品依然带着一股"网格感"——因为人脑天生追求对齐,而真正的均匀,看起来必须"随机"。
Fillinger 做的事正好相反:它保证元素不重叠、不出界的前提下做完全随机的落点,反而呈现出自然、舒展的分布。它来自illustrator-scripts开源仓库,全名为fillinger.jsx,一套几何算法解决"放多少、放多大、放哪里"三个老大难。
| 任务 | 手工逐个摆放 | Fillinger 脚本 |
|---|---|---|
| 在圆形里放 120 颗星形 | 25–30 分钟 | 3–8 秒 |
| 调整密度后重新来一遍 | 半小时重做 | 改一个数字重跑 |
| 环形、齿轮这类带孔洞的形状 | 基本只能放弃 | 10 秒内出结果 |
这就是本文要讲的东西:脚本凭什么快、参数怎么调、哪些坑别踩,以及如何把它接进你的日常流水线。
先看内核:均匀分布的秘诀藏在三角剖分里
别被"脚本"两个字骗了,Fillinger 前身是 A Jongware 的 Circle fill 脚本,后经 Alexander Ladygin 重构,核心是一套相当硬核的几何流程,一共四步:
① 曲线展平(flattenPath):任何贝塞尔曲线路径都会被切成密集的折线点,为后面的计算做准备。
② 三角剖分(Triangulate):把填充区域(包括带孔洞的复合路径)切成一个个三角形,然后按三角形面积加权随机选点——面积大的区域分到更多落点,狭窄区域自然稀疏。这一步直接决定了"大区域多吃、小区域少吃"的宏观分布。
③ 层级半径:脚本从 Max 尺寸开始,每一层半径按0.667 倍递减,直到小于 Min 尺寸。例如 Max=10% 时,实际落点层级约为 10 → 6.7 → 4.4 → 3.0 → 2.0(%)。大圆先占住主要空间,小圆再钻进缝隙——这就是"自然感"的来源。
④ 半径收紧:最后一轮,每个点会再与最近边界和最近邻居比对,把可用空间"顶满",保证每个元素都尽量大、尽量贴边。
一句话总结:面积加权随机决定分布,层级半径决定层次,边界与间距检测决定干净程度。理解这三件事,后面所有参数你都能自己推出来。
三分钟最小实验:一个圆、一颗星、三次点击
先别管细节,跑通一次拿正反馈再说。
安装只需要两步。先克隆仓库:
git clone https://gitcode.com/gh_mirrors/il/illustrator-scripts然后把fillinger.jsx放进 Illustrator 的脚本目录:
- macOS:
/Applications/Adobe Illustrator [版本]/Presets.localized/zh_CN/Scripts/ - Windows:
C:\Program Files\Adobe\Adobe Illustrator [版本]\Presets\zh_CN\Scripts\
重启 Illustrator,在"文件 → 脚本"菜单里就能看到 Fillinger。
第一次实验:
- 画一个圆形(这是填充区域),再画一颗星形(这是填充元素),两个一起选中;
- 运行"文件 → 脚本 → fillinger.jsx";
- 弹出面板后直接点OK(或者按回车)。
几秒钟后,星形就密密麻麻、错落有致地铺满了圆。恭喜,你的第一个智能填充完成了 🎉 整个过程不到三分钟。
参数地图:七个旋钮一次讲透
跑通之后,就该研究面板了。Fillinger 的面板不长,但每个数字背后都有讲究。
| 参数 | 默认值 | 作用 | 一句话建议 |
|---|---|---|---|
| Max / Min(尺寸) | 10% / 4% | 元素直径相对区域特征尺寸的比例区间 | 纹理要细就 5–8,颗粒要大就 20–40 |
| Min distance | 0 | 元素之间的最小间距(像素/点) | 从 2–5 开始试,避免过密 |
| Resize value | 70 | 元素实际尺寸 = 所在圆直径 × 该百分比 | 想要饱满调到 85–90,想要留白降到 50–60 |
| Rotate items | Random | 随机 0–360°,或指定固定角度 | 自然元素用 Random,logo 用 By value 设 0° |
| The item to fill is | On top | 元素放在填充区域上层、下层或按图层面板顺序 | 想保留底图用 Below |
| Group all items | 勾选 | 跑完自动编组,方便整体移动 | 建议一直开着 |
| Random items | 不勾 | 填充元素是编组时,随机抽取组内个体 | 多元素素材库必备 |
| Remove the item to fill | 不勾 | 跑完自动删除填充区域对象 | 想保留底图轮廓就千万别勾 |
实战技巧:每个参数的一句话心法
- 想要"满"的效果,优先调Resize value而不是缩小间距——间距归零会让元素粘在一起,而 Resize 控制的是每个元素的饱满度;
- 做细腻纹理:Max 5–8%、间距 2px;做视觉焦点:Max 30% 以上、间距拉大;
- 定向旋转适合字母、图标这类有"方向感"的元素;随机旋转留给星星、叶子、圆点;
- 参数会被自动保存到
LA_AI_Scripts/fillinger__setting.json,下次打开沿用上次配置——所以跑新项目前记得看一眼面板,别被旧参数"背刺"。
三个翻车现场与修复方案
用熟之后,你会遇到几个固定套路的问题,这里直接给"症状 → 原因 → 方案":
① 弹窗 "Please select 2 or more objects"
- 症状:选了对象却提示"请至少选择 2 个对象"。
- 原因:填充区域 + 填充元素必须同时选中,数量不足。
- 方案:确保选中了至少 1 个填充区域对象 + 1 个填充元素。
② 报错 "The filling object must be PathItem or CompoundPathItem!"
- 症状:提示"填充对象必须是路径或复合路径"。
- 原因:选中的第一个对象是编组、文字或图片,不是路径。
- 方案:文字先用"文字 → 创建轮廓"转成路径;填充区域只能是路径对象。
③ 提示 "No items to fill!"
- 症状:脚本说"没有可填充的元素"。
- 原因:排第二位的对象没有被正确识别为填充元素。
- 方案:确认填充元素是独立对象或编组,别选空组。
④ 填充几百个元素时转圈圈
- 症状:运行缓慢、进度条走得慢。
- 原因:曲线节点多、元素数量大,计算量上去了。
- 方案:把复杂曲线"对象 → 路径 → 简化"后再跑,或者分两批填充;单次控制在几百个以内体验最佳。
进阶玩法:孔洞、文字轮廓与随机素材组
基础用熟了,可以玩点花活。
带孔洞的形状:环形、齿轮、字母 O 这类复合路径都能正确填充——算法会自动识别内外路径,元素只落在实体区域,不会漏进孔里。这是很多人不知道的隐藏能力,试试用一个甜甜圈轮廓填充,效果相当惊艳。
文字轮廓填充:把文字转成轮廓后当作填充区域,字体内部就能"长出"图案。适合做标题纹理、活动海报主视觉。
随机素材组:把星星、圆点、小三角编成一个组,勾选Random items,脚本每次落点都从组里随机抽一个元素——一个组就能做出"元素混合"的效果,不用再分三次填充。
迭代分层:先用 Max 20% 跑一遍大颗粒,删掉区域对象后再用 Max 6% 跑一遍小颗粒,两层用不同颜色,深浅叠加立刻有层次感。
组合流水线:Fillinger 不是一个人在战斗
illustrator-scripts仓库里还有一批脚本,可以跟 Fillinger 组成完整流水线:
- 准备元素:
randomus.jsx给素材随机缩放、旋转、换色,让元素天然不一致; - 智能填充:
fillinger.jsx完成主体分布; - 后期微调:
replaceItems.jsx一键把填充结果整体替换成另一种元素(比如星形换成圆点); - 统一收尾:
cropulka.jsx裁掉超出画板的部分,transferSwatches.jsx把色板对齐到统一色彩系统。
这条流水线跑顺之后,从素材到成品基本是"点点点"的事,中间几乎不用手动画任何一笔。
三个行业落地配方(直接抄作业)
① 儿童绘本插画背景:云朵剪影 + 星星元素,Max 15%、Min 5%、间距 2px、随机旋转,一键铺满,几秒出图,比手绘笔触更规整。
② 品牌包装纹理:用 logo 填满产品外轮廓,定向旋转 0°、Resize 80、间距 5px,生成"品牌 DNA"式的专属纹理,既统一又有识别度。
③ 信息图海报底纹:用几何图形填充地图或大数字轮廓,Max 20%、Min 8%、间距 5px,填充后统一透明度降到 10–20%,就是一张高级感十足的背景。
从会用走向用好
Fillinger 的价值不在于"替代你画图",而在于把"放元素"这种纯体力活彻底自动化。建议你的成长路径这样走:
- 本周:跑通最小实验,试 3 组参数组合,感受 Max、间距、Resize 各自的脾气;
- 这个月:为常用项目攒下自己的参数配方,配合仓库里的
randomus、replaceItems搭一套个人流水线; - 长期:把填充结果沉淀成可复用的图案色板和素材库,让每次开工都从"做完"变成"直接套用"。
现在就打开 Illustrator,画一个圆、一颗星,跑一次 Fillinger——你会发现,原来五分钟前那个还在手动排元素的自己,真的可以下班了。
【免费下载链接】illustrator-scriptsAdobe Illustrator scripts项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考