项目概述
这是一个使用 UE5 与 C++ 实现的个人多人射击项目。实践围绕武器、命中判定、网络同步与完整对局流程展开,重点处理客户端命中表现与服务端判定不一致的问题。
武器与命中
项目实现了射线检测与实体弹丸两类武器。射线检测处理即时命中,实体弹丸保留飞行过程;子弹通过对象池进行生成与复用管理。
这部分内容连接了武器的表现、碰撞检测与命中结果,是后续网络同步实践的基础。
网络与延迟补偿
在多人环境中,客户端表现与服务端判定可能出现差异。项目实践了客户端预测与服务端回溯,处理双方对命中结果理解不一致的问题。
同时,通过 RPC 同步游戏时间及聊天信息。页面中的时序图用于说明相关系统的关注点,便于阅读项目结构。
对局流程
项目实现了死亡竞赛模式与比赛状态管理,并根据玩家之间的距离选择出生位置,把武器、命中与角色重生连接到同一套对局流程中。
实践范围
- 武器:射线检测、实体弹丸与子弹对象池。
- 网络:RPC、游戏时间同步、客户端预测与服务端回溯。
- 流程:死亡竞赛、比赛状态管理与出生位置选择。