Итак, я делаю FPS-игру в Unity5, а несколько дней назад я начал смотреть на multiplayer tutorials на официальном сайте Unity.Камера хоста в сетевой игре работает неправильно
Однако, я немного изменил код, чтобы он поместился в FPS, но у меня возникла проблема, когда я начал это делать. Камера клиента двигалась нормально, но у хозяина не было: он использовал камеру клиента, чтобы видеть, но его игрок мог двигаться, вид третьего лица.
Все игроки имеют одинаковый код, а камера имеет идентификатор сети с включенным управлением локальным проигрывателем. Кроме того, он имеет этот сценарий C#:
using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
public class VisionControl : NetworkBehaviour {
void Start() {
Cursor.lockState = CursorLockMode.Locked;
}
void Update() {
if(!isLocalPlayer){
return;
}
transform.Rotate (new Vector3 (-Input.GetAxis ("Mouse Y")*5.0f,0.0f,0.0f));
}
}
Хост отлично работает, но когда клиент перемещает камеру, хост также перемещает камеру. Я думаю, это происходит потому, что клиенты отправляют информацию хосту, и хост интерпретирует его. – AlexINF
Вот почему камеры не должны быть подключены к сети ... Между игроками/сервером не должно быть связи между камерами. У каждого игрока есть камера для его собственного использования, сетевая камера не является хорошей идеей .... – MKougiouris
Да, но как сделать камеру только локально и не передавать данные каким-либо образом? – AlexINF