Unity3d Photon角色移动不同步

Posted

技术标签:

【中文标题】Unity3d Photon角色移动不同步【英文标题】:Unity3d Photon character movement not synchronous 【发布时间】:2014-05-03 15:28:49 【问题描述】:

我是 unity3d 上的光子初学者。我想在游戏中同步移动角色。我将脚本作为观察者附加到光子视图并使用此代码

void OnPhotonSerializeView(PhotonStream stream,PhotonMessageInfo info)

    if (stream.isWriting)
    
        Debug.Log("writing");
        stream.SendNext(transform.position);
        stream.SendNext(transform.rotation);

    
    else
    
        Debug.Log("reading");
        this.correctPlayerPos = (Vector3)stream.ReceiveNext();
        this.correctPlayerRot = (Quaternion)stream.ReceiveNext();
    

问题是创建房间的玩家可以改变玩家的位置和旋转,它只能写。但是第二个玩家(加入房间)不能改变位置和旋转,它只能阅读。 我的设置可能有什么问题。

为此,我已按照马可波罗教程 (http://doc.exitgames.com/en/pun/current/tutorials/tutorial-marco-polo)。任何帮助都非常感谢。

【问题讨论】:

【参考方案1】:

如果您通过 PhotonNetwork.Instantiate 为每个玩家实例化一个游戏对象,那么每个客户端都有自己的游戏对象,该客户端可以为其编写更新。

【讨论】:

以上是关于Unity3d Photon角色移动不同步的主要内容,如果未能解决你的问题,请参考以下文章

Photon Unity:变量不使用 PunRPC 同步

Unity 中的 AI 角色与 Photon View

如何使用 Photon 准确同步触发动画?

如何在 Unity 中将 Sprite Flip 与 Photon2 同步

如何通过Photon PUN同步变量

unity的PUN如何同步自定义脚本