Unity FishNet中Replicate未在非拥有端客户端调用问题排查
关于FishNet客户端预测与[Replicate]/[Reconcile]方法的问题
- 基于Unity结合FishNet框架开发客户端预测功能,Discord求助3天未得到回应
- 玩家控制器脚本已配置
[Reconcile]和[Replicate]方法,实现逻辑参考第三方示例,且已挂载NetworkTransform、NetworkObserver、PredictedObject组件
事件注册与逻辑实现
- 已注册TimeManager的
OnTick和OnUpdate事件 OnTick内逻辑:- 拥有端:执行Reconciliation、输入检测,调用Move方法
- 服务器端:执行Move、Reconciliation并发送同步数据
- 为提升移动流畅度,在
TimeManager_OnUpdate中处理拥有端的移动逻辑
当前问题
- 标记为
[Replicate]的Move方法中添加了非拥有端的调试日志,但该日志从未触发 - 拥有端移动时,服务器端能正常播放动画并同步移动,但非服务器端的客户端无法看到其他玩家的动画
- 我的理解是:
[Replicate]应该是拥有端发送MoveData到服务器,服务器执行后同步给所有客户端;[Reconcile]是服务器发送校验数据给所有客户端做状态校验,但实际观察到这两个方法仅在拥有端和服务器触发,非拥有端完全无响应,请问这是否属于正常行为?我在配置或逻辑上哪里出现了错误?
问题演示动图
- 服务器客户端到非服务器客户端:

- 非服务器客户端到服务器客户端:

内容的提问来源于stack exchange,提问作者wesleywh
相关产品推荐
相关产品推荐

