
常规 Separate by Loose Parts 会把每个不连通块都拆开,但真实模型里很多零件本就靠接触拼在一起——扣子压在布料上、堆叠的零件互相贴合、布尔或雕刻合并出的组合体。Separate by Collision 在分离时判断块间是否相交:碰撞的块合并保留,只在真正分离处切开。
· 按松散块(loose parts)分离网格,相交碰撞的块自动保持合并
· 可调表面半径(mesh surface radius)控制碰撞判定灵敏度
· Surface 模式:按真实表面求交,精度高;网格大、岛多时较慢
· Bounding box 模式:仅按包围盒判碰撞,速度很快
· Object 模式按 W → Separate by Collision 直接调用
· 跨平台:macOS(Apple Silicon/Intel)、Windows、Linux,纯 Python
在 Blender「编辑 → 偏好设置 → 扩展 → 从磁盘安装」选中本包 zip(不要解压)并启用。用法:选中物体进入 Object 模式,按 W 打开菜单选 Separate by Collision;在面板里选 Surface 或 Bounding box 模式、调好表面半径后执行分离。
分离模型时保留互相接触的零件;拆分硬表面零件与堆叠道具;整理扫描/雕刻合并来的网格;批量拆分但不想拆散接触组。
问:要钱吗?答:免费开源,GPL-3.0-or-later。问:需要哪个 Blender 版本?答:4.2 及以上。问:两种模式区别?答:Surface 精确但慢,Bounding box 快但只按包围盒估。问:表面半径是什么?答:碰撞判定的表面扩展半径,调大更易判为相交。问:会改几何吗?答:只分离,不改变面。
核心功能
· 按松散块(loose parts)分离网格,相交碰撞的块自动保持合并
· 可调表面半径(mesh surface radius)控制碰撞判定灵敏度
· Surface 模式:按真实表面求交,精度高;网格大、岛多时较慢
· Bounding box 模式:仅按包围盒判碰撞,速度很快
· Object 模式按 W → Separate by Collision 直接调用
· 跨平台:macOS(Apple Silicon/Intel)、Windows、Linux,纯 Python
安装与用法
在 Blender「编辑 → 偏好设置 → 扩展 → 从磁盘安装」选中本包 zip(不要解压)并启用。用法:选中物体进入 Object 模式,按 W 打开菜单选 Separate by Collision;在面板里选 Surface 或 Bounding box 模式、调好表面半径后执行分离。
适用场景
分离模型时保留互相接触的零件;拆分硬表面零件与堆叠道具;整理扫描/雕刻合并来的网格;批量拆分但不想拆散接触组。
常见问题
问:要钱吗?答:免费开源,GPL-3.0-or-later。问:需要哪个 Blender 版本?答:4.2 及以上。问:两种模式区别?答:Surface 精确但慢,Bounding box 快但只按包围盒估。问:表面半径是什么?答:碰撞判定的表面扩展半径,调大更易判为相交。问:会改几何吗?答:只分离,不改变面。
深度解读
Blender 自带的「按松散块分离(Separate by Loose Parts)」只认连通性:只要网格不连通就拆开,完全不看两块是否在空间里互相接触。但真实模型里,很多零件本就是靠接触拼在一起的——服装扣子压在布料上、堆叠的零件互相贴合、布尔或雕刻合并出的组合体——这时全拆会破坏原本该保持的整体。Separate by Collision 在分离时多做一步碰撞判断:相交的块保持合并,只在真正分离处切开,并允许调表面半径控制判定的松紧。它提供两种模式:Surface 按真实表面求交,结果准确,但网格大、岛多时计算慢;Bounding Box 只按包围盒判断,牺牲一点精度换极快的速度,适合面数巨大的场景先快速拆分。这个取舍很务实:先用 bbox 粗分、必要时再切 surface 精修。要注意碰撞判定本质是启发式,表面半径调大会把「几乎接触但实际分离」的块也并在一起,调小则可能漏并真正相切的块,所以对精度要求高的模型要在小范围先试跑。对需要把复杂模型拆成可加工零件、又不希望拆散接触组的场景,它比原生分离省下大量事后手工合并的返工。
包内文件说明
本包为 Separate by Collision 2.0.1(作者 Hattiffnat),解压后共 6 个文件、合计 1,633,295 字节。根目录含 blender_manifest.toml(id=separate_by_collision、version 2.0.1、blender_version_min 4.2.0)与 __init__.py 注册入口;顶层条目:__init__.py、bin/、blender_manifest.toml、py_collisions.py。
原产品页:https://extensions.blender.org/add-ons/separate-by-collision/
封面图片来自作者官方产品页。本文为中文整理,功能与兼容性信息以作者官方页面与包内说明为准。资源仅供学习交流,商业使用请购买正版授权。















暂无评论内容