【发布时间】:2023-04-02 12:05:02
【问题描述】:
我的 Unity 项目正在使用 MLAPI 框架(UNet Transport)。我有一个服务器和 3 个客户端。服务器需要每帧向所有客户端发送 RPC 消息。每个客户端的数据流约为 2KB/帧。我的项目以 60FPS 运行。消息的传递和顺序不是必需的。
但是,服务器在运行时会弹出一些警告,例如“没有可用的消息事件”,然后所有连接的客户端都会自动断开连接。也许问题是广播频率太高,消息太大。但我真的很需要这些。
对 NetworkConfig 设置有什么建议吗?任何建议表示赞赏。
非常感谢!
更新: 我的项目正在使用动作捕捉系统,只有服务器可以接收动作数据。所以服务器需要将它广播给其他客户端。这就是为什么我需要每帧都这样做。
【问题讨论】:
-
为什么需要每帧发送一条消息?不知何故,这听起来不对;)
-
@derHugo 我的项目正在使用动作捕捉系统,但是只有服务器可以接收动作数据。服务器需要将运动数据广播给所有其他客户端。这就是为什么我需要每帧都这样做。
-
不,那不是真的...我很确定您的用户不会关心运动是否与 60 FPS 或 20 FPS 完全同步...您可能应该使用物理系统并仅每 0.2 秒发送一次更新,并在接收器处插入(例如 Lerp)
-
@derHugo 感谢您的重播。是的,这是一个解决方案。但我的项目不是传统游戏,它大部分时间都专注于身体运动。 (把它想象成一个舞蹈表演,不允许有脚滑之类的缺陷)所以它需要相当高的运动精度。我只是想试试如果我能做得更好:)
标签: unity3d unity3d-unet