镜像多人播放器颜色更新未显示在其他客户端上

时间:2021-06-02 02:11:43

标签: unity3d multiplayer mirror

下面的代码在播放器上,成功更新了用于该播放器的几种材料的颜色。这在游戏中被调用以在生成后更改颜色,并再次调用以将玩家更改回原始颜色。

 [Command]
 public void CmdHandlePlayerColorChange(Color newColor)
 {
     foreach (MeshRenderer mr in meshes)
     {
         currColor = newColor;
         mr.material.color = currColor;
     }
 }

但是,其他客户端不会拾取颜色变化(颜色保持与生成时设置的相同)。我尝试了 Command/ClientRpc(如下),但这导致另一个客户端崩溃。

 [ClientRpc]
 void RpcPlayerColorChange(Color newColor)
 {
     foreach (MeshRenderer mr in meshes)
     {
         currColor = newColor;
         mr.material.color = currColor;
     }
 }
 [Command]
 public void CmdHandlePlayerColorChange(Color newColor)
 {
     RpcPlayerColorChange(newColor);
 }

我感谢任何让其他客户接受颜色变化的建议。

0 个答案:

没有答案