Patturn v4.0.3 · 2026 年 7 月
在 Illustrator 里手工铺图案,最消耗耐心的往往不是复制,而是后面的反复调整:这里太空,那里挤在一起,边缘又像被整齐切断。素材一多,改完密度还要从头检查。Patturn 就是从这件重复劳动开始的。
最初的想法很直接:读取图案外框,在画板里随机找位置,碰撞就换一个位置。真正放进复合路径、开放描边、组合层级和大量锚点后,每次都拿完整图稿判断会越来越慢;只用矩形边界又太保守,不规则素材之间会留下明显空洞。
最后采用了两层表示。碰撞计算使用经过限制和简化的本地几何轮廓,原始 Illustrator 对象留到最终写入。复杂素材超过点数或时间预算时,会退回凸包、栅格轮廓或可见边界,不让一个异常对象拖住整个面板。
直接复制原始素材,一次可能生成几十到几百个对象。结果不满意时,用户已经付出了完整写入成本。
代理模式先用轻量线框显示布局,确认后再按同一组位置、缩放、旋转和透明度放回原始素材。随机种子和布局摘要会被冻结;源素材被移动、编辑或删除后,最终写入会安全停止。后来保留的“直接原始元素”模式则服务于简单素材和更快的工作节奏,两种方式共用同一套本地几何算法。
画板只是矩形,对象却可能有孔洞,也可能一次选择多条闭合路径。Patturn 因此提供剪切蒙版和完整元素两种输出。完整元素会计算素材落在目标外部及孔洞中的面积比例,0% 表示整个素材必须位于内部。
多目标选择只在临时副本上调用 Illustrator 自己的 Pathfinder:以底层对象为基础,把上层对象联集、外扩、简化后再减去。这里没有继续写一套自定义布尔运算,因为 Illustrator 对复合路径语义的处理更可靠。代价是必须管理临时对象、动作集和五秒安全上限;路径过于复杂时,插件宁愿停止,也不冒险改坏原稿。
跨过左边界的素材必须在右边出现,对角越界还要同时生成水平、垂直和角部副本;碰撞与补空也要把单元看成首尾相连的空间。
无缝引擎使用环面距离计算,并对边缘和角部一起评分。代理模式显示 3×3 重复,方便直接检查接缝;最终输出仍是可编辑的裁切矢量单元。每个源素材至少在核心单元中出现一次,避免结果漏掉部分素材。
直接删除旧结果再生成,一旦中途失败,画面就只剩空白。现在每次生成都会先写入受管理的临时构建层;只有新结果完整成功后,旧结果才被替换。失败或取消时,上一版保持可见。
画板、对象和无缝结果使用明确的所有权标记,清理按钮只处理 Patturn 创建的图层与托管画板,不碰原始素材。
仓库用例覆盖重复种子、同源素材分散、局部补空、跨边界碰撞、连续无缝生成、外部删除素材、对象填充、多目标 Pathfinder、取消与超时,以及直接模式换版失败后的状态恢复。
性能测试按 1、4、16、64 个素材运行不同计算模式,并保留基线回归比例。宿主安全测试还限制子对象数量、路径点、蒙版、缓存和最终放置数量,避免输入规模在 Illustrator 中失控。
Patturn v4.0.3 支持画板填充、1–32 个闭合对象填充、代理预览、直接生成、可编辑无缝单元、Symbol 或独立对象输出,以及确定性随机种子。文字、图片、Symbol、剪切组和实时效果仍建议先轮廓化、嵌入或扩展外观。
它没有替用户判断什么构图最美,而是把反复复制、试位置、检查接缝和安全换版这些机械步骤收进一个可撤销、可复现的工作流里,让最后的判断仍然留在设计者手中。
查看 Patturn · 使用帮助 · mootop.top