首页 / 总览 / 名词与缩写表
名词与缩写表
读日志、看代码、和策划/服务器沟通时会遇到的所有缩写。按类别分组, 不确定某个词指什么就先查这里。
1. 引擎与工具链
| 缩写 | 全称 | 在本项目里具体指什么 |
|---|---|---|
| UE | Unreal Engine 5 | 底层引擎。用户使用中文版编辑器,沟通时用中文菜单名(内容浏览器、世界分区) |
| puerts | Pu ERTS | 腾讯的 UE ↔ JS/TS 绑定框架。import * as UE from 'ue' 就是它提供的 |
| WP | World Partition | UE5 世界分区。大世界按 Cell 网格动态流送加载,传送与坠落 bug 的主要来源。机制详解 |
| Cell | — | WP 的最小流送单位。Activated ≠ 碰撞体已构建,这个差异导致过穿地下坠 |
| DataLayer | 数据层 | WP 的另一维度分组:按「层」而不是按网格开关一批 Actor。运行时层前缀 DataLayerRuntime_*,六类前缀各管什么 |
| 流送源 | Streaming Source | 决定「以哪个点为中心加载 Cell」的组件。本项目有跟随玩家和锁定落点两盏灯 |
| 子关卡 | LayerTask | 用 DataLayer 实现的关卡内可选区块。服务器只下发名字列表(14528),开关由客户端求差集 |
| HLOD | Hierarchical LOD | 远距离用的低模代理。看着有地面不代表真实碰撞体在场,是流送假阳性的伴随现象 |
| Level / ULevel | 关卡 | UE 的关卡对象。跨关卡复制 Actor 忘了迁 ULevel 会导致「丢失 Json」误报 |
| Seq | LevelSequence | UE 的过场动画序列。结算三阶段镜头 Seq1/Seq2/Seq3 就是它 |
| DA | DataAsset | UE 的数据资产。相机曲线、材质控制参数等都以 DA 形式给美术填 |
| DT | DataTable | UE 的数据表。FTableRowBase 派生结构体 + Excel 导出 |
| LGUI | — | 项目用的 UI 框架。UE.UIItem / UISprite / UIText,注意是
SetUIActive 不是 SetVisibility
|
| PIE | Play In Editor | 编辑器内运行。Saved/Logs/Client.log 里一个文件可能含多段 PIE |
| P4 | Perforce | 版本管理。不要顺手 p4 lock,会挡住同事编辑 |
| gulp | — | 编辑器代码(Src/UniverseEditor/**)的构建工具,输出 JavaScript_Raw。和
npm run compile 是两条独立流水线
|
2. 框架与架构
| 缩写 | 含义 | 说明 |
|---|---|---|
| MVC | Model / View / Controller | 业务模块标准三件套,全部是进程级单例 |
| ECS | Entity Component System | 实体侧架构。@RegisterComponent(EComponent.Xxx) 注册组件 |
| Entity | 实体 | 游戏世界里的一个对象(玩家、怪、道具)。通过 EntityHandle 引用 |
| EntityHandle | 实体句柄 | 实体的弱引用包装,实体销毁后句柄失效,不要长期缓存实体本身 |
| Et 前缀 | Entity 组件类前缀 | EtBoundaryRespawnComponent、EtMoveComponent |
| Controller | 控制器 | 逻辑与协议收发。ControllerHolder.XxxController(192 个) |
| Model | 数据层 | 缓存服务器数据。ModelManager.XxxModel(136 个) |
| Config | 配置层 | 配置表加工与索引。ConfigManager.XxxConfig(47 个) |
| View / Panel | UI 视图 | UiViewBase(局部)/ UiPanelBase(整块界面) |
| Holder | — | ControllerHolder 是 Controller 的静态注册表,不是设计模式术语 |
3. 协议与网络
| 缩写 | 方向 | API |
|---|---|---|
| SC | Server → Client | 服务器发给客户端 |
| CS | Client → Server | 客户端发给服务器 |
| SCNotify | S→C 单向 | Net.Register / Net.UnRegister(共 284 条) |
| CSReq / SCRsp | C→S 请求应答 | Net.Call / Net.CallAsync(共 252 条) |
| CSPush | C→S 单向 | Net.Push,不等回包 |
| proto | Protocol Buffers | 协议定义源。Protocol.d.ts 是自动生成的,手改会被写回 |
| RTT | Round-Trip Time | 网络往返延迟,Net.RttMs |
| 主控 / 非主控 | authority | 本地玩家操控的实体是「主控」。子弹网络类型按这个分权威方 |
协议号命名规律
五位数字,前两三位是模块段:
拿到一个陌生协议号,先看段位能缩小范围,精确归属查 协议总索引。
147xx 坠落重生 / LoadDone / 150xx 行为树(计时器)/ 155xx 传送 /
205xx 副本(含结算 20528、爬塔星级 20532/20533)/ 237xx 传送点与地图 /
375xx 爬塔局外。拿到一个陌生协议号,先看段位能缩小范围,精确归属查 协议总索引。
4. 八大模块专有名词
传送
| 同步瞬移 | 同一关卡内的位置切换,不重新加载 Level。与「跨关卡传送」走完全不同的路径 |
| 无缝传送 | 不黑屏的同步瞬移。依赖 WP 流送完成判定,假阳性会导致穿地 |
| 命令链 | 场景加载的实现形态:一条 19 节点的命令序列,按入口分五条链。传送只是其中一条 |
| 飞天遁地 | 默认的传送表现:角色向上飞出 → 目标点落下。对应 ShowInfo 的默认值 |
| LoadDone | WorldClientSameSceneLoadDoneCSReq = 14716(回包
14717)。客户端告诉服务器「本端准备好了」。漏发会导致服务器永远认为该玩家不可主控。靠
serverMoveVersion 幂等去重
|
| reason | 传送原因枚举(REVIVE / GM / ACTION / DROP_RESET / BLACK / ROLLBACK…),决定走哪条表现分支 |
| 遮丑黑屏 | 传送过程中盖住穿帮画面的全屏黑。用引用计数管理,解除回调被覆盖会残留十几秒 |
| 贴地预检 | 解锁移动前在落点周围打 3×3 射线确认碰撞体已就绪,防止穿地下坠 |
| 九点探地 | 贴地预检的具体判据:以服务器下发的落点为中心,在 3×3 网格的 9 个位置各向下打一条射线;9 条全部命中才允许发
LoadDone、解锁移动并撤遮罩。相邻点间距 132cm,向下探测 200cm。
|
副本结算
| MVP | 本局表现最好的玩家,结算阶段 2 给特写镜头 |
| 全家福 | 结算阶段 3:全队角色一字排开的合影镜头 |
| ProxyActor | 结算场景里生成的「替身」角色,不是真实体。站位序 ≠ UI 成员序,混用会导致名字模型错位 |
| Seq1/2/3 | 结算三阶段的 LevelSequence。Seq1 已改为逐帧 Tween 相机调度 |
| 站位序 | ProxyActor 在场景里从左到右的顺序,按体型半径累加算出 |
| 成员序 | UI 列表里的队伍成员顺序。与站位序对齐必须用 uid,不能用同一个下标 |
爬塔
| starMask | 星级位掩码。第 i 位为 1 表示第 i 档星级已达成。0b101 = 5 表示第 0、2 档达成 |
| 档 / idx | 一个副本可配多档星级条件,idx 是档位下标 |
| EdTid / Tid | 编辑器多语言 key / 正式多语言 key。EdTid 运行时不导出,只能做兜底 |
| 局内 / 局外 | 副本内实时 HUD(20532/20533)vs 副本外存档展示(375xx) |
关卡子弹
| TypeId | 15 位定长拼装的子弹类型 id,6+5+3+1 分段 |
| Mark | 发射器实例的唯一标识。没配 Mark 就无法定向销毁该发射器产生的子弹 |
| 环境怪 / EnvMonster | 关卡子弹借用怪物系统做的中转载体 |
| Emitter | 发射器,关卡里摆的子弹生成点 |
重生类
| 坠落重生 | 掉出世界(低于 SafeDepth)后拉回复活点 |
| 边界检查重生 | 走出策划画的范围盒后拉回。组件 EtBoundaryRespawnComponent |
| SafeDepth | 安全深度阈值,Z 低于它判定为坠落 |
| DoSimpleRespawn | 不走完整复活流程的轻量重生(不掉复活次数) |
5. 宇宙编辑器
| 名词 | 说明 |
|---|---|
| Scheme | 描述「一个配置项在编辑器里长什么样」的元数据。决定字段类型、下拉选项、校验规则 |
| createObjectScheme | 构造对象型 scheme(一组字段) |
| createArrayScheme | 构造数组型 scheme(可增删的列表) |
| IgnoreAllFields | 「不校验内部字段」的空壳 scheme。编辑用真实 scheme、校验用空壳时不一致,会误报「非法字段」 |
| ImplementType | 'Server' 表示该节点逻辑在服务器执行,客户端只负责编辑 |
| OnModify | 字段改动时的回调,用于联动其它字段 |
| OnSchemeCheck / OnFix | 校验与自动修复。OnFix 能把旧数据升级到新结构 |
| 主控树 | 关卡玩法的行为树。策划在这里摆「开启星级监听」这类节点 |
| Action / 节点 | 主控树里的一个可执行单元,对应一个 executor |
6. 日志、调试与英文术语中文对照
| ELogModule | 日志模块枚举,第一个参数 |
| ELogAuthor | 日志来源枚举,签名第二个参数。按它 grep 能把同一条链路的日志整段捞出来 |
| Client.log | Saved/Logs/Client.log,UE 编辑器实时日志,UTC 时间戳,含多段 PIE |
| Client(N) | 用户点名「Client(N)」时指 Downloads 目录下的日志快照,不是 Saved/Logs |
| GM 命令 | 调试指令。传送、给道具、跳关都有对应 GM |
| silent-fail | 静默失败:调用没报错、返回值也正常,但功能实际没生效。Camera3 资源缺失就是典型。反面是响亮失败——宁可刷屏报 Error,也别让问题藏着 |
| upsert | 有则更新、无则插入。收增量协议时按业务主键 findIndex,找到就改、找不到就 push
|
| 前置判断 | 函数开头「条件不满足就直接 return」的那几行挡门语句(英文常叫 guard clause)。漏一条往往就是一个 bug
|
| 提前 return | 函数中途直接返回,不走到末尾(英文常叫 early return)。它跳过的收尾动作是 bug 高发区,见 #6 漏发 LoadDone |
| 兜底 | 正常路径拿不到数据时的保底值或备用方案(英文常叫
fallback)。例:FallbackRespawnText、CameraFallbackDistance = 900 |
| 借还式服务 | 资源必须成对「借出 / 归还」的封装(英文常叫 lease,租约):acquire() 拿句柄、release(handle)
交回,从 API 层面杜绝多 pop 和回调覆盖 |
7. 沟通场景速查
测试/QA 说「角色不显示」
可能是:实体真隐藏了 / 相机没切过去 / 材质溶解残留 / VisibilityLock 没 pop。
先问「相机视角对不对」,能一句话排除一半。
策划说「配了没生效」
先确认三件事:表导出了没(
ConfigTool.Gui.exe)、
主控树上有没有放对应节点、编辑器 scheme 和运行时校验 scheme 是不是同一个。服务器说「我发了」
让对方给协议号 + 字段值。客户端侧
grep 对应 Net.Register 打的日志,
确认是没收到还是收到没处理——两者根因完全不同。美术说「资产给了」
确认路径和命名严格匹配代码里的字符串。
资源缺失时很多加载 API 是静默失败,不报错只是没效果。