Многопользовательская проблема столкновений на стороне клиента - PullRequest
0 голосов
/ 02 января 2019

Здравствуйте, я создаю многопользовательскую игру, и у меня проблема с тем, что мой клиент получает информацию, когда его застрелят. я сделал скрипт, который прикрепил к плееру.

Заранее благодарю за помощь.

[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». Кто-нибудь получил ту же проблему или знает, как это исправить ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...