В данной статье мы дадим полное описание нового движка Unity 5, сравним его с предыдущей версией (Unity 4), расскажем о достоинствах перед другими движками, такими как: Unreal Engine 4, CryEngine 3, поговорим о будущем движка и о том, стоит ли всерьез заниматься геймдевом с Unity3d.
Unity 5
Unity 5 — кросс-платформенный игровой движок для разработки двухмерных и трехмерных приложений и игр под различные платформы. У Unity3d есть две версии: бесплатная и платная. Отличаются они рядом возможностей, которые могут сильно понадобиться при разработке игры. Во-первых, бесплатная версия Unity3d поддерживает только Android, Web Player, PC-платформы. Полная версия позволяет разработчикам выкладывать своё творение под все самые известные платформы, такие как: PC, Linux, Mac, Windows Store, IOS, Android, Windows Phone 10 Store, Blackberry 10, Wii U, PS3, Xbox 360, PS4, Xbox One. Есть возможность делать софт для VR(Virtual Reality), т.е. под очки и шлемы виртуальной реальности: Hololens, Oculus Rift, StarVR и прочие, а также писать программы для Kinect 2.0, LeapMotion. Полную версию Unity 5 можно адаптировать под свои нужды: например, если вас интересует разработка софта под Kinect 2.0, вы можете убрать некоторые элементы меню в интерфейсе и дополнить его своими надстройками, которые реально облегчат разработку.
Браузеры, поддерживающие Unity Web Player
Если вы не можете отказаться от игры на Unity 3D, а разработчики не собираются переделывать её на другом движке, то остаётся единственный вариант — найти браузер, который ещё поддерживает технологию. Сейчас есть два варианта:
- Internet Explorer.
- Safari от Apple только на компьютерах с macOS.
Кроме Mozilla Firefox есть ещё несколько браузеров, устаревшие версии которых поддерживают Unity Web Player. Вот их список:
- Opera до 36 версии.
- Google Chrome до 44 версии.
- Яндекс.Браузер до 16 версии.
Проблема в том, что устаревшие версии веб-обозревателей использовать опасно — в них очень много уязвимостей, которые были устранены разработчиками в последующих редакциях. Поэтому придётся играть либо через Internet Explorer, либо отказаться от игр на движке Unity 3D.
Post Views: 423
Возможности Unity 5
Unity3d имеет очень простой Drag and Drop интерфейс, который человек осваивает за месяц. Весь движок (от и до) только на английском языке. Русификации Unity 5 нет. Unity разбит на несколько окон: Hierarchy, где находятся названия всех объектов на сцене, которые можно группировать и легко переходить по ним, Scene, где можно рассмотреть определенную сцену под нужным вам ракурсом, Inspector, который поможет с настройкой выделенного объекта, Project, где видны все материалы проекта, Toolbar (или меню с инструментами).
Unity 5 поддерживает два языка: C#(наиболее используемый) и Javascipt. Разработчику необходимо знать один из языков в совершенстве, а другой на среднем уровне, так как некоторые моменты Unity 5 делает только на одном из двух языков, или это делается намного труднее, чем на другом языке программирования. Предпоследняя версия Unity3d, а именно Unity 4, поддерживала язык программирования Boo(диалект Phyton), но его убрали из 5-ой версии, так как им практически никто не пользовался, да и документации, если честно, на официальном сайте Unity особо не было. Расчеты физики в Unity 5 производит та же NVIDIA PhysX, которая, кстати, отлично с этим справляется. Совсем недавно NVIDIA представила одну интересную вещь — NVIDIA Flex, которую, возможно, в будущем встроят в игровые движки.
Объекты в Unity3d могут быть пустыми, (чтобы объединить несколько объектов в одну группу, т.е. сделать их дочерними GameObject), содержать компоненты, с которыми взаимодействуют скрипты, могут быть названы одним и тем же именем, могут быть присвоены теги, которые служат для того, чтобы скрипт нашел нужный нам объект. К объектам в Unity3d можно присвоить коллайдеры: Box Collider — куб, в который попадает модель объекта, Sphere Collider — сфера, Character Collider — коллайдер, который был специально введен в Unity 5 для использования под персонажей, Mesh Collider — коллайдер, созданный по мешу, то есть повторяющий геометрию объекта, Wheel Collider — коллайдер для колес, Terrain Collider — коллайдер для Terrain — площадки, которую используют для отображения земли.
Анимировать модели в Unity3d можно несколькими способами: создание анимаций в специальных программах, например: 3Ds Max, Blender и прочие, а можно и в самом Unity3d, так как редактор Unity имеет компонент для их создания. Материалы в Unity 5 играют важную роль. Импортированные текстуры в Unity3d прикрепить к объекту нельзя, необходимо создать материал, который можно присваивать игровому объекту. К назначенным материалу шейдерам будут присвоены текстуры. Шейдеры можно редактировать прямо в Unity3d. Unity 5 позволяет генерировать нормал-мапы(normal-map), лайт-мапы(light-map), различные альфа-каналы и mip-уровни. В полной версии Unity 5 возможно полное настраивание шейдеров, а в бесплатной — нет.
Предрелизные технологии в 2020.1
О готовящихся нововведениях можно почитать на отдельной странице.
Помните, что Preview пакеты ещё не проверены для использования с текущей версией Unity, поэтому вы должны использовать их только для исследований и создания прототипов, а не в продакшене. Поделиться мыслями и предложениями можно на форуме Betas & Experimental Features.
Для получения дополнительной информации о состоянии Preview и жизненном цикле пакетов смотрите эту страницу.
Рассмотрим кратко нескольких новых Preview пакетов, доступных в менеджере.
Profile Analyzer
Пакет Profile Analyzer позволяет одновременно сравнивать данные фрейма и маркера из набора фреймов Unity Profiler. Обладает улучшенной общей производительностью и более упрощённым пользовательским интерфейсом. Кроме того, Code Coverage помогает вам визуализировать, какие строки вашего кода тестируются.
Kinematica
Если вы хотите узнать, что будет дальше в 3D-анимации, Kinematica теперь доступна в виде Preview пакета. Ещё одна новая фича — риггинг анимации, который включает в себя Bidirectional Motion Transfer.
Cinemachine 2.6
Cinemachine 2.6 входит в статус превью с новыми функциями, позволяющими улучшить поведение камеры в играх от третьего лица, сделать камеру более восприимчивой к окружающей среде, возможностью нацеливать и отслеживать два объекта с помощью одной камеры и многое другое.
Симулятор устройств
Для мобильных устройств добавлено ещё больше устройств и улучшен пользовательский интерфейс (UX) в симуляторе устройств, упрощая имитацию конкретных разрешений, а также предварительного просмотра специфичных настроек, таких как настройки качества, основанных на информации об устройстве, например ОЗУ и чипсете.
Трассировка лучей (превью)
Ray Tracing (Preview) теперь поддерживает анимацию с помощью компонента Skinned Mesh Renderer и Alembic Vertex Cache. Streaming Virtual Texturing (превью) позволит уменьшить использование памяти графическим процессором и время загрузки текстур, когда в вашей сцене много текстур высокого разрешения.
Особенности Unity 5
Unity 5 имеет две очень важные особенности: Occlusion Culling и Level Of Detail. Обе вещи позволяют сильно снизить нагрузку на центральный процессор, благодаря грамотной детализации. Например, в играх жанра 2D и 3D Runner при преодолении определенной дистанции все, что было позади вас, удаляется, а то, что впереди вас, генерируется. Таким образом, при длительной игре ваше устройство не захламляет ненужная информация. Occlusion Culling не визуализирует геометрию и коллайдеры объектов, находящихся не в поле зрении камеры, а Level Of Detail заменяет детализированные объекты, находящиеся далеко от игрока, на менее детализированные, причем разработчик сам настраивает эту систему. То есть скромный проект может позволить выставить огромные значения в Level of Detail, когда AAA-проекты выставляют его на минимум.
Инструменты программиста
Что касается инструментов для программистов, то команда Unity в первую очередь сосредоточилась на улучшении удобства использования и стабилизации рабочих процессов, представленных в предыдущих выпусках. Profiler теперь можно запускать как отдельное приложение, которое снижает нагрузку на производительность при профилировании редактора и обеспечивает более чистые данные.
Функция Flow Event облегчает обнаружение кода в основном потоке выполнения, который ожидает завершения задачи в многопоточной среде. Новый процесс отладки кода позволяет легко переключаться между релизным и режимом отладки, а также позволяет редактору работать с оптимизацией кода C# в релизном режиме по умолчанию. Присоединение C# отладчика также позволит вам включить режим отладки, если вы были в режиме релиза. Также улучшили поддержку сериализации полей универсальных типов, а интеграция с Visual Studio теперь является отдельным пакетом. И наконец, Burst Compiler 1.3 теперь доступен и добавляет собственные возможности отладки, среди других улучшений.
Минусы и плюсы Unity 5
Unity 5 обладает огромным количеством преимуществ перед другими игровыми движками. Коммьюнити Unity 5 на сегодняшний момент является самым большим в мире. На официальном сайте Unity есть специальный раздел, в котором можно найти статистику по игровым движкам. По этим данным Unity 5 используют более 50% разработчиков видеоигр. 20% принадлежат Unreal Engine, а остальные игровые движки — 30%. Для разработки 2D или 3D инди-игр Unity 5 подходит по всем параметрам. В Unity 5 очень просто запекать проекты (билдить). Причем можно создать один проект под множество платформ, что очень сильно облегчает процесс для девелоперов. Все скрипты, используемые в Unity 4, можно будет автоматически исправить в Unity 5.
Разработка ААА-проектов в Unity — самый сложный процесс. Во-первых, любой скрипт в Unity сразу влечет за собой кучу ошибок, которую в будущем необходимо исправить, или переписать скрипт заново. Во-вторых, все ещё обладает плохой оптимизацией. Весь контент, который стоит у вас в окне Project, но не стоит у вас на сцене, будет запечен, а значит, что игра будет весить в разы больше, чем предполагалось. А самое главное, что в интернете были вопросы о том, что проекты, в которые не подключены стандартные настройки, при билде все-равно запекались. Unity в ближайшем обновлении пофиксит этот момент. В движке есть ряд проблем со скроллингом. При приближении к объекту в определенный момент камера приближается медленнее. Если вам нужно максимально близко приблизиться к земле, то иногда это бывает очень сложно сделать. Скорее всего, в ближайших обновлениях скроллинг пофиксят, либо научат им пользоваться, что тоже хорошо. В Unity 5 есть проблемы с мультиплеером. Но, если у вас прямые руки, то он настраивается очень просто. Например, в The Forest некоторые объекты видел один игрок, а другой — нет, а хороший пример — игра HeartStone.
Быть Unity девелопером сегодня очень престижно. В российском сегменте разработчики Unity сильно ценятся, а зарплата хоть у программистов, хоть у моделлеров высока. Так что если вас интересует разработка видеоигр, если вы любите создавать инди-проекты, то смело выбираем Unity!
Рабочие процессы редактора и команды
Новые улучшения в наборах инструментов предоставляют больше возможностей для настройки рабочих процессов в соответствии с конкретными потребностями. С Unity 2020.1 теперь можно визуализировать контекст сцены или родительского Prefab-а при редактировании вашего Prefab-а.
Добавили несколько улучшений в импортер, чтобы пользовательские свойства для объектов из SketchUp теперь можно было импортировать вместе с новыми настройками преобразования осей, что позволяет устранять проблемы с импортом осей без необходимости повторно открывать меши в программе создания цифрового контента (DCC).
Новый конвейер импорта ассетов v2, который был представлен в прошлом году, теперь используется по умолчанию и поставляется с поддержкой сериализованных файлов размером более 2 ГБ и строкой состояния. С помощью окна Focused Inspector вы теперь можете легко просматривать подробности Inspector выбранного GameObject, новый API-интерфейс для Progress и окно Background Tasks позволяют лучше отслеживать прогресс, а Partial Presets обеспечивают большую гибкость и контроль при применении пресетов к вашей сцене.
Подробности на этой странице.