Blender 的程序化蜘蛛网插件,配备 GPU 撕裂解算器。生成蛛网,在 GPU 上以丝绸般的物理效果进行模拟,全部从一个面板中渲染为发丝。无任何依赖。
最低要求 Blender 5.2 LTS。
- 下载 zip 文件 — 可以是 Releases 资产或 Code → Download ZIP。
- 编辑 → 偏好设置 → 插件 → 从磁盘安装。
- 启用 Arachne。面板出现在 3D 视图侧边栏(
N)中。
- (可选) 选择一个网格作为碰撞体,或者在混乱蛛网模式下选择蛛网锚定的几何体。
- 生成蛛网,然后 添加 GPU 解算器,然后 添加发丝化。
- 倒回到第 1 帧,按播放。将碰撞体推过蛛网。
锚点会自动固定。要更改它们:编辑模式 → 选择顶点 → 固定 / 取消固定。
圆形蛛网 经典的径向/螺旋蛛网。扇形下垂、不均匀的螺旋间距、破损间隙、不对称、波浪状径向线、缠绕线。
混乱蛛网 蜘蛛编织的 3D 网状物,锚定到您的场景几何体上(皮克斯《玩具总动员 4》的构建方式)。选择一个角落、道具或房间,模拟的蜘蛛在表面之间编织。
- 扩散 0 = 密集的局部团块,1 = 均匀覆盖。
- 聚类 将蜘蛛吸引到随机吸引点:密集的结,稀疏的跨度。
- 桥接偏向 0 = 网状物紧贴每个表面,1 = 长缆线连接在分开的部件之间。
蛛网射击 随时间从发射器射出的丝线。每次射击在其自己的帧中射出,以 射击速度 飞行,粘在击中的地方。未命中则保留自由末端,会抽打。
- 发射器 对其动画,每次齐射在发射帧读取其位置和瞄准方向,因此移动的手会让每根丝线锚定在发射位置并指向发射方向。未设置 = 3D 光标。
- 瞄准目标 向其射击。始终是命中测试的一部分,并设定范围:射击无论如何都能到达它,宽射会在与其平齐时停止而不会飞过。
- 瞄准集合 覆盖瞄准目标并依次向每个成员射击,每爆发一次:两个物体在三次爆发中按第一、第二、第一的顺序。每个齐射只瞄准一个目标,使每次爆发读取为投向单一物体的一根线。提高爆发次数以匹配目标数量 没有爆发到达的成员被完全忽略,包括命中测试,因此超出爆发次数的额外成员不起作用。每次齐射只能粘在其自己的目标加上您选择的任何网格上;目标不会相互阻挡,因此将它们聚在一起会产生独立的蛛网,而不是连接邻居之间的线。
- 爆发次数 / 爆发间隔 发射器发射不止一次。每次齐射从发射器当时的位 置全新构建,带有自己的凝块、系留和交叉线。
- 粘在发射器上 枪口端随发射器移动和转动,因此丝线跟随发射它的手。GPU 解算器,无需碰撞体。
- 溅射 / 交叉线 / 抽打 冲击在表面上的散布,已经在空中射击之间的丝线连接,飞行中的弯曲。
未发射的丝线冻结直到其射击触发,因此没有任何东西在飞行前下垂。
动画发射器和目标。 读取位置 F 曲线只能看到普通关键帧,因此构建步骤将场景步进到每次齐射自己的帧并读取变换 —— 以及目标的碰撞几何体来自求值的依赖关系图。父级到绑定或骨骼、约束、NLA 条和驱动器都可以工作。没有任何动画的设置永远不会设置帧,成本与之前完全相同。
默认开启。每个参数在您拖动时都会重新构建追踪的蛛网,因此您可以在模拟前调整外观。移动蛛网所基于的几何体也算作更改:蛛网射击的发射器或瞄准目标(发射器的位置决定每根丝线的起点),以及混乱蛛网的选定锚点网格;移动或缩放墙壁,蛛网会重新编织到其上,保持粘在角落而不是悬在空中。
只有拖动才算数。播放或拖动时间线会在每一帧移动动画发射器,在那里重建将是浪费工作 —— 构建在齐射触发的帧读取动画,因此无论您停留在哪一帧,蛛网都是相同的。
解算器显示时它停止工作。 重新生成会交换网格,并会在每次鼠标移动时从头重新启动模拟,因此面板会显示一个锁。
要返回调整,关闭 Arachne GPU Apply 修改器的视口显示。该修改器将模拟位置显示在屏幕上;隐藏它时您看到的是构建的网格,因此重建再次安全且可见,每个解算器设置保持不变。重新打开它,模拟在下一帧恢复。无需移除解算器。
在解算器运行时,拖动碰撞体或发射器仍会携带锚点 —— 蛛网会响应而无需重新启动。
基于 Blender 原生 GPU 模块构建,无需安装任何东西。
- Verlet / PBD 带撕裂:丝线过度拉伸时断裂
- 单向丝线约束(丝线只能拉,不能推)
- 张力 0 = 下垂悬链线,1 = 绷紧(按构建的静止长度),高于 1 则预紧丝线,使最后的重力下垂消失(2 = 静止长度比构建时短 15%)
- 世界空间重力和带湍流的风
- 碰撞:包围球(快速)或烘焙网格 SDF,针对一个对象或整个 碰撞体集合(合并为一个场)
- 粘性 可调比例的接触点锁定到表面,使蛛网垂挂和附着而不是滑落
- 粘附跟随碰撞体 碰撞体上的锚点跟随其刚体运动,包括旋转。集合中的每个对象分别处理,因此蛛网随部件分开而拉伸。集合的碰撞仍然是静态烘焙;只有附着点追踪运动。
- 蛛网拉动碰撞体 与 Blender 刚体模拟的双向耦合。粘在碰撞体上的丝线将其拖拽,而不仅仅是被它拉住:向道具射击并将其拖过。质量、摩擦、重力和翻滚是 Bullet 的,直接来自物理标签;拉动强度 将丝线拉伸缩放为力,静态 使物体变为被动。点击 设置刚体拉动 一次,然后从第 1 帧播放,请参见 提示。
- 老化(预断裂丝线),预热(开始已稳定)
- 烘焙蛛网用于渲染 — 将模拟存储在 .blend 中,因此渲染和 Alembic/USD 导出可以重放。参见 渲染
发丝化 将模拟的蛛网转换为光滑的丝线管(Catmull-Rom,带噪点半径)。三种材质,在修改器上切换:
| 丝绸(默认) | 带尘的半透明天然丝绸,在掠射角度可见 |
| 合成蛛网 | 合成蛛网流体:剪切稀化,静止时几乎固态,仅在发射时变为流体,与空气接触时编织成尼龙相关纤维。附着力随固化而消退;新鲜丝线读取为湿粘,然后变为哑光不透明,然后绽放酯粉。由节点树中的 固化帧 计时(36 = 24fps 下 1.5 秒) |
| 显示张力 | 拉伸热力图,蓝色(静止)到红色(即将撕裂) |
露珠 默认关闭,勾选 启用露珠。它们附着在丝线上,凝结和生长,在丝线下滑动,然后在足够重时滴落并自由下落,在出生点重新生成。撕裂丝线上的露珠被甩掉。
在渲染或导出动画之前,在 GPU 解算器面板中点击 烘焙蛛网用于渲染(如果露珠开启,则在其下方点击 烘焙露珠用于渲染)。蛛网烘焙在此处播放场景帧范围一次,将结果存储在 .blend 中,并将应用修改器切换到纯 Geometry Nodes 播放。没有任何内容留给帧处理器执行,因此蛛网在渲染线程上、在 Alembic 和 USD 导出中、在渲染农场以及文件关闭重新打开后都是正确的。释放 将其交还给实时解算器。
没有烘焙,解算器仅在视口播放期间存在。渲染会重放视口缓存碰巧持有的内容并丢弃其余部分,Alembic 和 USD 步进帧通过自己的循环,从不触发帧更改处理器,因此它们会将一个冻结姿态写入每一帧,蛛网忽略其发射的来源。
烘焙在 .blend 中占用约 帧数 x 顶点数 x 16 字节:1000 顶点蛛网在 12 帧上约 0.2 MB,250 帧上约 20 MB。撕裂丝线每条边花费一个数字,无论烘焙运行多长,因为丝线永远不会愈合。移动场景帧范围后重新烘焙;面板会在范围超出烘焙内容时提示。
- 张力 ~0.95 用于紧绷的结构性蛛网,~0.5 用于下垂的废弃蛛网。低张力配合 老化 可获得陈旧外观。静止长度在模拟开始时烘焙;更改后重置或返回到第 1 帧。
- 张力高于 1 会缩短静止长度,因此丝线更接近断裂。提高 撕裂阈值 以匹配。
- 射击速度 与您的帧率:24fps 下 60 m/s 每帧跨越 2.5 m,因此短射击在一两帧内落地。降至 10–20 以实际看到丝线飞行。
- 从第 1 帧 播放蛛网射击,揭示由当前帧驱动,而非模拟。保持 预热帧 为 0(向射击蛛网添加解算器会这样做,以及张力 0.95),以便早期射击尚未稳定。
- 发射后几秒解开的凝块是 撕裂,而非凝块设置 —— 最早的爆发首先发生,因为它悬挂时间最长。提高 撕裂阈值(1.5 → 4–6),或关闭撕裂,或降低张力。
- 墙面上的单次溅射:射击 1,扩散 0°,射击速度 ~20,发射器和瞄准目标,溅射大小按需调整。墙面 不能 是解算器的碰撞体 —— 其包围球会吞没蛛网并将其撕裂。射击模式因此将碰撞体留空。
- 网格(SDF) 碰撞需要闭合网格和朝外的法线。支持动画 位置;旋转在烘焙时冻结。对薄或详细碰撞体提高 SDF 分辨率。
- 快速碰撞体穿透而不撕裂 → 提高 子步。
- 蛛网拉动碰撞体 通过焊接到碰撞体的锚点工作,因此需要 粘附跟随碰撞体 开启;没有它就没有东西附着来拉动。运行 设置刚体拉动 一次(它将碰撞体设为 Active 刚体并构建力场),然后 从第 1 帧向前播放:Bullet 不会重新模拟其缓存已持有的帧,拉动在计算后一帧落地。没有移动?提高 拉动强度,或降低物理标签中的质量/摩擦力。
- 拉动作为范围限定到碰撞体包围半径的风场传递,因为 Blender 没有提供从 Python 推动单个刚体的方式。另一个 Active 刚体坐在该半径内也会感受到它。删除 “Arachne Pull” 空物体可关闭耦合。
- 面板显示比插件列表更旧的构建意味着 Blender 正在运行缓存副本。重新加载脚本,或重启。
- 实时解算器仅在视口播放期间运行。在渲染、导出或将文件交给农场之前,请烘焙蛛网用于渲染。
- 丝线之间没有自碰撞。
- SDF 碰撞近似刚体碰撞体;变形网格在烘焙时回退到边界形状。
- 在渲染中禁用持久数据,以免模拟停止
蛛网构建和物理改编自 Chang & Luoh,“Dust and Cobwebs for Toy Story 4”(SIGGRAPH Talks 2019)和 Thomas Kole 的 Geometry Nodes Cobwebs。
由 Amsy 构建,借助 Claude(Anthropic)。
MIT — 可任意使用,感谢注明来源。
©版权声明:本站除原创作品外的资源均收集于网络,只做学习和交流使用,版权归原作者所有,若作商业用途,请购买正版。


评论0