Всем привет. В общем, проблема такова: Сделал мультиплеер в игре, написал вот этот скрипт:
using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
public class Player : NetworkBehaviour {
public GameObject cube;
void Start(){
transform.position = GameObject.Find ("pos").transform.position;
transform.rotation = GameObject.Find ("pos").transform.rotation;
}
[Command]
void CmdCreate(){
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast (ray, out hit))
{
if (hit.collider.tag == "Terrain"){
var obj = (GameObject) Instantiate (cube, hit.point, Quaternion.identity);
NetworkServer.Spawn (obj);
}
}
}
void Update () {
if (!isLocalPlayer) {
return;
}
var x = Input.GetAxis ("Horizontal") * 3.0f;
var z = Input.GetAxis ("Vertical") * Time.deltaTime;
transform.Translate (0, 0, z);
transform.Rotate (0, x, 0);
if (Input.GetMouseButtonDown(0))
{
CmdCreate ();
}
}
public override void OnStartLocalPlayer(){
GetComponentInChildren<MeshRenderer> ().material.color = Color.blue;
}
}
Этот скрипт для создания префаба по клику мыши. В общем, в окошке, в котором нажимаю LAN Host префаб создаётся как раз-таки по клику мыши и в позиции курсора, но в окне, в котором нажимаю LAN Client префаб создаётся, но не в том месте, где находится курсор, либо вообще не создаётся.
Консоль ошибок не выводит, только одно предупреждение, когда запускаю LAN Host:
The prefab 'Object' has multiple NetworkIdentity components. There can only be one NetworkIdentity on a prefab, and it must be on the root object. UnityEngine.Networking.NetworkManagerHUD:OnGUI()
Мне кажется, что это парадоксально. Если нет, то в чём проблема?
Может проблема в рейкасте? Почему-то в окне Server всё нормально. А в окне Client объект некорректно ставится по клику мыши. И что самое парадоксальное - это то, что когда компилирую и запускаю игру с Unity, то объект в Client можно ставить сколько угодно (хоть и не корректно ставится), а когда с exe'шника запускаю, то в клиетне можно поставить объект лишь один раз. Я такое вижу впервые!!! ЭТО ПАРАДОКС!!!
Херня какая-то, честно!
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Если в FileExists(path), в path передать только имя файла, то где он будет его искать по дефолту?
Есть служба windows, которая занимается обновлением информации в разных БД , которые могут находится на разных серверахВ каждой из этих БД есть...
мне нужно создать условие, что если мы переходим на страницу '/brands' или '/brand'