Некоторые пули не отображаются в многопользовательском режиме
Я разрабатываю игру-стрелялку в 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);
}
}
В чем может быть проблема?
Заранее спасибо,