WikiSort.ru - Комьютерные игры

ПОИСК ПО САЙТУ | о проекте
Unity
Тип игровой движок, интегрированная среда разработки, конструктор
Разработчик Unity Technologies
Написана на C++, C♯ и Boo
Операционная система Microsoft Windows, macOS, Linux, Xbox One, Wii, Wii U, PlayStation 3, PlayStation 4, PlayStation Vita, iOS, Android, WebGL, Tizen, Facebook, TvOS и Nintendo Switch
Языки интерфейса английский
Первый выпуск 8 июня 2005 года
Последняя версия 2018.3.0 (13.12.2018)
Бета-версия
Состояние выпущена, в развитии
Лицензия проприетарная (полная версия), свободная (ограниченная)
Сайт unity3d.com (англ.)
 Unity на Викискладе

Unity — межплатформенная среда разработки компьютерных игр[2]. Unity позволяет создавать приложения, работающие под более чем 20 различными операционными системами, включающими персональные компьютеры, игровые консоли, мобильные устройства, интернет-приложения и другие[3]. Выпуск Unity состоялся в 2005 году и с того времени идёт постоянное развитие.

Основными преимуществами Unity являются наличие визуальной среды разработки, межплатформенной поддержки и модульной системы компонентов. К недостаткам относят появление сложностей при работе с многокомпонентными схемами и затруднения при подключении внешних библиотек[⇨].

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

Возможности

Редактор Unity имеет простой Drag&Drop интерфейс, который легко настраивать, состоящий из различных окон, благодаря чему можно производить отладку игры прямо в редакторе. Движок поддерживает два скриптовых языка: C#, JavaScript (модификация). Ранее была поддержка Boo (диалект Python), но его убрали в 5-й версии. Расчёты физики производит физический движок PhysX от NVIDIA.

Проект в Unity делится на сцены (уровни) — отдельные файлы, содержащие свои игровые миры со своим набором объектов, сценариев, и настроек. Сцены могут содержать в себе как, собственно, объекты (модели), так и пустые игровые объекты — объекты, которые не имеют модели («пустышки»). Объекты, в свою очередь содержат наборы компонентов, с которыми и взаимодействуют скрипты. Также у объектов есть название (в Unity допускается наличие двух и более объектов с одинаковыми названиями), может быть тег (метка) и слой, на котором он должен отображаться. Так, у любого объекта на сцене обязательно присутствует компонент Transform — он хранит в себе координаты местоположения, поворота и размеров объекта по всем трём осям. У объектов с видимой геометрией также по умолчанию присутствует компонент Mesh Renderer, делающий модель объекта видимой.

К объектам можно применять коллизии (в Unity т. н. коллайдеры — collider), которых существует несколько типов.

Также Unity поддерживает физику твёрдых тел и ткани, а также физику типа Ragdoll (тряпичная кукла). В редакторе имеется система наследования объектов; дочерние объекты будут повторять все изменения позиции, поворота и масштаба родительского объекта. Скрипты в редакторе прикрепляются к объектам в виде отдельных компонентов.

При импорте текстуры в Unity можно сгенерировать alpha-канал, mip-уровни, normal-map, light-map, карту отражений, однако непосредственно на модель текстуру прикрепить нельзя — будет создан материал, которому будет назначен шейдер, и затем материал прикрепится к модели. Редактор Unity поддерживает написание и редактирование шейдеров. Редактор Unity имеет компонент для создания анимации, но также анимацию можно создать предварительно в 3D-редакторе и импортировать вместе с моделью, а затем разбить на файлы.

Unity 3D поддерживает систему Level Of Detail (сокр. LOD), суть которой заключается в том, что на дальнем расстоянии от игрока высокодетализированные модели заменяются на менее детализированные, и наоборот, а также систему Occlusion culling, суть которой в том, что у объектов, не попадающих в поле зрения камеры не визуализируется геометрия и коллизия, что снижает нагрузку на центральный процессор и позволяет оптимизировать проект. При компиляции проекта создается исполняемый (.exe) файл игры (для Windows), а в отдельной папке — данные игры (включая все игровые уровни и динамически подключаемые библиотеки).

Движок поддерживает множество популярных форматов. Модели, звуки, текстуры, материалы, скрипты можно запаковывать в формат .unityassets и передавать другим разработчикам, или выкладывать в свободный доступ. Этот же формат используется во внутреннем магазине Unity Asset Store, в котором разработчики могут бесплатно и за деньги выкладывать в общий доступ различные элементы, нужные при создании игр. Чтобы использовать Unity Asset Store, необходимо иметь аккаунт разработчика Unity. Unity имеет все нужные компоненты для создания мультиплеера. Также можно использовать подходящий пользователю способ контроля версий. К примеру, Tortoise SVN или Source Gear.

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

Достоинства и недостатки

Как правило, игровой движок предоставляет множество функциональных возможностей, позволяющих их задействовать в различных играх, в которые входят моделирование физических сред, карты нормалей, динамические тени и многое другое. В отличие от многих игровых движков, у Unity имеется два основных преимущества: наличие визуальной среды разработки и межплатформенная поддержка[4]. Первый фактор включает не только инструментарий визуального моделирования, но и интегрированную среду, цепочку сборки, что направлено на повышение производительности разработчиков, в частности, этапов создания прототипов и тестирования. Под межплатформенной поддержкой предоставляется не только места развертывания (установка на персональном компьютере, на мобильном устройстве, консоли и т. д.), но и наличие инструментария разработки (интегрированная среда может использоваться под Windows и Mac OS)[3].

Третьим преимуществом называется модульная система компонентов Unity, с помощью которой происходит конструирование игровых объектов, когда последние представляют собой комбинируемые пакеты функциональных элементов. В отличие от механизмов наследования, объекты в Unity создаются посредством объединения функциональных блоков, а не помещения в узлы дерева наследования. Такой подход облегчает создание прототипов, что актуально при разработке игр[5].

В качестве недостатков приводятся ограничение визуального редактора при работе с многокомпонентными схемами, когда в сложных сценах визуальная работа затрудняется. Вторым недостатком называется отсутствие поддержки Unity ссылок на внешние библиотеки, работу с которыми программистам приходится настраивать самостоятельно, и это также затрудняет командную работу. Ещё один недостаток связан с использованием шаблонов экземпляров (англ. prefabs). С одной стороны, эта концепция Unity предлагает гибкий подход визуального редактирования объектов, но с другой стороны, редактирование таких шаблонов является сложным[5]. Также, WebGL-версия движка, в силу специфики своей архитектуры (трансляция кода из C# в С++ и далее в JavaScript), имеет ряд нерешённых проблем с производительностью, потреблением памяти и работоспособностью на мобильных устройствах[6][7].

Игры на Unity

Gone Home — Unity

На Unity написаны сотни игр, приложений и симуляций[8], Unity используется как крупными разработчиками (например, Blizzard[9]), так и в создании инди-игр. Компьютерные игры на Unity охватывают множество платформ и жанров, характерными примерами которых являются[10]:

История

Первая версия Unity появилась в 2005 году, когда игровой движок был анонсирован на Worldwide Developers Conference. Изначально Unity предназначался исключительно для компьютеров Mac, а в августе вышло обновление, позволяющее работать под Windows. В следующих версиях постепенно добавлялись новые платформы и развёртывания: межплатформенный веб-плеер в 2006-м, iPhone в 2008-м, Android в 2010-м, и далее на игровых консолях Xbox и Playstation[3].

Есть возможность создавать приложения для запуска в браузерах с помощью специального подключаемого модуля Unity (Unity Web Player), а также с помощью реализации технологии WebGL. Ранее была экспериментальная поддержка реализации проектов в рамках модуля Adobe Flash Player[11], но позже команда разработчиков Unity приняла сложное решение по отказу[12] от этого.

В декабре 2009 года Gamasutra назвал Unity одним из самых значительных участников на рынке игровых компаний[13].

Лицензии

Бесплатная версия Unity имеет некоторые ограничения, но для неё есть возможность распространять игры при условии, что ежегодный доход с игры не превышает 100 000 долларов[14].

Тип лицензииДоход компании в годЭкран приветствияМногопользовательские функцииСборка в облачном хранилищеТёмная темаОтчеты по производительностиПремиум поддержкаДоступ к исходному кодуЦена (в долларах)
PersonalДо 100 000 долларов"Made With Unity" и необязательная пользовательская анимация20 CCUsСтандартнаяНетНетНетНетБесплатно
PlusДо 200 000 долларовПользовательская анимация и/или "Made With Unity"50 CCUsПриоритетнаяДаДаНетНет420 за 12 мес (35 ежемесячно)
ProНеограниченПользовательская анимация и/или "Made With Unity"200 CCUsОдновременнаяДаДаДаНет1500 за 12 мес (125 ежемесячно).
EnterpriseНеограниченПользовательская анимация и/или "Made With Unity"Пользовательский мультиплеерВыделенные ресурсыДаДаДаДаЦена по запросу

Примечания

  1. https://blogs.unity3d.com/2018/09/13/unity-2018-3-beta-get-early-access-now/
  2. Хокинг, 2016, p. 16.
  3. 1 2 3 Хокинг, 2016, p. 22.
  4. Хокинг, 2016, p. 21.
  5. 1 2 Хокинг, 2016, p. 23.
  6. Memory Considerations when targeting WebGL.
  7. Verge3D versus Unity WebGL - Pipeline and Performance.
  8. Хокинг, 2016, p. 24—26.
  9. Even Hearthstone runs on Unity — and that’s why it’s already on iPad.
  10. Хокинг, 2016, p. 25-.
  11. Dean Takahashi. Unity Technologies developers will be able to publish 3D games via Adobe Flash (англ.). VentureBeat (21 December 2011). Проверено 11 марта 2012. Архивировано 9 июня 2012 года.
  12. David Helgason. Sunsetting Flash (англ.). The Unity Blog (23 April 2013).
  13. Christian Nutt. Gamasutra's Best Of 2009: Top 5 Game Companies (англ.). Gamasutra. — «Unity has become a major player in the market as of 2009, and there's more to come». Проверено 11 марта 2012. Архивировано 9 июня 2012 года.
  14. Unity Software License Agreement 4.x

Литература

Ссылки

  • unity3d.com (англ.) — официальный сайт Unity

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

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




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии