Создание сервера
Прежде, чем Вы сможете начать играть в сетевую игру, Вы должны определить различные компьютеры, с которыми Вы будете общаться. Чтобы сделать это, Вы должны создать сервер. Это может быть машиной, которая также управляет игрой, или это может быть выделенная машина, которая не участвует в игре. Чтобы создать сервер, Вы просто называете Network.InitializeServer() из скрипта. Когда Вы хотите соединиться с существующим сервером как клиент, Вы называете Network.Connect() вместо этого.
Использование Network Views
Network View - Компонент, который посылает данные по сети. Network View делают Ваш GameObject способным к посылке данных, используя требования RPC или "государственную Синхронизацию". Network Views определит, как будут работать сетевые поведения Вашей игры. У Network View есть немного вариантов, но они невероятно важны для Вашей сетевой игры.
Удаленные вызовы процедуры Удаленные вызовы процедуры (RPC) являются функциями, объявленными в скриптах, которые присоединены к GameObject, который содержит Сетевое Представление. Network View должно указать на скрипт, который содержит функцию RPC. Функция RPC может тогда быть вызвана из любого скрипта в том GameObject.
Для получения дополнительной информации об использовании RPCs в Unity, пожалуйста, прочитайте страницу RPC Details page.
State Synchronization
"Государственная Синхронизация" - непрерывное передача данных всех клиентов игры. Этим путем положение игрока может быть синхронизировано со всеми клиентами. Чтобы "синхронизировать государство" в GameObject, Вы просто должны добавить NetworkView к тому объекту и сказать его, что наблюдать. Наблюдаемые данные тогда синхронизируются через всех клиентов в игре.
Network.Instantiate()
Network.Instantiate(), позволяет создать экземпляр определённого префаба на всех клиентах в естественном и легком способе. По существу это - Instantiate() но он создаёт экземпляр на всех клиентах.
Внутренне Network.Instantiate это просто буфер RPC вызова, который выполняется на всех клиентах (в том числе на месте). Он выделяет NetworkViewID и присваивает его экземплярам префаба, который делает, что он синхронизируется по всем клиентам правильно.
NetworkLevelLoad () Работа с обмена данными, состоянием клиента игроков и загрузки уровней может быть немного подавляющим. Network Level Load
Master Server
Master Server поможет вам соответствующие игры. Когда вы запускаете сервер для подключения к главному серверу, а также предоставляет список всех активных серверов.
Master Server является местом встречи для серверов и клиентов, где серверы рекламируемый и совместимые клиенты могут подключаться к запускать игры. Это предотвращает необходимость возиться с IP-адреса для всех участвующих сторон. Это может даже помочь пользователям принимать игры без них необходимости возиться с их маршрутизаторами, где при нормальных обстоятельствах, которые потребуются. Это может помочь клиентам обходить брандмауэр сервера и добраться до частного IP адреса, которые обычно не доступны через Интернет. Это делается с помощью посредника который облегчает установление соединения.
Источник: http://docs.unity3d.com/Documentation/Components/net-UnityNetworkElements.html |