房主离开后,主机迁移可保持 s&box 多人游戏状态存活
更新 26.09.15 为 s&box 加入了主机迁移。当房主离开时,其快照状态会在新主机上恢复,包括仅主机端对象、快照状态和复制的 ConVars。能在中途加入后保留的状态,也应该能在主机迁移后保留。正在运行的代码不会随之转移,因此运行中行为需要在新主机上恢复。分析器会检查状态与行为是否可安全迁移。详情:主机迁移文档。
Painter 与 GPU 文本渲染
Painter 取代 HudPainter 和面板渲染系统,为面板、HUD、世界面板、纹理和命令列表提供共享绘图 API。它会渲染抗锯齿的 SDF 形状、路径、填充、描边和裁剪,包括圆弧、箭头、贝塞尔线、胶囊、圆形、多边形和星形。描边支持内侧、居中和外侧位置,以及实线、虚线和点线样式;填充可以是颜色、图像,或径向、线性和锥形渐变。线条斜接支持斜角和圆角。批处理可保持高性能;演示仅用一次绘制调用完成渲染。IPanelDraw 已冗余;请重写 OnDraw(Painter painter)。HudPainter 已弃用,请改用 Painter.Begin、CameraComponent.BeginHud 和 BeginOverlay。
GPU 文本渲染采用 Lengyel 算法,同时保留当前 API。曲线会传递给 GPU 并在着色器中绘制,因此无需采取任何操作。它支持 CJK、表情符号以及之前系统支持的所有内容,近距离下依然清晰,而且速度显著更快。UI、HUD、TextRenderer 和粒子文本都通过字形轮廓在一次绘制调用中渲染。
菜单与编辑器
悬停卡片会显示游戏预览,并提供游玩、评分、收藏、评论和隐藏操作。游戏模态框和 Toast 提示经过重做,让评论、收藏和隐藏游戏更显眼。模态框将评分、收藏、评论和隐藏放在“游玩”旁边,并提供撰写评论提示;右键菜单新增点赞、点踩、收藏和隐藏。Jam 提名可从悬停卡片、游戏模态框和游戏结束 Toast 中进行,并带有最低游玩时长检查;收藏、投票和提名按钮会立即更新,并与服务器同步。
编辑器质量预设可从视口控件切换。编辑器与 MCP 多人测试工具可以主持会话、生成本地实例,并迁移主机。选中的网格可以翻转;按住 Shift 拖动会创建表面对齐的方块。轴心选择器可设置轴心,而不会改变选中的网格。Movie Maker 导出默认使用 AV1。着色器特性值可按名称以整数形式读取,无需额外声明。存储设置会显示用量和类型细分、扫描进度、清理建议以及移除确认。
性能与平台
在合成测试中,GameObject 克隆速度约提升 2.6 倍,分配量减少约 38%。实际测试中影响较小,因为生成模型和碰撞体才是主要瓶颈;序列化开销原本就很低。主机上的网络快照开销更低:场景状态仍在主线程捕获,但 JSON、blob 和数据包编码会在工作线程上运行,用于加入、场景加载和迁移快照,同时保持发送顺序。
Mac 和 Linux 修复涵盖游戏视图输入、编辑器 DPI 缩放、Finder 文件夹打开、场景暂存、代码编辑器检测以及发布/导出控件。几何着色器支持修复了 Mac 上 Highlight 的崩溃,并修复了程序化渲染回调的生命周期问题。Linux 原生构建使用 Steam Linux Runtime 4.0,带有更新的 libcurl 和捆绑的 ICU,彩色表情符号回退使用 Twemoji。开源设置新增 Setup.bat 和 Setup.sh、下载进度、Git 钩子以及平台特定产物。
Block Party 与其他修复
Block Party 是一款使用 2D 精灵系统的新游戏,带有排行榜和回放、支持创意工坊的关卡编辑器、gif 导出以及更多内容:sbox.game/facepunch/blockparty。
CSS overscroll-behavior 已实现,可禁用滚动边缘回弹并防止滚动级联到父面板,并支持按轴控制(MDN)。滚动回弹现在会强制执行硬边界。
其他修复涵盖 Connect Vertices 验证、资产浏览器布局、发布热加载恢复、Doo 编辑撤销、网格镜像、Hammer 材质和 FBX 导入。网络修复解决了连接序列化、递归定向消息、BytePack 嵌套限制为 32 层以及回环限制。导航与物理修复改进了人群转向、代理变换、导航网格重新烘焙以及 Character Controller StepHeight。渲染与 UI 修复涵盖碰撞体清理、折射 VRAM 泄漏、Clutter LOD、Razor 退出动画、拖拽状态残留、位图文本、彩色表情符号 alpha 以及女性皮肤纹理。