Пятница, 29 Марта 2024, 18:04

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Урок по мультиплееру
Урок по мультиплееру
LeerdДата: Воскресенье, 13 Марта 2011, 18:19 | Сообщение # 1
был не раз
Сейчас нет на сайте
Это урок покажет суть использования встроенных возможностей Unity сетей.
И так приступим.
Unity поддерживает .NET 1.1 и 2.1 версии.
Вы можете включить или выключить сеть в: Edit -> Project Settings -> Player
-> Enable Unity Networking.
Сеть Unity поддерживает wifi, 3G и GSM связь.
Вы можете подключатся между различными сборками. Например вы
можете создать сервер на компьютере и подключится к нему с iPhone, или запустить в Unity Web
Player а подключится с Unity iPhone, и так далее.

Создание своего первого Клиент или Серверного приложения

В этой главе мы рассмотрим основы, необходимые для создания простого мультиплеерного приложения.
Мы создадим первый пример в котором реализуем передвижение объектов по сети
и установку связи между Клиентом и Сервером. Пример использует базовые сетевые компоненты,
такие как: Network и NetworkView. Мы будем использовать прямое подключение для связи
Клиента с Сервером.

Подготовка сцены

Теперь давайте начнем с создания простой сцены. Ваши первые шаги:

Создать новый проект.

Создать новый Prefab и изменить его имя на Player: Assets -> Create -> Prefab.

Создать приметив Куб: GameObject -> Create other -> Cube.

Перетащите Куб с Hierarchy вкладки в Player Prefab который находится в Project вкладке и
затем удалите Куб со сцены.

Создайте новую Плоскость и переименуйте ее в Ground: GameObject -> Create other ->
Plane. Параметры Плоскости должны быть такими: Position (0,0,0), Rotation (0,0,0),
Scale (5,5,5) (Можно использовать други но для этого урока будут использованы эти параметры)
.
Создайте источник света Directional Light: GameObject -> Create other -> Directional Light.

И наконец, сохраните Сцену и дайте ей имя MainGame: File -> Save Scene.

Сервер и Клиент

Начинаем с наиболее важной задачи — создания Сервера и Клиента:
Создайте новый JavaScript файл и переименуйте его в ConnectionGUI: Assets -> Create ->
JavaScript.
Добавте файл путем перетаскивания к объекту Main Camera во вкладке Hierarchy, потом
откройте этот файл и создайте несколько переменных:

Теперь мы создадим интерфейс, используя GUI для создания Сервера и подключения к нему:

Обратите внимание на функцию ниже. Эта функция вызывается каждый раз, когда есть успешное соединение
с Сервером. Когда это произойдет ,мы говорим всем объектам , что сцена и сеть готовы работать.

Теперь вы можете проверить ваш Сервер и Клиент. Измените Player Settings (Edit -> Project
Settings -> Player) чтобы настроить iPhone Bundle Identifier и перейти по умолчанию
Ориентация экрана к правому углу. Скомпилируйте свой проект iPhone и создайте
Сервер в редакторе. Попробуйте подключится к Серверу используя IP адрес его можно увидеть
на экране Сервера — если все пойдет нормально то вы увидите кнопку “Disconnect”
и ваш IP адрес на обоих экранах. Чтобы все работало ,приложения должны быть в одной и той же сети.

Сцена и Создание Объектов по сети

Теперь нам надо добавить сетевые компоненты вашему Player (Cube) и написать код
на его экземпляр :
Выберите Player Prefab и добавьте к нему NetworkView: Components -> Miscellaneous-> NetworkView.
Когда компонент появится на объекте измените состояние State Synchronization
в Reliable Delta Compressed. Это необходимо для того, чтобы показать
перемещение всем игрокам.
Добавьте Rigidbody к вашему Player Prefab: Select Prefab -> Component -> Physics
-> Rigidbody.

Теперь мы будем создавать вашего Player и объектов по сети:
Создайте пустой GameObject и переименуйте в Spawn. Параметры Объекта: Position (0,5,0),
Rotation (0,0,0), Scale (1,1,1).
Создайте новый JavaScript и измените имя на Instantiate.
Откройте этот JavaScript и впишите туда этот код:

Добавьте JavaScript на объект Spawn: Select Spawn Object -> Component ->
Scripts -> Instantiate.
Выберите объект Spawn и измените параметр Player на “Player (Trans-
form)” выбрав объект из списка.
Если вы проверяете пример то вы увидите ,что Сервер и каждый подключенный пользователь
имеют свои собственные Player (Cube).
Сейчас мы создадим простой тест:
Создайте новый JavaScript и переименуйте его в Control.js.
Добавьте этот код в файл:

Добавьте этот файл объекту Spawn в Hierarchy вкладке.
Скомпилируйте ваш проект, создайте сервер и подключитесь к нему. Теперь вы можете видеть,
что каждый может перемещать свои Player (Cube).

Жду плюсиков;)
И Удачи!)




Сообщение отредактировал Leerd - Воскресенье, 13 Марта 2011, 18:21
HacKeRДата: Воскресенье, 13 Марта 2011, 18:39 | Сообщение # 2
Злой Ангел
Сейчас нет на сайте
Quote (Leerd)
Жду плюсиков;)

за то, что чуть переписал стандартный урок с wiki.unity3d.ru?


Жизнь это игра - хреново задумана но графика обалденная.....
Программирую на С++

Мой личный Мой новый блог (создан 22.08.2011)
LeerdДата: Воскресенье, 13 Марта 2011, 18:55 | Сообщение # 3
был не раз
Сейчас нет на сайте
Что это за сайт?Он у меня даже не грузиться)

nik3392Дата: Среда, 16 Марта 2011, 19:35 | Сообщение # 4
частый гость
Сейчас нет на сайте
спасибо за урок

Добавлено (16.03.2011, 19:35)
---------------------------------------------
тебе +


Сайт по CryEngine 3: www.cryengine3.3dn.ru
cvbncvДата: Понедельник, 11 Апреля 2011, 16:52 | Сообщение # 5
участник
Сейчас нет на сайте
Quote (Leerd)
Что это за сайт?Он у меня даже не грузиться)

Давай еще скажи, что ты этот урок сам писал.


Мои проекты:
Cubez! - http://gcup.ru/forum/9-15867-1
Bungee Amster - http://gcup.ru/forum/9-17140-1
SCOURGEДата: Понедельник, 11 Апреля 2011, 17:41 | Сообщение # 6
почетный гость
Сейчас нет на сайте
Вот та-же самая статья! angry
http://blogs.unity3d.ru/2010/04/unity-multiplayer-tutorial-startrooper/


Сообщение отредактировал SCOURGE - Понедельник, 11 Апреля 2011, 17:48
cvbncvДата: Понедельник, 11 Апреля 2011, 18:12 | Сообщение # 7
участник
Сейчас нет на сайте
SCOURGE, причем там еще есть скриншоты и разделение по главам

Мои проекты:
Cubez! - http://gcup.ru/forum/9-15867-1
Bungee Amster - http://gcup.ru/forum/9-17140-1
SCOURGEДата: Понедельник, 11 Апреля 2011, 18:29 | Сообщение # 8
почетный гость
Сейчас нет на сайте
cvbncv, Ага
Alexandr2Дата: Вторник, 12 Апреля 2011, 19:27 | Сообщение # 9
частый гость
Сейчас нет на сайте
Есть неточности,и вообще за плагиат какие нафиг плюсы...

QWER56Дата: Четверг, 28 Апреля 2011, 17:55 | Сообщение # 10
старожил
Сейчас нет на сайте
За то что выложил полезный урок +. А за то, что плагиат -.
И того 0. smile
Quote (Leerd)
var remoteIP = "127.0.0.1";

Так это локалка! А если через интернет делать, если у вас статичный ip, то там ещё с UDP\TCP портами мудить.


ConsMark - поисковик по интернет магазинам.
xmardexДата: Среда, 12 Сентября 2012, 18:45 | Сообщение # 11
был не раз
Сейчас нет на сайте
Видео урок по мультиплееру:


Сообщение отредактировал xmardex - Среда, 12 Сентября 2012, 18:45
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Урок по мультиплееру
  • Страница 1 из 1
  • 1
Поиск:

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