Здравствуйте, я создаю многопользовательскую игру, и у меня проблема с тем, что мой клиент получает информацию, когда его застрелят.
я сделал скрипт, который прикрепил к плееру.
Заранее благодарю за помощь.
[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 времени, иногда это работает, иногда нет. похоже, иногда клиент не находит игровой объект с тегом «bullet». Кто-нибудь получил ту же проблему или знает, как это исправить ??