跳转到内容

v0.8.2

ShapeRenderer 组件

新增内置组件,使用 GPU 加速的有符号距离场绘制 2D 形状。详见 形状渲染器指南

  • 三种形状类型 — 圆形、胶囊和圆角矩形,可配置尺寸、颜色、圆角半径和渲染层级
  • SDF 渲染 — 通过片段着色器距离函数实现任意缩放下的抗锯齿边缘
  • 编辑器支持 — 形状类型下拉框、颜色拾取器和 Scene View 实时预览

新碰撞器类型

物理系统新增三种碰撞器形状,各有独立文档:

所有碰撞器支持完整属性集,包括密度、摩擦力、弹性、传感器模式和碰撞层分配。编辑器 Inspector 和调试绘制均已支持。

碰撞层系统

16 层位掩码碰撞过滤系统,带编辑器集成。详见碰撞体 — 碰撞过滤

  • 命名层 — 在项目设置中定义最多 16 个碰撞层(如 “Player”、“Enemy”、“Ground”)
  • 碰撞矩阵 — Settings → Physics 中的可视化矩阵控件,配置哪些层之间可以交互
  • Inspector 下拉框 — 碰撞体的 categoryBits 显示为命名层选择器,而非原始位掩码
  • 项目同步 — 层名称和掩码保存到项目配置中,团队共享

接触求解器参数

Box2D 接触求解器参数现已在项目设置中暴露:

参数默认值说明
Contact Hertz30接触刚度(周期/秒)
Contact Damping Ratio10接触弹性阻尼
Contact Speed3最大重叠修正速度(米/秒)

UI 交互改进

  • 默认着色 — 没有显式 ColorTransition 的按钮和开关现在自动应用基于状态的着色(悬停 1.15 倍、按下 0.75 倍、禁用 0.5 倍亮度)
  • 开关颜色 — Toggle 新增 onColoroffColor 属性,无需完整 transition 定义即可自定义颜色
  • 拖拽 UIRect 支持Draggable 现在支持锚点布局的 UI 元素,通过调整布局偏移量而非 Transform 位置
  • 滑块手柄居中 — 滑块手柄现在在垂直于滑动方向的轴上自动居中

统计叠加面板

  • 系统计时现在显示为 500ms 窗口内的平均 / 峰值,而非每帧值,在保持稳定可读性的同时不丢失尖峰信息

增强的设置对话框

项目设置对话框已重新设计:

  • 搜索 — 按名称、描述或标签筛选设置
  • 可折叠分组 — 相关设置组织为可折叠区域
  • 修改指示器 — 导航项上的圆点标记显示非默认值
  • 分区重置 — 将某个分区的所有设置恢复为默认值
  • 新分区 — Rendering(精灵默认值、像素单位比)、Asset Loading(超时、冷却)和 Network(HTTP 代理)
  • 条件可见性 — 仅在特定模式下适用的设置(如 Canvas Match W/H)自动显示/隐藏

性能优化

  • 材质批处理 — 共享相同材质的精灵现在合并渲染
  • 着色器加载 — 着色器使用内嵌 .esshader 格式,替代内联字符串
  • ECS 优化 — 改进视图迭代、排序和渲染管线性能

示例项目

引擎现在附带 16 个示例项目,覆盖核心功能:精灵、动画、物理、UI 控件、音频、输入、瓦片地图、粒子、补间、后处理、存储、自定义绘制、材质等。可在启动器的示例面板中浏览。

Bug 修复

  • 修复退出播放模式后 Image 组件消失的问题
  • 修复切换项目后预览服务器提供旧项目内容
  • 修复编辑器播放模式下音频 URL 解析
  • 修复启动系统刷新时机和编辑器非播放模式下的动画
  • 修复 anim-clip UUID 不匹配并在编辑器中添加首帧预览
  • 修复 jsdom 环境下编辑器测试失败