Некоторые пули не отображаются в многопользовательском режиме

Я разрабатываю игру-стрелялку в Unity, и у меня проблема с многопользовательским режимом при использовании многопользовательской платформы Unity (серверы Unity). Мои пули используют сетевую идентификацию и сетевое преобразование. Некоторые пули не появляются на той стороне, которая стреляет в них, но они видны на другой стороне, и ущерб получен. Вот мой сценарий стрельбы:

     [Command]
     public void CmdShoot(){
         this.transform.FindChild("gun").SendMessage ("CmdGunshoot");
     }

Вот мой сценарий оружия:

 using UnityEngine;
 using System.Collections;
 using UnityEngine.Networking;

 public class shoot : NetworkBehaviour {
     public GameObject bulletPref;
     public int power;
     private Transform spawner;
     public int damage;

     void Start () {
         spawner = this.transform.FindChild("Bspwaner");
     }

     [Command]
     public void CmdGunshoot (){
         GameObject bull = Instantiate(bulletPref, spawner.position, Quaternion.identity) as GameObject;
         bull.GetComponent<bullet>().dmg = damage;
         bull.gameObject.transform.GetComponent<Rigidbody>().AddForce(spawner.right * power);
         NetworkServer.Spawn (bull);
         Destroy(bull, 2.0f);
     }
 }

Вот мой сценарий пули:

using UnityEngine;
using System.Collections;
using UnityEngine.Networking;

public class bullet : NetworkBehaviour {

    public GameObject ie;
    public int dmg;

    void OnCollisionEnter(Collision other){
        Instantiate(ie, transform.position, Quaternion.identity);
        NetworkServer.Destroy (this.gameObject);
        if (other.gameObject.tag != "Player")
            return;
        other.gameObject.SendMessage ("takeDamage", dmg);
    }
}

В чем может быть проблема?

Заранее спасибо,

0 ответов

Другие вопросы по тегам