Как сделать стратегию на unity

Основы многопользовательской игры на Unity3D

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Я, как и многие из вас, большой поклонник многопользовательских игр. В них меня прельщает в основном дух соревнования и возможность приобретать улучшения, накапливая достижения. Да и сама идея выхода в свет все большего количества игр данного типа побуждает к действию.
С недавнего времени я и сам взялся за разработку собственного проекта. И поскольку на Хабрахабре статей на эту тематику не нашел – решил поделиться своим опытом написания многопользовательской игры на движке Unity3D. Также хочу рассказать о компонентах Network и NetworkView, атрибуте RPC и встроенных методах-ивентах. В конце статьи подан пример игры и, разумеется, сам проект для Unity. Итак…

Класс Network

Данный класс нужен для организации соединения «клиент-сервер». Основные функции: создание сервера, подключение к серверу, создание сетевого экземпляра префаба.

Основные методы:

Network.Connect (string host, int remotePort, string password = «») – выполняет подключение к серверу host с портом remotePort и паролем password. Метод возвращает перечисление NetworkConnectionError.

Network.InitializeSecurity() – вызывается перед Network.InitializeServer() для защиты от читерства. Подробности в официальной документации. Не вызывать на клиенте!

Network.Instantiate(Object prefab, Vector3 position, Quaternion rotation, int group) – создает экземпляр префаба prefab в сети в позиции position с поворотом rotation и группой group. Возвращает весь созданный объект, с которым после создания можно выполнить дополнительные действия. Подробности – далее в статье.

Основные свойства:

bool Network.isClient и bool Network.isServer – определяют, является ваша игра сервером либо клиентом. Оба свойства являются false, если не был создан сервер или не было подключения к серверу.

string Network.incomingPassword – свойство задает пароль для входящих подключений.

NetworkPlayer Network.player – возвращает экземпляр локального игрока NetworkPlayer.

NetworkPeerType Network.peerType – возвращает текущее состояние подключения: Disconnected (отключен), Server (запущен как сервер), Client (подключен к серверу), Connecting (попытка, в процессе подключения).

NetworkPlayer[] Network.connections – возвращает всех подключенных игроков. На клиенте возвращает только игрока сервера.

Основные ивенты (для унаследованного от MonoBehaviour):

OnConnectedToServer() – вызывается на клиенте при успешном подключении к серверу.

OnDisconnectedFromServer(NetworkDisconnection info) – вызывается на клиенте при отключении от сервера и на сервере при завершении подключений Network.Disconnect(). В info содержится причина отключения: LostConnection (потеря связи) и Disconnected (при успешном отключении).

OnFailedToConnect(NetworkConnectionError error) — вызывается на клиенте при ошибке подключения. error содержит ошибку типа NetworkConnectionError.

OnNetworkInstantiate(NetworkMessageInfo info) — вызывается на клиенте и сервере, если был создан новый экземпляр методом Network.Instantiate(). Содержит info типа NetworkMessageInfo.

OnPlayerConnected(NetworkPlayer player) — вызывается на сервере при успешном подключении клиента и содержит player типа NetworkPlayer.

OnPlayerDisconnected(NetworkPlayer player) — вызывается на сервере при отключении клиента и содержит player типа NetworkPlayer.

OnServerInitialized() — вызывается на сервере, после того как сервер был успешно создан.

OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info) — важный ивент для синхронизации компонента с сетью. Подробности – далее в статье.

Класс NetwokView
Основные методы:

networkView.RPC(string name, RPCMode mode, params object[] args) — вызывает удаленную процедуру name, mode определяет получателей, args – аргументы для передачи процедуре.

networkView.RPC(string name, NetworkPlayer target, params object[] args) – то же, что и предыдущий метод, однако выполняет отправку конкретному игроку NetworkPlayer.

Основные свойства:

bool networkView.isMine – свойство, определяющее, является ли объект локальным. Весьма часто используется для проверки владельца объекта.

Component networkView.observed – компонент, который будет синхронизироваться. Если это скрипт, то он должен содержать метод OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info), упомянутый выше.

NetworkPlayer networkView.owner – свойство, возвращающее владельца объекта.

NetworkStateSynchronization networkView.stateSynchronization — тип синхронизации: Off, ReliableDeltaCompressed, Unreliable.

NetworkViewID networkView.viewID — уникальный идентификатор в сети для NetworkView.

Атрибут RPC
Метод OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)

Данный метод используется для синхронизации компонента в сети. Он вызывается всякий раз при получении либо отправке данных по сети.
Вот типы данных, которые могут быть получены/отправлены методом Serialize: bool, char, short, int, float, Quaternion, Vector3, NetworkPlayer, NetworkViewID.
Для проверки, идет ли прием либо передача, используются свойства isReading или isWriting.

Привожу пример использования:

Данный пример не идеален, поскольку при его работе наши объекты будут «дергаться». Чтобы избежать этого, нужно воспользоваться интерполяцией. Подробнее – далее в статье.

Интерполяция

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Подробнее о методах оптимизации синхронизации по сети смотрите на сайте разработчиков: Valve Developer Community — Source Multiplayer Networking

Пример многопользовательской игры

Итак, имея представления об основах, можно приниматься за написание небольшой многопользовательской игры. В качестве примеров я использую разные способы применения NetworkView. Вам остается лишь выбрать для себя наиболее удобный способ.

Создаем скрипт ServerSide.cs и пишем туда следующее:

Теперь создаем скрипт клиента ClientSide.cs:

Таким образом, клиентская и серверная логика есть, теперь для нее нужно сделать управление MainMenu.cs:

Управление сетью создано. Далее пишем управление игроком PlayerControls.cs. В данном примере я использую другой способ применения компонента NetworkView:

Знаю, что синхронизация и управление должны находиться раздельно, но для примера я решил объединить их. Как вы заметили, здесь NetworkView создается во время инициализации скрипта. На мой взгляд, это более удобный способ для защиты от возможного «забыл добавить» (разумеется, если не написано RequireComponent( typeof( Rigidbody ))), а также уменьшает в инспекторе количество компонентов на объекте.
К примеру, у меня был случай: когда, на первый взгляд, все было сделано правильно, однако мой скрипт не делал интерполяцию, и все мои действия в синхронизации игнорировал. Так вот ошибкой оказалось то, что Observed был не моим скриптом, а трансформ объекта.

Итак, теперь у нас есть все необходимые скрипты для написания мини-игры.
Создаем пустой объект и назначаем ему скрипты MultiplayerMenu, ServerSide, ClientSide.
Создаем плоскость и немного опускаем.
Создаем префаб игрока (в моем примере это будут шары). Создаем объект «сфера», назначаем ему скрипт PlayerControls и добавляем в префаб. Префаб перетягиваем на ClientSide в поле Player Prefab.
На этом все, компилируем проект (не забывая в настройках игрока включить Run in background) и запускаем несколько раз. В одном из окон жмем сервер, на остальных – клиент, и смотрим на результат.

Ссылка на проект.
*В проекте могут быть логические ошибки, но на суть данной статьи они не влияют.

Всех благодарю за внимание!
Желаю успехов в создании многопользовательских игр!

Источник

Создаем игру для WebGL с помощью Unity 5 и JavaScript

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Unity – это кроссплатформенный игровой движок, позволяющий создавать игры для ПК, консолей, мобильный устройств и веб-сайтов. Последняя версия движка (Unity 5) имеет возможность экспорта в WebGL, благодаря чему разработчики могут без труда публиковать свои игры в вебе. Как следует из названия, данный экспортер использует WebGL – JavaScript API для рендеринга интерактивной компьютерной 3D графики, а также asm.js – подмножество JavaScript, которое было разработано компанией Mozilla и преподносилось как «язык ассемблера для веба». Больше информации о Asm.js и WebGL для Unity и Unreal Engine доступно здесь.

В этом уроке я хочу показать, как настроить работу с Unity. А также продемонстрирую, как создать простую игру на Unity с помощью JavaScript и выполнить ее экспорт для веба.

По окончании урока у вас получится вот такая игра (для просмотра потребуется браузер с поддержкой WebGL). Проект также доступен для скачивания из репозитория на GitHub.

Несколько слов о JavaScript в Unity

Говоря о JavaScript в Unity, мы подразумеваем нечто вроде диалекта JS под названием UnityScript. И хотя сами специалисты из Unity называют этот язык JavaScript, более скептично настроенные пользователи интернета полагают, что поддержка JavaScript в Unity – это маркетинговая уловка. Так или иначе, нужно сразу сделать оговорку, что UnityScript не соответствует спецификации ECMAScript, и никто даже не делает попытки устранить эти несоответствия.

Устанавливаем Unity

Для начала нам нужна рабочая версия Unity, скачать ее можно здесь. Файлы установки доступны для Windows и для Mac OS X. Пользователи Linux могут запустить Unity с помощью Wine или использовать другой удобный способ.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

После установки можем приступать. Откроем Unity и создадим новый 3D проект.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Настраиваем проект

Теперь, когда программа открылась, давайте кратко пройдемся по основному интерфейсу:

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Создаем героя

Герой в нашей игре будет прыгать вверх с одной платформы на другую. Если ему не удастся вовремя заскочить на одну из них, он упадет в пропасть и проиграет. Мы начнем с создания героя. Поскольку игра будет от первого лица, внешность героя не имеет никакого значения, и мы можем использовать вместо него стандартную сферу. Плюс в том, что сфера быстро создается, и ее физические характеристики отлично подходят для прыжков по платформам. Добавим ее, выбрав Create в панели Hierarchy и отредактировав следующие параметры во вкладке Inspector:

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity
Нажмем кнопку Play, чтобы проверить результат. На экране должно появиться 3D пространство со сферой на фоне горизонта.

Чтобы сфера падала, у нее должен быть вес. Выходит, нам нужно добавить к ней новый компонент, нажав в панели Inspector кнопку Add Component и выбрав Rigidbody. Так как мы не хотим, чтобы сфера вращалась, нужно зафиксировать ее положение с помощью компонента Rigidbody. Для этого откройте Constraints и выберите все оси в строке Rotation. Проиграйте сцену еще раз и вы увидите, что теперь сфера падает.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Чтобы предотвратить бесконечное падение сферы, создадим нечто вроде платформы. Для этого добавим плоский куб со значением Scale.Y, равным 0.1. Проиграйте сцену еще раз и убедитесь, что сфера успешно приземляется на платформу. Но, стоит отметить, всё это выглядит не очень естественно. Как же заставить сферу подпрыгивать? Для этого нам пригодятся физические материалы.

Наделяем сферу физическими свойствами

Прежде всего, создадим для нашей сферы физический материал, который позволит ей отпрыгивать от поверхности соприкосновения. Для этого нужно создать в папке Assets новую подпапку Materials. Внутри этой подпапки создадим новый физический материал и назовем его Bouncy_Sphere. Вот значения, которые мы должны указать в панели Inspector:

Dynamic Friction: 10
Static Friction: 10
Bounciness: 1
Friction Combine: Maximum
Bounce Combine: Maximum

Если мы добавим этот материал в Sphere Collider, сфера будет подпрыгивать, но всегда на одинаковую высоту. Чтобы она подпрыгивала с каждым разом выше, нужно добавить физический материал и для платформы. Создадим еще один материал под названием Bouncy_Platform и применим к нему следующие значения:

Dynamic Friction: 0.9
Static Friction: 0.9
Bounciness: 1
Friction Combine: Average
Bounce Combine: Multiply

Чтобы не запутаться, переименуем наш плоский куб-платформу на Platform, кликнув по нему дважды в панели Hierarchy. Теперь, начав игру, вы увидите, что сфера с каждым разом подпрыгивает выше.

Также создадим новый стандартный материал под названием Platform, чтобы появилась возможность дать платформе какой-нибудь цвет. Создав его, вставьте цвет #C8FF00 напротив значения Albedo, а затем перетащите этот материал на элемент платформы. Теперь платформа должна стать желтой.

Добавляем вид от первого лица

Для этого нужно в панели Hierarchy перетащить камеру на сферу. В результате камера станет дочерним элементом сферы и будет двигаться вместе со сферой. Камере также необходимо задать некоторые дополнительные настройки:

Помимо этого добавим фонарь в качестве второго дочернего элемента сферы. Он поможет игроку иметь представление о высоте прыжка сферы в любой момент игры. Параметры фонаря выглядят следующим образом:

Настраиваем управление в игре

Наша цель – использовать мышь или трекпад, чтобы позволить игроку двигать сферу в определенном направлении. С этой целью мы напишем первый скрипт. Как и в случае с Rigidbody, скрипт добавляется к элементу игры в качестве компонента. В нашем примере мы добавим JS-скрипт под названием InputController к камере. Так же, как мы это делали со сценой и материалами, создадим в панели Project новую папку под названием Scripts, в которой и будет находиться наш скрипт. Двойной клик по новому скрипту откроет стандартный для Unity редактор MonoDevelop. Его можно заменить на любой другой редактор (Unity > Preferences > External Tools), но сейчас это не имеет никакого значения.

Как видно, в скрипте уже имеется какой-то код. Прежде всего, создадим несколько переменных под первой строкой с текстом #pragma strict (включает принужденное определение типов в Unity):

Первой идет общедоступная переменная, принадлежащая к типу GameObject. Она обозначает сферу. Вернемся к Unity, по прежнему оставив камеру выбранной. Мы увидим, что эта общедоступная переменная находится рядом с пустым полем для ввода. Перетащим сферу на данный участок, таким образом присвоив значение этой переменной.

Две остальные переменные – закрытые, им будут присвоены значения в функции Start. Эта функция вызывается всего один раз, после запуска сцены. Обоим закрытым переменным будет присвоена половина ширины и высоты экрана соответственно. Для этого мы используем встроенный класс Screen:

Единственное, что осталось реализовать в скрипте InputController – получение данных о положении и передвижении мышки. Для этого мы воспользуемся функцией Update, которая вызывается для каждого кадра:

Каждая из двух новых переменных x и z обозначает соответствующую ось. Когда мы смотрим вдоль оси y, мы видим горизонтальную ось x и вертикальную ось z. Мы будем менять положение сферы на этих осях в зависимости от данных, полученных с мышки. Нам понадобится статическая переменная Input.mousePosition, возвращающая двухмерный вектор. Вектор, нулевое значение которого приходится на нижний левый угол, должен переместиться в нашей системе координат на середину экрана. Следующий фрагмент кода демонстрирует такую трансформацию координат. Наконец, вызовем функцию setHeroPosition с обоими рассчитанными значениями в качестве аргументов. Мы запишем эту функцию в новый скрипт HeroController, привязанный к сфере:

Проверим, как работает наш код: подвигаем мышку или трекпад, чтобы сфера упала с платформы.

Реализуем процедурное создание платформ

Для автоматического создания платформ нам нужно нечто вроде шаблона платформы. В Unity такие шаблоны называются префабами. Чтобы создать префаб, необходимо перетащить платформу из панели Hierarchy в новую подпапку Prefabs папки assets. Префабы легко распознать в панели Hierarchy по голубому цвету. Все платформы, за исключением первой, будут создаваться с помощью нового скрипта GameManager, привязанного к камере. Сначала в скрипте обратимся к необходимым переменным:

Нужно обратиться к панели префаба и сфере, потому нужно перетащить их на соответствующе участки редактора. Мы также создаем три закрытых переменных, которые будут использоваться для создания экземпляра панели префаба.

Затем добавим код для получения положения следующей панели. Поместим этот код в дополнительную функцию, чтобы сохранить общую читабельность:

Добавляем меню игры

На данном этапе игрок может прыгать по платформам выше и выше, двигая мышку в нужном направлении. Но если он промахнется, то будет бесконечно падать вниз. Нужно это исправить. Отныне, если сфера упадет ниже первой платформы, на экране будет появляться новая сцена.

Для отслеживания состояния игры мы воспользуемся новой функцией:

В данном случае мы используем класс Application, позволяющий с помощью метода LoadLevel загрузить новую сцену Menu. Для этого сначала создадим сцену, выбрав File > New Scene, и сохраним ее под названием Menu. Затем нам нужно добавить обе сцены в процесс сборки. Настройки сборки доступны во вкладке File > Build Settings. Не закрывая сцену с меню, нажмите кнопку Add Current и добавьте сцену в настройки сборки. Повторите то же действие с открытой сценой уровня. Теперь по завершении игры у вас на экране будет появляться только что созданная сцена с меню игры.

Добавляем кнопку для начала игры

Чтобы в игру можно было поиграть, нужно добавить в меню кнопку для ее запуска. Потому вернемся к настройкам сцены меню игры и изменим прежде всего параметры камеры в панели Inspector:

Clear Flags: Solid Color
Background: #000
Width: 200
Height: 60

Чтобы добавить кнопку, мы воспользуемся элементами пользовательского интерфейса Unity, которые могут быть добавлены как 3D элементы через панель Hierarchy. После добавления кнопки интерфейса в Hierarchy должны появиться следующие элементы: EventSystem и Canvas вместе с дочерним элементом Button и его дочерним элементом Text.

Canvas – это контейнер для всех элементов интерфейса, его можно сделать в некотором смысле адаптивным. Для этого нужно в панели Inspector переключить настройку Canvas Scaler: UI Scale Mode с Constant Pixel Size на Scale With Screen Size. Теперь можно менять положение кнопки:

Убрав исходное изображение кнопки и выставив ее цвет на #C8FF00, мы придадим меню чуть более приличный вид. Теперь поменяем текст в элементе Text на PLAY PREJUMP и выставим шрифт 16-го кегля. Чтобы кнопка заработала, воспользуемся новой функцией, которую мы добавим в новый скрипт UIController для элемента Button. Скрипт состоит всего из одной функции, загружающей сцену уровня:

Эту функцию можно применить в опциях кнопки в панели Inspector. В настройках компонента Button (Script) можно сделать так, чтобы функция выполнялась, когда пользователь кликает данный компонент. С этой целью мы добавим новую функцию к событию On Click (), нажав иконку +. Теперь можно перетащить саму кнопку на поле ввода. Затем выберем только что написанную функцию из скрипта UIController (UIController.StartGame).

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Публикуем проект как браузерную игру для WebGL

С Unity вы можете экспортировать ваш проект как приложение для WebGL. Откройте настройки сборки и выберите WebGL в качестве платформы. Затем подтвердите выбор, нажав кнопку Switch Platform. После этого остается только нажать кнопку Build и выбрать название для игры. По завершении сборки откройте html-файл с помощью любого браузера, поддерживающего WebGL.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Дальнейшие шаги

Конечно же, нашу небольшую игру можно улучшить. К примеру, добавить подсчет очков, разные типы платформ, дополнительные методы ввода, звуки и так далее. Главное, что мы увидели в данном уроке, это то, что кроссплатформенный игровой движок Unity предоставляет хорошее сочетание WYSIWYG-редактора и возможностей скриптов, создаваемых на похожем на JavaScript языке. В зависимости от конкретных требований проекта, Unity может стать достойной альтернативой WebGL-фреймворкам.

А вы используете Unity в ваших проектах? Есть ли у вас примеры интересных игр, написанных с помощью этого движка? Жду ответов в комментариях под записью.

Источник

Первые шаги в Unity

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Привет, Хабр. Материал подготовлен для тех, кто только начинает осваивать unity.

Unity — это один из самых популярных движков на данный момент. Составить ему конкуренцию может разве что Unreal Engine 4, но что у первого, что и у второго есть свои плюсы и свои минусы. Unity поддерживает почти 30 платформ, в их числе мобильные, виртуальная реальность, настольные компьютеры, консоли и так далее. Unity — это не просто хороший вариант для старта, это идеальный вариант для старта! Тут заложено использование гибкой модульной системы при создании сцен и персонажей в игре. Даже новичок способен создать крутой проект, используя готовые спрайты и конструктор движка.

Если же считаете, что готовы погрузиться с головой в «кирпичную систему» для продвинутых, то тут есть возможность настройки практически любого компонента. К примеру, разработка своего собственного шейдера или же переписать сетевой стек для потребностей своей игры.

Так с чего же начать работу на Unity и реализацию своего проекта?

Первым шагом будет установка ПО. На официальном сайте есть четыре разных версии программы для установки. Какую же выбрать? Всё по порядку. Версии представляют собой одинаковые функции движка.

Если вам интересно, вот что означают эти три варианта:

Unity Personal: эта версия бесплатна. Однако ваша компания должна зарабатывать менее 100 000 долларов за финансовый год. Еще одна загвоздка в том, что в каждой игре будет отображаться заставка «Сделано Unity», которую нельзя удалить.

Unity Plus: эта версия стоит 35 долларов в месяц. Он поставляется с инструментами отчетности о производительности, оболочкой Unity Pro и некоторыми дополнительными функциями. Эта версия требует, чтобы ваша компания зарабатывала менее 200 000 долларов в год, и она позволяет отключать или настраивать заставку «Сделано Unity».

Unity Pro: это самый высокий доступный уровень. Он стоит 125 долларов в месяц и поставляется с полезными сервисами Unity, профессиональными надстройками для iOS и Android и не имеет заставки. Ограничения по доходу тоже нет.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Также можно присмотреться к версии Enterprise, где стоимость подписки определяют пользовательские потребности.

Самые явные различия представленных версий — это то, что в Enterprise игры должны начинаться с заставки Unity. А в платных версиях можно удалить или загрузить другую заставку.

Плюс есть довольно интересные сервисы в Unity, к примеру, Cloud Build и Analytics. Естественно, они существуют только в платных версиях.

Для начала работы будет достаточно персональной версии, поэтому нажимаем кнопку «начать». Это приведёт к странице загрузки, нажимаем «принять условия и загрузить». Начнётся загрузка.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Первым установится Unity Hub

Unity Hub — это автономное приложение, которое упрощает процесс поиска, загрузки и управления вашими проектами и установками Unity.

Если вы запустите редактор Unity без установленного концентратора, Unity предложит вам установить его. Если у вас есть лицензия от предыдущей версии Unity, вы можете создать пустой проект из приглашения установки Hub. Если впоследствии вы попытаетесь создать или открыть проект из редактора Unity, Unity предложит установить Hub.

Создание проекта

Чтобы создать новый проект (и указать, в какой версии редактора его открыть), выполните одно из следующих действий:

Щелкните кнопку New. В строке заголовка диалогового окна «Новый проект» отображается версия редактора, которую должен использовать проект.

Щелкните стрелку раскрывающегося списка рядом с кнопкой «Создать», чтобы выбрать версию редактора, которую вы хотите использовать. Примечание: это раскрывающееся меню доступно только в том случае, если вы установили несколько версий редактора в хабе.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Вкладка «Проекты»

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Чтобы просмотреть проекты, которыми управляет хаб, щелкните значок Проекты

Изучение интерфейса

Когда ваш проект загрузится, появится экран, заполненный информацией.

Ваш макет, вероятно, будет выглядеть так:

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Если нет, нажмите кнопку «Макет» в правом верхнем углу и выберите 2 на 3 в раскрывающемся меню.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Каждый макет состоит из нескольких различных представлений. Вид просто панель информации, которую вы используете для управления. Например, есть представление для размещения объектов в вашем мире.

Вот как выглядит интерфейс, разбитый на отдельные представления:

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Чтобы просмотреть список всех представлений, щелкните параметр «Окно» в строке меню.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Пользовательский интерфейс Unity полностью настраивается, поэтому вы можете добавлять, удалять и переупорядочивать представления по своему усмотрению.

При работе с Unity вы, как правило, захотите преобразовать представления в макет, который идеально подходит для данной задачи. Unity позволяет сохранять макеты для использования в будущем.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Представление Profiler позволяет анализировать вашу игру во время ее работы. К сожалению, профилировщик также блокирует просмотр игры, поэтому вы не сможете играть в игру, пока вы ее профилируете — не очень полезно.

Нажмите и удерживайте на вкладку Профили и перетащите его на вкладке Сцена выше.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Как видите, виды можно перемещать, закреплять и упорядочивать. Они также могут существовать вне редактора в виде плавающих окон.

Чтобы сохранить макет, выберите «Окно \ Макеты \ Сохранить макет…» и назовите его «Отладка».

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Всякий раз, когда вам нужно получить доступ к этому конкретному макету, вы можете нажать кнопку «Макет» и выбрать «Отладка».

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

При нажатии вы увидите список всех ваших макетов.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Вы также можете удалить макеты. Если вы случайно выбросите стандартный макет в корзину, вы можете восстановить макеты по умолчанию.

Организация активов

Новички в Unity могут представить, что вы разрабатываете свою игру от начала до конца в Unity, включая написание кода, создание 3D-моделей и текстур и т. д.

На самом деле, лучше думать о Unity как об инструменте интеграции. Обычно вы пишете код или создаете 3D-модели или текстуры в отдельной программе и используете Unity, чтобы связать все вместе.

В своей игре у вас будет много ресурсов, поэтому очень важно организовать их таким образом, чтобы их было легко найти.

Представление, в котором вы импортируете и упорядочиваете активы, называется обозревателем проекта. Он имитирует организацию вашей файловой системы.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

В предыдущих версиях Unity в каждом обозревателе проектов по умолчанию ничего не было. Вы можете думать о сцене как об уровне в вашей игре. Вы можете разделить все уровни на отдельные сцены или сохранить все в одной сцене. Выбор остается за вами.

В Диспетчере проектов выберите папку Assets и нажмите кнопку Create. В раскрывающемся меню выберите «Папка» и назовите ее «Модели». Это будет дом для всех ваших моделей. У вас может возникнуть соблазн создать папки и манипулировать файлами в файловой системе вместо обозревателя проекта. Не делайте этого!

Unity создает метаданные для каждого актива. Создание, изменение или удаление ресурсов в файловой системе может нарушить эти метаданные и вашу игру.

Создайте следующие папки: Animations, Materials, Prefabs, Presets, Scripts и Textures.

Ваш обозреватель проекта должен выглядеть так:

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Лично я считаю, что большие значки папок отвлекают. Если у вас также есть предпочтение, вы можете увеличить или уменьшить размер с помощью ползунка в нижней части Диспетчера проектов.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Примечание. Все снимки экрана в этом руководстве с этого момента будут отображать самые маленькие настройки.

Наконец, вы можете изменить название актива. Например, ваша текущая сцена называется SampleScene. Выберите папку Scenes, а затем выберите файл SampleScene. Имя будет выделено. Один раз щелкните по нему еще раз, и вы напишете новое имя. Измените его на Main.

Как сделать стратегию на unity. Смотреть фото Как сделать стратегию на unity. Смотреть картинку Как сделать стратегию на unity. Картинка про Как сделать стратегию на unity. Фото Как сделать стратегию на unity

Вы можете сделать это с любой папкой или активом в Диспетчере проектов.

Если вам интересно узнать подробнее о формате обучения и программе, познакомиться с преподавателем курса — приглашаем на день открытых дверей онлайн. Регистрация здесь.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *