от Single до Multiplayer

Сеть в Unity3D

от Single до Multiplayer

Сообщение goodwin 08 май 2011, 14:07

Есть сцена где Камера и Руки с Оружием(от 1 лица), с чего начать, чтобы осуществить переход с Сингл к Мульти? Кому не жалко может есть примеры. А то даже и не знаю что куда и зачем :)
И еще возможно ли сделать это все без стороннего сервера, а лишь общением между клиентами. Т.е. человек создал сервер остальные пишут его IP и подключаются :)
Изображение
FenceRoadCreator v2.0 - ограждения для дороги? легко!
Аватара пользователя
goodwin
UNIт
 
Сообщения: 62
Зарегистрирован: 29 апр 2011, 22:22

Re: от Single до Multiplayer

Сообщение goodwin 08 май 2011, 22:06

Сделал вроде так же как в примере с человечком с оф сайта выходит ошибка

Синтаксис:
Используется javascript
==> Local IP/port is 192.168.0.5/25000. Use this on clients to connect directly
 


Синтаксис:
Используется javascript
The referenced script on this Behaviour is missing!


Синтаксис:
Используется javascript
Network instantiated object, First Person Controller(Clone), has a missing script component attached
UnityEngine.Network:Instantiate(Object, Vector3, Quaternion, Int32)
SpawnPrefab:OnNetworkLoadedLevel() (at Assets/SpawnPrefab.js:5)
UnityScript.Lang.UnityRuntimeServices:Invoke(Object, String, Object[], Type)
ConnectGui:OnGUI() (at Assets/ConnectGui.js:47)
Изображение
FenceRoadCreator v2.0 - ограждения для дороги? легко!
Аватара пользователя
goodwin
UNIт
 
Сообщения: 62
Зарегистрирован: 29 апр 2011, 22:22

Re: от Single до Multiplayer

Сообщение Order 09 май 2011, 05:54

объект на сцене потерял связь со скриптом..
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: от Single до Multiplayer

Сообщение goodwin 14 май 2011, 13:48

Подскажите как решить проблему.

Создал Ферст Контролер и повесил НетворкВью и сделал Буилд.
Запустил у себя на компе и на ноуте, создал серв, ноутом подключился и получилось следующая лажа:
1. Управление стало общим
2. После соединения с ноута все объекты на сцене вернулись к исходному положению(кроме Игроков)
3. Сервер был на ПК, а подсоединялся с ноута, в итоге они поменялись игроками. На ПК персонаж встал там где был Спаун, а с Ноута при соединение персонаж был там где был ПК...
Изображение
FenceRoadCreator v2.0 - ограждения для дороги? легко!
Аватара пользователя
goodwin
UNIт
 
Сообщения: 62
Зарегистрирован: 29 апр 2011, 22:22

Re: от Single до Multiplayer

Сообщение goodwin 15 май 2011, 16:58

не ужели не кто не подскажет?? :( что делать все испробовал... заметил разницу в примере Networking у меня при заходе получаются два Player(Clone) а у них 1 Player(Clone) а остальные Player(Clone)Remote. Может в этом дело?
Изображение
FenceRoadCreator v2.0 - ограждения для дороги? легко!
Аватара пользователя
goodwin
UNIт
 
Сообщения: 62
Зарегистрирован: 29 апр 2011, 22:22

Re: от Single до Multiplayer

Сообщение HacKeR 15 май 2011, 22:02

в скриптах (First Person Controller и тд) на функцию Update нужно ставить условие. вроде бы
Синтаксис:
Используется csharp
if (параметр ид игрока){
//тут весь Update
}
HacKeR
UNIверсал
 
Сообщения: 360
Зарегистрирован: 12 ноя 2010, 21:14

Re: от Single до Multiplayer

Сообщение IDoNotExist 20 май 2011, 08:54

goodwin писал(а):Подскажите как решить проблему.

Создал Ферст Контролер и повесил НетворкВью и сделал Буилд.
Запустил у себя на компе и на ноуте, создал серв, ноутом подключился и получилось следующая лажа:
1. Управление стало общим
2. После соединения с ноута все объекты на сцене вернулись к исходному положению(кроме Игроков)
3. Сервер был на ПК, а подсоединялся с ноута, в итоге они поменялись игроками. На ПК персонаж встал там где был Спаун, а с Ноута при соединение персонаж был там где был ПК...

Насчет общего управления:
вам необходимо разделять user input в скрипте когда у вас клонируются объекты клиентов, тоесть у вас сейчас как я понимаю такая ситуация: вы создаете сервер, у вас сразу клонируется ваш персонаж и ловит Input а потом подключается клиент, клонируется еще один персонаж, и он тоже ловит Input, вам необходимо сделать в крипте некую переменную которая будет отключать все инпуты персонажей кроме вашего, смотрите в Networking tutorial сцену Car Racing, и скрипт CarNetworkInit там это довольно просто реализовано.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: от Single до Multiplayer

Сообщение olegas 22 май 2011, 10:35

Используй if (networkView.isMine){}
olegas
UNец
 
Сообщения: 17
Зарегистрирован: 01 янв 2011, 23:32

Re: от Single до Multiplayer

Сообщение goodwin 22 май 2011, 21:28

Да, извиняюсь, я забыл написать, проблему давно решил.
Синтаксис:
Используется javascript
if (!networkView.isMine)
{
        name += "Remote";
        GetComponent(CharacterMotor).enabled = false;
        GetComponent(MouseLook).enabled = false;
        GetComponent(FPSInputController).enabled = false;
}
 
Изображение
FenceRoadCreator v2.0 - ограждения для дороги? легко!
Аватара пользователя
goodwin
UNIт
 
Сообщения: 62
Зарегистрирован: 29 апр 2011, 22:22

Re: от Single до Multiplayer

Сообщение corrozian 10 июн 2011, 13:12

goodwin писал(а):Да, извиняюсь, я забыл написать, проблему давно решил.
Синтаксис:
Используется javascript
if (!networkView.isMine)
{
        name += "Remote";
        GetComponent(CharacterMotor).enabled = false;
        GetComponent(MouseLook).enabled = false;
        GetComponent(FPSInputController).enabled = false;
}
 

Была такая же проблема как у автора темы(общий контроль), воспользовался скриптом выше, приминив его к перфабу с плауер контролером(игрок что спаунится). Да общий контроль пропал, но появилась новая проблема, при входе игрока, камера прыгает на вновь созданного клона, а из за скрипта(выше написанный) контроль у нового игрока отрублен(для меня), то управлять невозможно(можно тока камеру вниз вверх двигать).
Если посматреть на все это дело со стороны то получаеться такая картина:
Входящий игрок не может управлять своим созданым персонажем но при нажатий клавишь движения, двигаеться игрок хоста(тот кто создал игру), а создавший в свою очередь перестает управлять своим игроком но на его клавиши контроля реагирует игрок(перфаб) присоеденившегося.
Что мне нужно сделать чтоб исправить данную делему, или может я чтото недопонял из выше написанного и сделал нетак?
Прошу помочь в данном вопросе, заранее спасибо.
corrozian
UNец
 
Сообщения: 16
Зарегистрирован: 10 июн 2011, 12:47

Re: от Single до Multiplayer

Сообщение corrozian 12 июн 2011, 11:45

Изъясняясь проще к выше сказанному, как сделать так, чтобы камера не перепрыгивала на присоединившегося игрока?
corrozian
UNец
 
Сообщения: 16
Зарегистрирован: 10 июн 2011, 12:47

Re: от Single до Multiplayer

Сообщение goodwin 15 июн 2011, 10:16

У меня на камере весит скрипт
Синтаксис:
Используется javascript
var target:Transform;
function SetTarget(target:Transform){
Camera.mainCamera.transform.parent = target;
}
 

А вызов происходит от префаба игрока:
Синтаксис:
Используется javascript
function OnNetworkInstantiate (msg : NetworkMessageInfo) {
        if (networkView.isMine)
        {
                Camera.mainCamera.SendMessage("SetTarget", transform);
        }
        else
        {
                name += "Remote";
                GetComponent(CharacterMotor).enabled = false;
                GetComponent(FPSInputController).enabled = false;
        }
}
 
Изображение
FenceRoadCreator v2.0 - ограждения для дороги? легко!
Аватара пользователя
goodwin
UNIт
 
Сообщения: 62
Зарегистрирован: 29 апр 2011, 22:22

Re: от Single до Multiplayer

Сообщение corrozian 16 июн 2011, 18:22

goodwin писал(а):У меня на камере весит скрипт
Синтаксис:
Используется javascript
var target:Transform;
function SetTarget(target:Transform){
Camera.mainCamera.transform.parent = target;
}
 

А вызов происходит от префаба игрока:
Синтаксис:
Используется javascript
function OnNetworkInstantiate (msg : NetworkMessageInfo) {
        if (networkView.isMine)
        {
                Camera.mainCamera.SendMessage("SetTarget", transform);
        }
        else
        {
                name += "Remote";
                GetComponent(CharacterMotor).enabled = false;
                GetComponent(FPSInputController).enabled = false;
        }
}
 


А камера у тебя отдельно стоит не с фест плауер контролером(не по стандарту)?
corrozian
UNец
 
Сообщения: 16
Зарегистрирован: 10 июн 2011, 12:47

Re: от Single до Multiplayer

Сообщение corrozian 16 июн 2011, 18:38

Спасибо все получилось (поставил камеру отдельно). И если не сложно не подскажешь команду, если есть, создания камеры которой еще не было создано.
corrozian
UNец
 
Сообщения: 16
Зарегистрирован: 10 июн 2011, 12:47


Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4