2026-W37 周报
覆盖 2026/09/07(周一)– 2026/09/13(周日)。 四大类固定顺序:1 需求 · 2 Bug · 3 经验总结 · 4 问题复盘,大类下面直接 1. 2. 3. 排。 本周当前完成一项传送模块结构重构,功能回归仍待 PIE(编辑器内运行)验证。
周期09/07 – 09/13
需求3 个
Bug0 条
经验总结0 条
问题复盘1 条
分支zhaozibo_071
要直接交周报?跳到 §5 飞书周报(一键复制)。
0. 本周速览
| 大类 | # | 一句话 |
|---|---|---|
| 需求 | 1 | 【主线】TeleportController 结构重构 |
| 2 | 【关卡工具】多人传送 Action 编辑器配置支持 | |
| 3 | 【主线】燧火域关卡屏蔽主动传送 |
1需求3 个
本周做的新功能 / 改造 / 配置支持。需求卡字段单元:模块 / 需求 / 实现细节 / 结果 / 验收。
1.
【主线】
TeleportController 结构重构
模块:传送 / TeleportController
需求
TeleportController 原文件 3526 行,职责混合、回调嵌套;目标是在保持既有行为的前提下按职责拆分,控制器只保留门面与编排入口。
实现细节
抽出
公共 API(接口)、协议、事件、超时、
TeleportPresentation、TeleportGroundProbe、TeleportSameSceneFlow、TeleportSequenceFlow、TeleportSeq3Binder、TeleportTransitionFlow。公共 API(接口)、协议、事件、超时、
Seq3、sweep=false 等时序保护保持不变;事件回调与 resolver(完成回调)统一使用固定的 private readonly 箭头函数,消除临时匿名完成回调,保证注册、注销与完成通知使用稳定引用。
结果
控制器由 3526 行降至 467 行,新增模块职责清楚,表现、地面探测、同图流程、序列流程、
Seq3 绑定与转场流程各自独立。
验收
Prettier(格式检查)通过;ESLint(静态规则检查)0 个错误;
npm run tsc-native 通过;7 个 JavaScript(脚本)产物已更新。PIE(编辑器内运行)功能回归待测。
详情
起止
提出并完成 2026/09/07(W37)
2.
【关卡工具】
多人传送 Action 编辑器配置支持
模块:编辑器 Scheme(配置结构)· 多人传送 Action
需求
现有传送 Action 只按单点处理,多人执行时会重叠。为
SetEntityPos、TeleportLevel、TeleportDungeon 增加“半径内随机 / 阵型”两种落点模式,并补齐统一朝向、黑屏类型和阵型指示编辑。
实现细节
SetEntityPos 保持根级可选 LandingConfig:随机模式保存 Radius,阵型点相对 PositionVariable;旧 ScatterRadius 可自动修复迁入随机模式并删除旧字段。TeleportLevel、TeleportDungeon 的“传送类型”新增 MultiLanding(多人落点):顶层共用 TargetPosition;随机模式内配置 Position + Radius,阵型模式不配置目标点,直接保存世界坐标 FormationPoints 与世界旋转 FormationRotations。阵型点新增时按 120cm 蛇形 X/Y 偏移,从候选点上方 400cm 向下检测至下方 1000cm,命中后只修正 Z;位置与旋转回写统一保留两位小数。随机半径默认值为 500cm。三个 Action 均支持可选 BlackScreenType;另为 SetPlayerPos 增加“建议使用 SetEntityPos”提示,并开放 TeleportDungeon 在玩法行为树中的配置入口。
结果
三类 Action 已覆盖半径随机与阵型多人落点;
TeleportLevel、TeleportDungeon 通过独立 MultiLanding 类型与其他四种传送类型隔离,旧数据可自动迁移。阵型人数不写死 8 人,新增点避免默认重叠与埋地。
验收
相关 TypeScript(脚本)文件通过 Prettier(格式检查);重复声明和重复字段已清理。完整
tsc-native 当前被两个无关 GM 接口缺失阻塞,使用项目 compile-skip-diagnostic 成功生成产物;LevelPlay.js、TeleportLanding.js、Action.js 已核对 MultiLanding、默认半径 500、两位小数、旧配置迁移、阵型偏移与贴地逻辑。
起止
提出 2026/09/07 · 编辑器配置完成 2026/09/08(W37)
3.
【主线】
b1179677
燧火域关卡屏蔽主动传送
模块:关卡 · 传送限制
需求
对关卡
40065008、40065015、40065015 屏蔽传送功能,无法从这些地图主动传送到其他地图。
起止
提出并完成 2026/09/07(W37)
2Bug0 条
本周处理的线上 / QA(质量保证)问题。
本周无
3经验总结0 条
可复用的模块知识 / 工具用法。这一类只在明确要求时记录。
本周无
4问题复盘1 条
排查走了弯路、造成外部代价的事。这一类只在明确要求时记录。
1.
【传送】
主动传送点同城传送流程修正
模块:传送 / TeleportSameSceneFlow / TeleportSequenceFlow
现象
主城传主城时出现“无缝过渡遮罩兜底超时”和“同步瞬移 15 秒兜底”,未按主动传送点的上天入地表现进入 Seq(序列)流程。
根因
主动传送点服务端下发
TeleportSelfSCNotify(15512)后,客户端曾继续等待可识别的 ServerEntityMoveSCNotify(15511),导致复杂表现没有及时启动。处理
主动传送点在 15512 到达且处于
IsTeleporting 状态时直接启动复杂链;默认流程使用系统 UI Loading(加载界面)遮住 Seq1/Seq2,仅保留 Seq3;TeleportNoUiLoadingToggle#1 展示 Seq1→Seq2→Seq3。同步移除运行时外部相机创建、SetBinding(绑定覆盖)及 ResetBindings(绑定重置)调用。验证
npm run tsc-native 通过;主动传送点与 Seq2 无限循环测试 GM 已更新。后续按默认 UI Loading 与无 UI 两种口径分别回归 PIE(编辑器内运行)。5. 飞书周报(一键复制)
下面这块是按飞书周报模板压缩后的对外版,只保留结果、关键方案与风险 / 后续。
飞书周报 · 2026-W37(09/07 – 09/13)
file:// 下若复制被拒,会自动帮你选中,按 Ctrl+C
1.本周工作进展:
a. 【主线】TeleportController 结构重构
模块:传送 / TeleportController
需求:TeleportController 原文件 3526 行,职责混合、回调嵌套;目标是在保持既有行为的前提下按职责拆分,控制器只保留门面与编排入口。
实现细节:抽出 TeleportPresentation、TeleportGroundProbe、TeleportSameSceneFlow、TeleportSequenceFlow、TeleportSeq3Binder、TeleportTransitionFlow。
公共 API(接口)、协议、事件、超时、Seq3、sweep=false 等时序保护保持不变;事件回调与 resolver(完成回调)统一使用固定的 private readonly 箭头函数,消除临时匿名完成回调,保证注册、注销与完成通知使用稳定引用。
结果:控制器由 3526 行降至 467 行,新增模块职责清楚,表现、地面探测、同图流程、序列流程、Seq3 绑定与转场流程各自独立。
验收:Prettier(格式检查)通过;ESLint(静态规则检查)0 个错误;npm run tsc-native 通过;7 个 JavaScript(脚本)产物已更新。PIE(编辑器内运行)功能回归待测。
b. 【关卡工具】多人传送 Action 编辑器配置支持
模块:编辑器 Scheme(配置结构)· 多人传送 Action
需求:现有传送 Action 只按单点处理,多人执行时会重叠。为 SetEntityPos、TeleportLevel、TeleportDungeon 增加“半径内随机 / 阵型”两种落点模式,并补齐统一朝向、黑屏类型和阵型指示编辑。
实现细节:SetEntityPos 保持根级可选 LandingConfig:随机模式保存 Radius,阵型点相对 PositionVariable;旧 ScatterRadius 可自动修复迁入随机模式并删除旧字段。TeleportLevel、TeleportDungeon 的“传送类型”新增 MultiLanding(多人落点):顶层共用 TargetPosition;随机模式内配置 Position + Radius,阵型模式不配置目标点,直接保存世界坐标 FormationPoints 与世界旋转 FormationRotations。阵型点新增时按 120cm 蛇形 X/Y 偏移,从候选点上方 400cm 向下检测至下方 1000cm,命中后只修正 Z;位置与旋转回写统一保留两位小数。随机半径默认值为 500cm。三个 Action 均支持可选 BlackScreenType;另为 SetPlayerPos 增加“建议使用 SetEntityPos”提示,并开放 TeleportDungeon 在玩法行为树中的配置入口。
结果:三类 Action 已覆盖半径随机与阵型多人落点;TeleportLevel、TeleportDungeon 通过独立 MultiLanding 类型与其他四种传送类型隔离,旧数据可自动迁移。阵型人数不写死 8 人,新增点避免默认重叠与埋地。
验收:相关 TypeScript(脚本)文件通过 Prettier(格式检查);重复声明和重复字段已清理。完整 tsc-native 当前被两个无关 GM 接口缺失阻塞,使用项目 compile-skip-diagnostic 成功生成产物;LevelPlay.js、TeleportLanding.js、Action.js 已核对 MultiLanding、默认半径 500、两位小数、旧配置迁移、阵型偏移与贴地逻辑。
c. 【主线】b1179677,燧火域关卡屏蔽主动传送
模块:关卡 · 传送限制
需求:对关卡 40065008、40065015、40065015 屏蔽传送功能,无法从这些地图主动传送到其他地图。
2.下周工作计划:
a. 完成同图无缝、跨图 Seq(序列)、淡入淡出、复活、连续传送、试用角色 / 换装场景的 PIE(编辑器内运行)回归。
b. 回归发现问题时只修复重构引入的行为差异,不扩展需求。
3.待讨论的问题/需要分享的内容:
无。
条目格式(本站统一)
需求按模块 → 需求 → 实现细节 → 结果 → 验收记录;不展示责任方,不写逐文件流水账。英文术语补充中文说明,代码标识保持原样。
6. 下周待办
- 完成同图无缝传送的 PIE(编辑器内运行)功能回归。
- 完成跨图 Seq(序列)与淡入淡出流程的 PIE(编辑器内运行)功能回归。
- 完成复活与连续传送场景的 PIE(编辑器内运行)功能回归。
- 完成试用角色 / 换装场景的 PIE(编辑器内运行)功能回归。
- 回归发现问题时,只修复重构前后的行为差异,不扩展需求。