客户端的多人碰撞问题

时间:2019-01-02 18:42:26

标签: c# unity3d networking

您好,我正在开发一款多人游戏,但是我的客户在被枪击时接收信息时遇到了问题。 我制作了一个附在播放器上的脚本。

预先感谢您的帮助。

[Command]
void CmdShoot(){
    GameObject bullet = (GameObject)Instantiate (_bulletPrefab, _canon.position, _canon.rotation);
    bullet.GetComponent<Rigidbody> ().velocity = bullet.transform.forward * _bulletSpeed;
    NetworkServer.Spawn (bullet);
}


void OnCollisionEnter(Collision coll){
    if (isLocalPlayer) {
        if (coll.gameObject.tag == "bullet") {
        Debug.Log ("hit");
        isHit = true;
        }
    }
}

当我在主机上时,一切运行正常,并且每次我碰到主机时,都可以在检查器中看到debug.log。 但是当我在客户端上时。 debug.log是不准确的,客户端仅收到信息的时间大约是1/3,有时它只能工作,有时却不能。就像有时客户找不到标记为“子弹”的游戏对象一样。任何人都有相同的问题,或者知道如何解决??

0 个答案:

没有答案