Понедельник, 17 Декабря 2018, 16:26

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Создание общих объектов в unity (мультиплеер). (Кто разбирается в network подскажите..)
Создание общих объектов в unity (мультиплеер).
xxxlioДата: Среда, 23 Мая 2018, 14:36 | Сообщение # 1
частый гость
Сейчас нет на сайте
В общем так, делаю мультиплеер пока что через стандартный скрипт юнити Network.
На пустой объект на сцене добавил компоненты Network Manager И менюшку Network Manager HUD.
Игрока сделал прифабом и добавил компоненты Network Identity(local player) и Network Transform. Ну еще есть скрипт который отключает управление персонажем и камеру у не локального игрока. С этим проблем нет, каждый движется в своем направлении и каждый видит второго игрока.

Теперь, собственно вопрос. Если коротко то нужно одним игроком добавлять на сцену общий предмет. К примеру этот скрипт я закинул на игрока и при нажатии на "M" Должен появляться предмет из префаба на сцене и его должны видеть все игроки.

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

public class TestKub : NetworkBehaviour {

public GameObject Kub;

void SpawnObject(GameObject Kub)
{

GameObject go = GameObject.Instantiate(Kub); // серверную копию
NetworkServer.Spawn(go); // отправить сообщение спаун для клиентов

}


void Update () {


if (Input.GetKeyDown(KeyCode.M)) {


ClientScene.RegisterPrefab(Kub);

GameObject go = (GameObject)Instantiate(Kub, new Vector3 (500, 60, 500), Quaternion.identity);
NetworkServer.Spawn (go);

} } }

Получается следующее. Если М нажимает игрок который создаёт сервер, то все работает. А если это клиент (который подключился к серверу) то объект создается, но он виден только тому кто его создал. Как решить эту проблему. Может есть скрипт как передать команду серверу, а с него осуществить создание? Прбовал давать права клиенту вот так:
Player.GetComponent<NetworkIdentity>().AssignClientAuthority(this.GetComponent<NetworkIdentity>().connectionToClient);
Но все ровно ничего не выходит...
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Создание общих объектов в unity (мультиплеер). (Кто разбирается в network подскажите..)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2018 Рейтинг