Godot 2D项目中如何将CollisionShape2D挂载到Bone2D实现同步运动
Godot 2D骨骼绑定碰撞体操作方案
前置确认
- 确保当前项目中Skeleton2D的Bone2D层级正确,动画预览时各骨骼运动逻辑正常。
具体操作步骤
- 选中需要挂载碰撞体的目标Bone2D节点,右键添加子节点,选择
CollisionShape2D(适合规则部位,比如头部、躯干)或者CollisionPolygon2D(适合不规则部位,比如手部、武器)。 - 选中刚添加的碰撞体节点,在右侧检查器面板调整形状参数:
CollisionShape2D直接选择对应预设形状(圆形、矩形等)后拖拽调整尺寸匹配对应身体部位;CollisionPolygon2D点击工具栏的「绘制多边形」按钮,在视图中沿着对应身体部位边缘描出碰撞轮廓即可。 - 若需要碰撞体实现触发/物理交互效果,在Skeleton2D的上层节点挂载
Area2D(适合触发判定,比如受击、交互)或RigidBody2D(适合物理模拟,比如布娃娃效果),并根据项目需求配置碰撞层、碰撞掩码参数。
注意事项
- 碰撞体必须是对应Bone2D的子节点,Godot会自动同步Bone2D的位移、旋转、缩放属性到子节点,无需额外编写绑定代码。
- 若不同动画帧下角色身体部位形变较大,可打开动画编辑器,为碰撞体的形状属性插入对应关键帧,实现动画帧同步的碰撞体形变。
- 不要将碰撞体直接挂载到Skeleton2D根节点下,否则无法跟随对应部位的骨骼运动。
内容的提问来源于stack exchange,提问作者MohsenGhasemi
相关产品推荐
相关产品推荐

