面经汇总
腾讯 客户端二面
1. charachterMoveMent部分的同步源码看过吗?
UE引擎中的角色移动同步采用客户端预测 + 服务器权威的模式:
客户端:执行本地预测移动,提供即时反馈
服务器:作为权威,验证移动是否有效
核心同步流程
客户端输入处理
服务器移动RPC
关键技术细节
移动压缩与序列化(SerializeCompressedShort)
客户端预测与重放(等待服务器响应时会维护一个移动队列)
3.网络带宽优化
量化向量(FVector_NetQuantize)
移动标志压缩(CompressedMoveFlags)
只发送变化的属性
批量移动处理(ClientMoveResponsePackedBits)
实际应用示例
以玩家前进为例,整个同步流程是:
客户端按下W键,本地角色立即开始移动
客户端发送ServerMove RPC给服务器
服务器验证移动是否合法(如检查速度、碰撞等)
服务器更新自己维护的角色位置
如果客户端预测有误,服务器发送ClientAdjustPosition纠正客户端
2. 用GAS框架遇到过哪些问题?改动过哪些内容?
3. 客户端预测有了解过吗?
4. 讲下项目的DS服务器职责
5. 讲下RPC
6. UE的navigation怎么实现的?
7. 讲下A* 算法
8. AI是怎么设计的? 遇到过小怪围住转身朝向的问题吗?
9. 顿帧和击飞怎么实现的,是给一个力吗?
10. 看过Slate的源码实现吗?
11. 客户端发送的时候怎么知道这次发送一定会发过去?
12. 项目中有用到右值引用吗?
13. combo连击怎么做的?
本文链接:
/archives/hui-zong
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
周几小屋!
喜欢就支持一下吧