无需登录 数据私有 本地保存

物理形体在线编辑器 - 为精灵创建碰撞多边形

32
0
0
0

核心功能

多种导出格式支持

编辑器支持5种主流的游戏开发导出格式,满足不同引擎和框架的需求。通用 JSON 格式输出标准的顶点坐标数组,适用于自定义引擎和大多数2D游戏框架;Phaser 3 格式生成 Phaser 框架 Matter.js 物理引擎所需的碰撞体配置数据,可以直接复制到项目中使用;Unity C# 格式生成完整的 C# 脚本代码,包含 PolygonCollider2D 组件的顶点赋值语句,可直接粘贴到 Unity 脚本中;Box2D 格式输出符合 Box2D 物理引擎规范的顶点数据;SVG Polygon 格式将碰撞形状导出为标准的 SVG 多边形元素,方便在矢量设计工具中查看和编辑。

凸包自动生成

编辑器内置了 Andrew 单调链凸包算法,可以一键自动计算出包裹所有已放置顶点的最小凸多边形。凸包在碰撞检测中被广泛使用,因为凸多边形的碰撞检测算法(如 SAT 分离轴定理)计算效率远高于凹多边形。对于不需要精确贴合物体轮廓的碰撞场景,使用凸包可以大幅简化碰撞形状并提升运行时性能。用户只需大致放置几个顶点,凸包算法就能自动计算出最优的碰撞边界。

撤销与重做

编辑器支持完整的撤销(Undo)和重做(Redo)操作,用户可以随时回退到之前的操作状态,也可以恢复被撤销的操作。这在精细调整碰撞多边形时非常有用,用户可以大胆尝试不同的顶点布局,不满意就撤销重来,不会因为误操作而丢失已有的工作成果。撤销/重做功能通过操作历史栈实现,支持多步回退和恢复。

多模式编辑

编辑器提供三种编辑模式以适应不同的操作需求。编辑模式允许用户拖拽已有的顶点来调整位置和形状;添加模式允许用户在多边形上插入新的顶点,增加碰撞边界的精细度;删除模式允许用户点击移除不需要的顶点,简化多边形形状。三种模式的灵活切换让用户能够高效地完成各种编辑任务。

多边形信息显示

编辑器实时显示当前多边形的各项信息,包括顶点数量、多边形类型(凸多边形或凹多边形)以及面积大小。这些信息帮助用户快速了解碰撞形状的复杂度和覆盖范围,为优化碰撞检测性能提供数据参考。面积信息在需要进行面积相关的物理计算时也非常实用。

缩放平移与快捷键

编辑器支持鼠标滚轮缩放和中键拖拽平移操作,用户可以自由调整画布的视图以查看和编辑多边形的细节。同时,编辑器提供了丰富的快捷键支持,包括模式切换、撤销重做、缩放控制等常用操作的键盘快捷键,让习惯键盘操作的用户也能获得高效的工作体验。