日本最大服装电商 ZOZO 最近把自家的物理仿真接触求解器 ppf-contact-solver 开源了。表面看,它是一个能接进 Blender 的布料、绳索、软体仿真工具;但更准确地说,它解决的是一个设计行业长期很烦的小问题:东西碰到一起时,别穿过去。
这句话听起来像废话。可是做过 3D 服装、游戏角色、虚拟拍摄的人都知道,穿模不是小瑕疵。衣服穿过身体、绳子穿过自己、布料像橡皮一样被拉长,这些问题会让一个本来很贵的数字资产瞬间露馅。ZOZO 这套工具的价值,也正是在这里。

它到底是什么
ppf-contact-solver 的正式名字是 ZOZO's Contact Solver。项目背后是 ZOZO / st-tech,核心技术来自 Ryoichi Ando 等人的论文 「A Cubic Barrier with Elasticity-Inclusive Dynamic Stiffness」,已发表在 ACM Transactions on Graphics Vol.43 No.6,也就是 SIGGRAPH Asia 2024 这一档。
官方给出的能力很直接:
接触求解结果可以做到 penetration-free,也就是无穿透; 面片拉伸有严格上限,例如 1% 或 5%,不会像游戏里常见的布料那样被拉成橡胶; 大规模案例可以处理超过 1.8 亿个接触点; 有 JupyterLab 前端,也有 Blender 5 的官方插件; 支持远程 GPU、AWS / vast.ai 这样的云端算力; 甚至暴露 MCP server,让 LLM 可以通过自然语言驱动 Blender 建场景、调参数、跑仿真; Apache 2.0 许可,可商用,也可用于闭源产品。
但官方也把冷水泼得很清楚:它是为 offline uses 做的,不是实时工具。你不能期待它像游戏引擎里的实时布料那样随拖随动。它要换来的,是更可信的接触结果。

为什么“无穿透”这么难
薄物体仿真是物理模拟里很讨厌的一类问题。布料很薄,绳子很细,它们不仅会碰到别的东西,还会频繁碰到自己。间隙小到一定程度时,传统方法容易在两种坏结果里摇摆:要么穿过去,要么为了不穿过去变得非常慢、非常不稳定。
ZOZO 这篇论文的核心,是用 cubic barrier 处理接触与应变限制。外部报道里有一个比较好理解的说法:它在传统 logarithmic barrier 吃力的极窄间隙里,能把 tight strain-limiting gaps “撑开”,从而让接触密集的仿真更可扩展。
翻成设计师能理解的话:它不是让布料“看起来差不多没有穿模”,而是在求解过程中把“不能穿透”和“不能拉过头”放进了硬约束逻辑里。项目的 GitHub Actions 也不是只跑视频看效果,而是在每一步末尾做 explicit intersection checks;如果检测到交叉,就直接报错。测试通过,才说明这一段仿真确实没有穿透。
这也是它和很多视觉型布料效果的区别。视觉型工具追求快,穿一点可以靠镜头、手修、缓存和后期遮掉。ZOZO 这套东西更像生产工具:慢一点可以接受,但结果要经得起检查。
示例不是炫技,而是在覆盖服装行业最麻烦的接触场景
官方 Gallery 里有很多例子,类型覆盖得很有意思:压缩、褶皱、充气、扭转、布料悬垂、绳索缠绕、复杂自接触。它们不是单纯为了做一组漂亮 demo,而是在试探设计和商品内容生产里常见的麻烦边界。
比如一个很基础的场景:把一块布盖到球体上。它看似简单,但布料与球、布料自身褶皱、角点固定、应变限制都会一起出现。

再看 woven 和 noodle 这类例子,复杂点在于大量细长结构之间的自接触。绳、带、针织物、编织结构,恰好都是服装和配饰里很常见,但传统仿真很容易翻车的对象。


needle、fitting 这类 JupyterLab 示例则更接近衣物、身体、局部细节之间的接触问题。对服装行业来说,真正难的往往不是让一块布自然飘起来,而是让它在人体、缝线、边缘、夹层、配饰之间稳定地贴合。


还有一个很有代表性的反例素材:domino artifacts。它提醒我们,接触仿真不是“看起来会动”就结束了。错误的接触处理会产生堆叠、粘连、卡顿、异常跳动等 artifacts,这些问题一旦进入生产后段,会变成很贵的人工修复成本。

Blender 插件真正改变的是入口
如果只有论文和 Jupyter Notebook,这个项目更像研究者与技术美术的工具。Blender 插件把它往创作端推了一步。
官方插件的逻辑是:设计师或技术美术在本地 Blender 里建场景、设置组、约束和参数;真正的仿真在本机或远程 GPU 服务器上跑;结果再被拉回 Blender 视窗播放、烘焙或导出。这样一来,macOS 用户也能用,因为 Mac 只负责 UI,NVIDIA GPU 可以在远端。

这一点对服装电商很重要。很多团队的创作端并不在 Linux 工作站上,而是在 Mac、Windows、远程渲染、云盘、DCC 软件之间来回切。把仿真能力塞进 Blender,比要求设计师去理解一堆 solver 命令友好得多。
更激进的是 MCP。官方示例里,Codex 可以通过 MCP server 驱动 Blender 和 solver,从自然语言 prompt 开始搭一个 bowl-and-spheres 场景,调参数并运行仿真。

这件事短期看有点实验性,但方向很清楚:未来的仿真工作流可能不是“设计师一个个点面板”,而是“我描述一个衣摆被风吹起、被包带压住、不能穿过腿部的场景”,系统把建模、约束、参数、计算、缓存串起来。AI 在这里不是替你画一张漂亮图,而是替你操作一套复杂工具链。
1.8 亿接触点很吓人,但别误会它的含义
官方最容易被传播的数字,是超过 180 M contacts。具体大规模案例里:
large-twist:3.2 M 顶点、6.4 M 面、56.7 M 接触点,2000 帧,每帧 46.4 秒;large-five-twist:8.2 M 顶点、16.4 M 面、184.1 M 接触点,2413 帧,每帧 144.5 秒;large-woven:2.7 M rods、8.9 M 接触点,946 帧,每帧 436.8 秒。
这些案例跑在 vast.ai 的 RTX 4090 上,官方也说它们可能要几天甚至几周,所以没有纳入 GitHub Action 测试。

所以,1.8 亿不是“你的电脑可以实时跑 1.8 亿接触点”。它更像一个上限证明:这套方法不是只在玩具场景里成立,也有能力处理真实生产里会出现的高密度接触。
普通示例的成本更接地气。官方 AWS 预算表用 g 6.2 xlarge / NVIDIA L 4 估算,云实例约 1 美元/小时,部署约 8 分钟。比如 fitting 约 1.54 分钟 / 0.03 美元,drape 约 3.5 分钟 / 0.10 美元,woven 约 34.6 分钟 / 0.58 美元,twist 约 55 分钟 / 0.91 美元。
这说明它不是消费级实时插件,但也不是只能留在实验室。更像是:当一个结果值得算,成本可以被生产流程吸收。
对设计师的影响:少一点“修穿模”,多一点“设计评审前置”
我觉得它对设计师最直接的影响,不是让每个视觉设计师都去学 CUDA 或物理仿真,而是把复杂软体效果提前到设计评审阶段。
现在很多 3D 服装流程的问题在于,早期效果可以很快出,但可信度不够。衣服是否真的能这样垂?包带压住布料后会不会形成合理褶皱?绳结、腰带、围巾、针织纹理、层叠裙摆之间会不会穿插?这些问题如果靠后期修图解决,设计判断其实已经滞后了。
有了更可靠的接触求解,设计师可以更早看到“物理上说得过去”的结果。它会影响几个具体环节:
「虚拟样衣」:减少因穿模导致的误判,让设计评审更接近真实布料行为。 「电商商品图」:复杂悬挂、折叠、搭配、层叠穿搭可以更多走数字生成,而不是每次都拍摄或大量修图。 「数字人试穿」:衣物与身体、配饰、头发之间的接触更可信,尤其对近景内容更重要。 「技术美术资产生产」:绳、带、布、软体道具可以通过可复现仿真生成缓存,减少手工调动画。
但我不认为它会立刻“解放设计师”。短期更现实的变化,是技术美术、3 D 服装工程师、自动化内容团队先用起来,然后把可靠结果封装给设计师。
对行业的影响:服装电商在把“3 D 内容”变成基础设施
ZOZO 做这件事有行业逻辑。服装电商天然依赖视觉内容,但传统拍摄贵、慢、SKU 多、搭配变化多。大家都想用 3 D、虚拟模特、数字样衣、AI 生成图来提高内容生产效率。问题是,服装不是硬表面商品,它非常依赖“接触”。
一件衣服是否可信,往往就取决于几个细节:领口有没有穿过脖子,袖子有没有插进身体,裙摆有没有和腿打架,包带有没有真的压住布料,褶皱是不是被拉得像橡胶。
所以,ZOZO 开源接触求解器这件事,比“发一个插件”更像是在补服装数字化基础设施的一块短板。它把几件事连起来了:
论文级的无穿透接触算法; 可商业使用的 Apache 2.0 开源实现; Blender 插件入口; JupyterLab / Python 脚本化入口; 云 GPU 工作流; MCP / LLM 自动化接口; 自动测试和交叉检查。
这条链路如果成熟,服装行业的 3D 内容生产会从“单个艺术家调出好看的图”,慢慢走向“可批量、可验证、可恢复、可自动化的仿真流程”。这是更大的变化。
也别把它神化
Ryoichi Ando 在外部报道里说得很克制:这不是现有工具的 drop-in replacement。它慢,UI 还有很多手动步骤,仍有 rough edges;自动化测试也不能覆盖一切,困难案例里 simulator 仍可能 stall。文档和教程也还在快速完善中。
这段话很重要。一个开源物理求解器最怕被传播成“穿模终结者,游戏马上无 bug”。事实不是这样。80 Level 在 2025 年报道论文时也提到,这个方向对当前游戏来说仍然太贵,但可能影响下一代物理仿真。
我的判断是:
对实时游戏,它现在更像研究和未来技术储备; 对影视、广告、虚拟拍摄、服装电商,它更接近可落地的离线生产工具; 对普通 Blender 用户,它值得尝鲜,但需要接受远程算力、参数调试和失败重跑; 对设计团队,它最适合被封装进内部流程,而不是直接丢给每个设计师。
最后
ppf-contact-solver 最有意思的地方,不是它让布料动起来,而是它试图让布料“不要撒谎”。
AI 生成图可以很快给你一件漂亮衣服,实时引擎可以很快给你一个会飘的披风,但当你要让商品、样衣、数字人、配饰和布料进入真实生产流程时,穿模会变成信任问题。
ZOZO 这次开源,把一个原本偏研究、偏内部的接触求解能力,放到了 Blender、云 GPU 和 MCP 的交汇处。它还不轻巧,也不适合所有人。但方向很清楚:未来的服装设计和数字内容生产,不会只比谁生成得快,还会比谁生成得可信。
如果说过去几年 3D 服装行业在追求“更像照片”,那接下来这类工具要解决的是另一件事:让照片背后的物理关系也站得住。
「更多 AI 前沿技术与设计灵感,欢迎关注「设计小站」公众号(ID:sjxz00),一起探索科技与设计的融合创新。」
资料来源
GitHub: https://github.com/st-tech/ppf-contact-solver 官方文档: https://st-tech.github.io/ppf-contact-solver/ ACM DOI: https://dl.acm.org/doi/abs/10.1145/3687908 80 Level: https://80.lv/articles/new-open-source-physics-engine-for-blender-released 80 Level: https://80.lv/articles/new-simulation-method-to-achieve-accuracy-in-collision-physics PixelSham: https://www.pixelsham.com/2026/05/20/the-official-blender-add-on-for-zozos-contact-solver-an-open-source-physics-solver/ 3 D 人: https://3dnchu.com/archives/zozos-contact-solver-b3d/
夜雨聆风