Unity (игровой движок): различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
Нет описания правки |
Northgav (обсуждение | вклад) →Возможности: переименование |
||
Строка 1: | Строка 1: | ||
{{Другие значения|Unity (значения)}} |
|||
{{Infobox Software |
|||
{{Программа |
|||
|name = Unity 3D |
|||
| название = Unity |
|||
<center>|logo = [[Файл:UnityLogo.gif|250px|center|Unity (Unity 3D)]] |
|||
| разработчик = [[Unity Technologies]] |
|||
|image = [[Файл:UnityLogo.gif|270px|Unity 3D]] |
|||
| тип = [[игровой движок]], [[интегрированная среда разработки]], [[фреймворк]] |
|||
|screenshot = [[Файл:unity_2.6_bg.jpg|500px|center|thumb]] |
|||
| написана на = [[C++]] (Runtime), [[C Sharp|C#]] |
|||
|caption = |
|||
| первый выпуск = 8 июня {{vgy|2005}} года |
|||
|developer = [[Unity Technologies]] |
|||
| аппаратная платформа = * [[IBM-PC-совместимый компьютер]] |
|||
|latest_release_version = 2.6.1 |
|||
* [[PlayStation 4]] |
|||
|latest_release_date = 5 декабря 2009 |
|||
* [[PlayStation 5]] |
|||
|operating_system = [[Microsoft Windows]], [[Mac OS X]] (creation and deployment), [[Wii]], [[iPhone]] (deployment with special license) |
|||
* [[Xbox One]] |
|||
|genre = [[Игровой движок]] |
|||
* [[Xbox Series X/S]] |
|||
|license = [[Proprietary software|Proprietary]] |
|||
* [[Nintendo Switch]] |
|||
|website = [http://unity3d.com/ unity3d.com] |
|||
* [[Apple TV]] |
|||
* [[Apple Vision Pro]] |
|||
* [[Android]] |
|||
* [[iOS]] |
|||
| состояние = активное |
|||
}} |
}} |
||
'''Unity''' ({{trf|s=unity|единство}}, произносится как «ю́нити») — [[Кроссплатформенность|кроссплатформенная]] [[Интегрированная среда разработки|среда разработки]] [[Компьютерная игра|компьютерных игр]]{{sfn|Хокинг|2016|p=16|quote=}}, разработанная американской компанией [[Unity Technologies]]. Unity позволяет создавать приложения, работающие на более чем 25 различных платформах, включающих [[Персональный компьютер|персональные компьютеры]], [[Игровая приставка|игровые консоли]], [[Мобильное устройство|мобильные устройства]], [[Веб-приложение|интернет-приложения]] и другие{{sfn|Хокинг|2016|p=22|quote=}}. Выпуск Unity состоялся в {{vgy|2005}} году и с того времени идёт постоянное развитие. |
|||
Основными преимуществами Unity являются наличие [[RAD (программирование)|визуальной среды разработки]], [[Кроссплатформенность|межплатформенной]] поддержки и модульной системы компонентов. К недостаткам относят появление сложностей при работе с многокомпонентными схемами и затруднения при подключении внешних [[Библиотека (программирование)|библиотек]]{{Переход|#Достоинства и недостатки|3}}. |
|||
'''Unity''' — это мультиплатформенный инструмент для разработки игр. |
|||
Редактор работает под Windows и MacOS.<br /> |
|||
Игры работают под Windows, [[MacOS]], [[iPhone]], [[Wii]], а также через платформонезависимый веб-плеер Unity (подключается к браузеру как плагин).<br /> |
|||
Поддержка DirectX и OpenGL. |
|||
На Unity написаны тысячи игр, приложений, визуализации математических моделей, которые охватывают множество платформ и жанров. При этом Unity используется как крупными разработчиками, так и [[Инди-игра|независимыми студиями]]{{Переход|#Игры на Unity|3}}. |
|||
== История == |
|||
== Технические характеристики == |
|||
* Июнь 2005, '''Unity 1.0.1'''. |
|||
{{орисс в разделе|дата=5 января 2018}} |
|||
* Август 2005, '''Unity 1.1'''. Добавлена сборка игр под Windows и поддержка плагинов C/C++. |
|||
Редактор Unity имеет простой [[Drag-and-Drop|Drag&Drop]] интерфейс, состоящий из различных окон, благодаря чему можно производить отладку игры прямо в [[Редактор уровней|редакторе]]. Движок использует для написания скриптов [[C Sharp|C#]]<ref>{{Cite web |lang=en |url=https://docs.unity3d.com/Manual/unity-architecture.html |title=Unity - Manual: Unity architecture |author=Unity Technologies |website=docs.unity3d.com |archive-url=https://web.archive.org/web/20220513055327/https://docs.unity3d.com/Manual/unity-architecture.html |archive-date=2022-05-13 |access-date=2022-05-13 |deadlink=no}}</ref>. Ранее поддерживались также [[Boo]] (диалект [[Python]], поддержку убрали в 5-й версии) и модификация [[JavaScript]], известная как ''UnityScript'' (поддержка прекращена в версии 2017.1). Расчёты физики производит физический движок [[PhysX]] от [[Nvidia|NVIDIA]] для 3D физики и [[Box2D]] для 2D физики<ref>{{Cite web |lang=en |url=https://docs.unity3d.com/Manual/PhysicsSection.html |title=Unity - Manual: Physics |author=Unity Technologies |website=docs.unity3d.com |archive-url=https://web.archive.org/web/20220513055327/https://docs.unity3d.com/Manual/PhysicsSection.html |archive-date=2022-05-13 |access-date=2022-05-13 |deadlink=no}}</ref>. Графический API — [[DirectX]] (на данный момент [[Direct3D 11|DX 11]], поддерживается [[Direct3D 12|DX 12]]) и [[OpenGL]]<ref>{{Cite web|url=https://docs.unity3d.com/Manual/OpenGLCoreDetails.html|title=Unity - Manual: OpenGL Core|lang=en|first=Unity|last=Technologies|website=docs.unity3d.com|access-date=2024-12-09}}</ref> |
|||
* Декабрь 2005, '''Unity 1.2'''. Добавлены эффекты постпроцессинга, регдолл, тени, встроенный скрипт управления персонажем, расширены возможности редактора скриптов. |
|||
* Март 2006, '''Unity 1.2.2'''. release in March 2006 added support for building Mac Universal Binary games. |
|||
* Июнь 2006, '''Unity 1.5'''. release highlights were web browser plugin for [[Windows]], new character animation system, Universal Binary editor, car physics and [[lightmap]] support. 1.5.1 release in September improved support for old graphics hardware and added [[Unicode]] support. |
|||
* Ноябрь 2006, '''Unity 1.6'''. added support for browser-to-game communication, streaming of levels in web games, [[Windows Vista]] support and more audio effects. |
|||
* Октябрь 2007, '''Unity 2.0'''. added real time dynamic shadows support, the Unity Asset Server, video playback, a terrain engine, a [[DirectX]] 9.0 renderer (for [[Windows]] games), improved Game GUI creation, and improved Networking with NAT punchthrough. |
|||
* Октябрь 2008, '''Unity iPhone 1.0''' Unity приходит на '''[[iPhone]]'''. |
|||
* Июль 2008, '''Unity 2.1'''. extended support for streaming assets, procedural characters & animation, scriptable asset processing pipeline and more. |
|||
* Октябрь 2008, '''Unity iPhone 1.0''' Начало официальных продаж Unity iPhone. |
|||
* Март 2009, '''Unity 2.5.0'''. Добавлена поддержка Windows средой разработки, переработан редактор скриптов. |
|||
* Апрель 2009, '''Unity iPhone 1.0.2''' |
|||
* Июль 2009, '''Unity 2.5.1'''. Багфиксы. |
|||
* Август 2009, '''Unity iPhone 1.5''' |
|||
* Апрель 2009, '''Unity''' приходит на рынок игр для '''[[Wii]]''' |
|||
* Октябрь 2009, Unity получает инвестии от Sequoia Capital в размере '''5 500 000''' долларов США. |
|||
* Октябрь 2009, '''Unity 2.6.0'''. Indie-версия стала бесплатной. |
|||
* Ноябрь 2009, '''Unity iPhone 1.5.1''' |
|||
* Декабрь 2009, журнал [http://www.gamasutra.com/view/news/26243/Gamasutras_Best_Of_2009_Top_5_Game_Companies.php Gamasutra], назвал Unity одним из 5 лучших игровых движков мира. |
|||
* Март 2010, '''Unity iPhone 1.6''' Добавлена поддержка [[.NET]] 2.1, встроенная поддержка сети и прочие множественные улучшения. |
|||
* Апрель 2010, '''Unity iPhone 1.7''' Добавлена поддержка '''iPad'''. |
|||
Полное описание релизов [http://unity3d.com/unity/whats-new здесь]. |
|||
Проект в Unity делится на сцены ([[Уровень (игры)|уровни]]) — отдельные файлы, содержащие свои игровые миры со своим набором объектов, сценариев, и настроек. Сцены могут содержать в себе как, собственно, объекты (модели), так и пустые игровые объекты — объекты, которые не имеют модели («пустышки»)<ref>{{Cite web |lang=en |url=https://docs.unity3d.com/Manual/CreatingScenes.html |title=Unity - Manual: Scenes |author=Unity Technologies |website=docs.unity3d.com |archive-url=https://web.archive.org/web/20220418065510/https://docs.unity3d.com/Manual/CreatingScenes.html |archive-date=2022-04-18 |access-date=2022-05-13 |deadlink=no}}</ref>. Объекты, в свою очередь содержат наборы компонентов, с которыми и взаимодействуют скрипты. Также у объектов есть название (в Unity допускается наличие двух и более объектов с одинаковыми названиями в одной сцене), может быть тег (метка) и слой, на котором он должен отображаться. Так, у любого объекта на сцене обязательно присутствует компонент Transform — он хранит в себе координаты местоположения, поворота и размеров объекта по всем трём осям. |
|||
Также Unity поддерживает физику твёрдых тел и ткани, а также физику типа [[Ragdoll-физика|Ragdoll]] (тряпичная кукла). |
|||
В редакторе имеется система наследования объектов; дочерние объекты будут повторять все изменения позиции, поворота и масштаба родительского объекта. |
|||
По стостоянию на 16 февраля 2010 года количество зарегистрированных пользователей Unity 3D превысило 100 тысяч.[http://unity3d.com/company/news/100,000-user-milestone-press.html] |
|||
Скрипты в редакторе прикрепляются к объектам в виде отдельных компонентов. |
|||
== Технические характеристики == |
|||
* Скриптинг на [[C Sharp|C#]], [[JavaScript]] (модификация) и [[Boo]]; |
|||
* Игровой движок полностью интегрирован в среду разработки. Это позволяет прямо в редакторе тестировать игру; |
|||
* Работа с ресурсами возможна через простой drag&drop. Интерфейс редактора настраиваем; |
|||
* Реализована система наследования объектов; |
|||
* Поддержка импорта из очень большого количества форматов; |
|||
* Встроенный генератор ландшафтов; |
|||
* Встроенная поддержка сети; |
|||
* Есть решение для коллективной разработки — Asset Server. |
|||
* Так же можно использовать свой любимый способ контроля версий. '''Tortoise SVN''' или '''Source Gear''' к примеру. |
|||
При импорте текстуры в Unity можно сгенерировать [[Альфа-канал|alpha-канал]], [[MIP-текстурирование|mip-уровни]], [[Normal mapping|normal-map]], [[Карта освещения|light-map]], карту отражений, однако непосредственно на модель текстуру прикрепить нельзя — будет создан материал, которому будет назначен [[шейдер]], и затем материал прикрепится к модели. Редактор Unity поддерживает написание и редактирование шейдеров. Редактор Unity имеет компонент для создания анимации, но также анимацию можно создать предварительно в 3D-редакторе и импортировать вместе с моделью, а затем разбить на файлы. |
|||
== Стоимость == |
|||
{| class="wikitable" |
|||
|- |
|||
! Вид лицензии |
|||
! Стоимость |
|||
|- |
|||
| Unity Indie |
|||
| Бесплатно |
|||
|- |
|||
| Unity Pro |
|||
| $1499.00 |
|||
|- |
|||
| ……включая Asset Server client |
|||
| $1998 |
|||
|- |
|||
| Asset Server client (необходима лицензия Unity 2.x Pro) |
|||
| $499.00 |
|||
|- |
|||
| Wii standalone and WiiWare |
|||
| Индивидуально. sales@unity3d.com |
|||
|- |
|||
| iPhone Basic |
|||
| $399 |
|||
|- |
|||
| iPhone Advanced (необходима лицензия Unity Pro) |
|||
| $1499 |
|||
|- |
|||
| Source code |
|||
| Индивидуально. sales@unity3d.com |
|||
|- |
|||
|} |
|||
Unity 3D поддерживает систему [[Level of Detail|Level Of Detail]] (сокр. LOD), суть которой заключается в том, что на дальнем расстоянии от игрока высокодетализированные модели заменяются на менее детализированные, и наоборот, а также систему Occlusion culling, суть которой в том, что у объектов, не попадающих в поле зрения камеры, не визуализируется геометрия и коллизия, что снижает нагрузку на центральный процессор и позволяет оптимизировать проект. При компиляции проекта создаётся [[Исполняемый файл|исполняемый]] (.exe) файл игры (для [[Windows]]), а в отдельной папке — данные игры (включая все игровые уровни и динамически подключаемые библиотеки). |
|||
== Дальнейшее развитие == |
|||
[http://unity3d.com/unity/coming-soon/unity-3 Анонс версии '''Unity''' 3.0] |
|||
Движок поддерживает множество популярных форматов. Модели, звуки, текстуры, материалы, скрипты можно запаковывать в формат.unitypackage и передавать другим разработчикам, или выкладывать в свободный доступ. Этот же формат используется во внутреннем магазине Unity Asset Store, в котором разработчики могут бесплатно и за деньги выкладывать в общий доступ различные элементы, нужные при создании игр. Чтобы использовать Unity Asset Store, необходимо иметь аккаунт разработчика Unity. |
|||
[http://www.unity3d.ru/index.php/archive/128--unity-30 Анонс версии '''Unity''' 3.0 (перевод)] |
|||
UNet (библиотека для реализации мультиплеера в играх на Unity) была удалёна, начиная с версии 2018.4; решение «из коробки» для мультиплеера отсутствует. |
|||
Также можно использовать подходящий пользователю способ контроля версий. К примеру, Tortoise SVN, Git или Source Gear. |
|||
В Unity входит Unity Asset Server — инструментарий для совместной разработки на базе Unity, являющийся дополнением, добавляющим контроль версий и ряд других серверных решений. |
|||
== Достоинства и недостатки == |
== Достоинства и недостатки == |
||
Как правило, игровой движок предоставляет множество функциональных возможностей, позволяющих их задействовать в различных играх, в которые входят моделирование физических сред, карты нормалей, динамические тени и многое другое. В отличие от многих игровых движков, у Unity имеется два основных преимущества: наличие [[RAD (программирование)|визуальной среды разработки]] и [[Кроссплатформенность|межплатформенная]] поддержка{{sfn|Хокинг|2016|p=21|quote=}}. Первый фактор включает не только инструментарий визуального моделирования, но и [[Интегрированная среда разработки|интегрированную среду]], [[Автоматизация сборки|цепочку сборки]], что направлено на повышение производительности разработчиков, в частности, этапов создания прототипов и тестирования. Под межплатформенной поддержкой предоставляется не только места развёртывания (установка на персональном компьютере, на мобильном устройстве, консоли и т. д.), но и наличие инструментария разработки (интегрированная среда может использоваться под Windows и Mac OS){{sfn|Хокинг|2016|p=22|quote=}}. |
|||
* + широкие возможности импорта; |
|||
* + кроссплатформенность; |
|||
* + гибкая ценовая категория и невысокие цены; |
|||
* — в версии 2.6 используется устаревшая версия PhysX, без симуляции жидкостей, мягких тел и тканей |
|||
Третьим преимуществом называется модульная система компонентов Unity, с помощью которой происходит конструирование игровых объектов, когда последние представляют собой комбинируемые пакеты функциональных элементов. В отличие от механизмов [[Наследование (программирование)|наследования]], объекты в Unity создаются посредством [[Примесь (программирование)|объединения функциональных блоков]], а не помещения в узлы дерева наследования. Такой подход облегчает создание прототипов, что актуально при разработке игр{{sfn|Хокинг|2016|p=23|quote=}}. |
|||
== Unity Asset Server == |
|||
Инструментарий для совместной разработки на базе Unity. |
|||
В качестве недостатков приводятся ограничение визуального редактора при работе с многокомпонентными схемами, когда в сложных сценах визуальная работа затрудняется. Вторым недостатком называется отсутствие поддержки Unity ссылок на внешние [[Библиотека (программирование)|библиотеки]], работу с которыми программистам приходится настраивать самостоятельно, и это также затрудняет командную работу. Ещё один недостаток связан с использованием шаблонов экземпляров ({{lang-en|prefabs}}). С одной стороны, эта концепция Unity предлагает гибкий подход визуального редактирования объектов, но с другой стороны, редактирование таких шаблонов является сложным{{sfn|Хокинг|2016|p=23|quote=}}. Также, [[WebGL]]-версия движка, в силу специфики своей архитектуры (трансляция кода из C# в C++ и далее в JavaScript), имеет ряд нерешённых проблем с производительностью, потреблением памяти и работоспособностью на мобильных устройствах<ref>{{Cite web |lang=en |url=https://docs.unity3d.com/Manual/webgl-memory.html |title=Memory Considerations when targeting WebGL |archive-url=https://web.archive.org/web/20180824135030/https://docs.unity3d.com/Manual/webgl-memory.html |archive-date=2018-08-24 |access-date=2018-08-24 |deadlink=no}}</ref><ref>{{Cite web |lang=en |url=https://www.soft8soft.com/verge3d-versus-unity-webgl/ |title=Verge3D versus Unity WebGL - Pipeline and Performance |archive-url=https://web.archive.org/web/20180824135135/https://www.soft8soft.com/verge3d-versus-unity-webgl/ |archive-date=2018-08-24 |access-date=2018-08-24 |deadlink=no}}</ref>. |
|||
== Список игр на движке Unity == |
|||
* [http://en.wikipedia.org/wiki/Need_for_Speed:_World '''Need for Speed World''' Онлайн версия знаменитой NFS от] [[Electronic Arts]] |
|||
* [http://www.interstellarmarines.com/ '''Interstellarmarines''' Космический Шутер. Первоначально разрабатывался на] [[Unreal Engine]] |
|||
* [http://en.wikipedia.org/wiki/Tiger_Woods_PGA_Tour_Online '''Tiger Woods PGA Tour Online''' Онлайн гольф от] [[Electronic Arts]] |
|||
== Игры на Unity == |
|||
* [http://www.bbc.co.uk/robinhood/robinhood-show-down.shtml Игра про робингуда, сделанная для BBC.] |
|||
{{дополнительно|:Категория:Игры на движке Unity}} |
|||
* [http://www.rexona.com.br/xrace/ Гонки на тележках из супермаркета для Rexona.] |
|||
[[Файл:Gone Home - TV Room.jpg|270px|справа|мини|''[[Gone Home]]'' — Unity]] |
|||
* [http://starwars.lego.com/en-US/funandgames/Clonewars.aspx Star Wars: The Quest for R2-D2 для LEGO.] |
|||
* [http://www.efeitoaxe.com.br Billion AXE] |
|||
* [http://en.wikipedia.org/wiki/Off-Road_Velociraptor_Safari Off-Road Velociraptor Safari] |
|||
На Unity написаны сотни игр, приложений и симуляций{{sfn|Хокинг|2016|p=24—26|quote=}}, Unity используется как крупными разработчиками (например, [[Blizzard Entertainment|Blizzard]]<ref>{{Cite web |lang=en |url=https://venturebeat.com/2014/04/24/even-hearthstone-runs-on-unity-and-thats-why-its-already-on-ipad |title=Even Hearthstone runs on Unity — and that’s why it’s already on iPad |archive-url=https://web.archive.org/web/20171105014352/https://venturebeat.com/2014/04/24/even-hearthstone-runs-on-unity-and-thats-why-its-already-on-ipad/ |archive-date=2017-11-05 |access-date=2017-09-29 |deadlink=no}}</ref>), так и в создании [[Инди-игра|инди-игр]]. Компьютерные игры на Unity охватывают множество платформ и жанров, характерными примерами которых являются{{sfn|Хокинг|2016|p=25-|quote=}}: |
|||
=== Fussion Fall === |
|||
* ''[[Guns of Icarus Online]]'', ''[[Gone Home]]'' — [[шутер от первого лица]] и [[приключенческая игра|квест]] от первого лица, созданные [[Инди-игра|независимыми студиями]] — для персональных компьютеров; |
|||
Первая полномасштабная ММО-игра на базе Unity.<br /> |
|||
* ''[[Dead Trigger]]'', ''[[Bad Piggies]]'', ''[[Tyrant Unleashed]]'' — шутер от первого лица, [[Головоломка (жанр компьютерных игр)|головоломка]] и [[коллекционная карточная игра]] — для мобильных устройств; |
|||
Игра основанна на сеттинге вселенной Cartoon Network.<br /> |
|||
* ''[[Assault Android Cactus]]'', ''{{iw|The Golf Club||en|The Golf Club}}'' — [[Аркада (жанр)|аркадный]] [[шутер]] и [[спортивный симулятор]] — для игровых консолей. |
|||
Веб-сайт: http://www.fusionfall.com |
|||
== История == |
|||
== Основные ссылки == |
|||
Первая версия Unity появилась в 2005 году, когда игровой движок был анонсирован на [[Worldwide Developers Conference]]. Изначально Unity предназначался исключительно для компьютеров Mac, а в августе вышло обновление, позволяющее работать под Windows. В следующих версиях постепенно добавлялись новые платформы и развёртывания: межплатформенный веб-плеер в 2006-м, iPhone в 2008-м, Android в 2010-м, и далее на игровых консолях Xbox и Playstation{{sfn|Хокинг|2016|p=22|quote=}}. |
|||
* [http://unity3d.com/unity/ Официальный сайт.]{{ref-en}} |
|||
* [http://unity3d.com/unity/download/#windows Ссылка на закачку бесплатной win-indie-версии] |
|||
* [http://www.unity3d.ru/ Сайт русскоязычного сообщества, имеется форум, вики и блогохост.]{{ref-ru}} |
|||
* [http://www.unifycommunity.com/wiki/index.php?title=Main_Page Unity-Wiki]{{ref-en}} |
|||
* [http://blogs.unity3d.ru/ Unity-Wiki]{{ref-ru}} |
|||
* [http://www.unitytutorials.com/ Уроки по Unity.]{{ref-en}} |
|||
Есть возможность создавать приложения для запуска в браузерах с помощью специального [[плагин|подключаемого модуля]] Unity ''(Unity Web Player)'', а также с помощью реализации технологии WebGL. Ранее была экспериментальная поддержка реализации проектов в рамках модуля [[Adobe Flash|Adobe Flash Player]]<ref>{{Cite web |lang=en |url=https://venturebeat.com/2011/12/21/unity-technologies-developers-will-be-able-to-publish-3d-games-via-adobe-flash/ |title=Unity Technologies developers will be able to publish 3D games via Adobe Flash |author=Dean Takahashi |date=2011-12-21 |publisher=VentureBeat |access-date=2012-03-11 |deadlink=no |archive-date=2012-07-13 |archive-url=https://web.archive.org/web/20120713075207/http://venturebeat.com/2011/12/21/unity-technologies-developers-will-be-able-to-publish-3d-games-via-adobe-flash/ }}</ref>, но позже команда разработчиков Unity приняла сложное решение по отказу<ref>{{Cite web |lang=en |url=http://blogs.unity3d.com/2013/04/23/sunsetting-flash |title=Sunsetting Flash |author=David Helgason |date=2013-04-23 |publisher=The Unity Blog |archive-url=https://web.archive.org/web/20141129151249/http://blogs.unity3d.com/2013/04/23/sunsetting-flash/ |archive-date=2014-11-29 |access-date=2014-12-09 |deadlink=no}}</ref> от этого. |
|||
== Защита Unity 3D проектов == |
|||
* [http://unity3d.netobf.com/ «Unity3D Obfuscator» — средство защиты Unity 3D приложений.]{{ref-ru}} |
|||
В декабре 2009 года [[Game Developer|Gamasutra]] назвал Unity одним из самых значительных участников на рынке игровых компаний<ref>{{Cite web |lang=en |url=http://www.gamasutra.com/view/news/26243/Gamasutras_Best_Of_2009_Top_5_Game_Companies.php |title=Gamasutra's Best Of 2009: Top 5 Game Companies |author=Christian Nutt |publisher=Gamasutra |access-date=2012-03-11 |deadlink=no |quote=Unity has become a major player in the market as of 2009, and there's more to come |archive-date=2012-05-11 |archive-url=https://web.archive.org/web/20120511152043/http://www.gamasutra.com/view/news/26243/Gamasutras_Best_Of_2009_Top_5_Game_Companies.php }}</ref>. |
|||
== Второстепенные ссылки == |
|||
* [http://unity3d.com/support/documentation/Manual/index.html Руководство пользователя.]{{ref-en}} |
|||
* [http://docs.unity3d.ru/ Перевод руководства пользователя]{{ref-ru}} |
|||
* [http://unity3d.ru/distribution/viewtopic.php?f=11&t=753 Перевод FPS Tutorial 2.5]{{ref-ru}} |
|||
* [http://en.wikipedia.org/wiki/Unity_(game_engine) Unity в en.wikipedia]{{ref-en}} |
|||
== Лицензии == |
|||
;Демо-сцены: |
|||
Бесплатная версия Unity имеет некоторые ограничения, но для неё есть возможность распространять игры при условии, что ежегодный доход с игры не превышает {{число|200000}} [[Доллар США|долларов]]<ref name=":0">{{Cite web |lang=en |url=http://unity3d.com/company/legal/eula |title=Unity Software License Agreement 4.x |archive-url=https://web.archive.org/web/20140307151053/http://unity3d.com/company/legal/eula |archive-date=2014-03-07 |access-date=2014-03-06 |deadlink=no}}</ref>. |
|||
* [http://unity3d.com/gallery/live-demos/avert-fate Демо Avert Fate.] |
|||
* [http://unity3d.com/gallery/live-demos/tropical-paradise Старое демо Tropical Paradise.] |
|||
* [http://unity3d.ru/distribution/viewtopic.php?f=10&t=255 30 миллионов полигонов в Unity.] |
|||
* [http://www.unity3d.ru/composition/willage/streamed.html Архитектурная визуализация в Unity.] |
|||
{| class="wikitable" class="mw-datatable" |
|||
[[Категория:Коммерческие игровые движки]] |
|||
|+ |
|||
|- |
|||
! Тип лицензии !!Доход компании в год!! Экран приветствия !! Сборка в облачном хранилище !! Отчёты по производительности !! Премиум поддержка !! Доступ к [[Исходный код|исходному коду]] |
|||
|- |
|||
| style="background:#eaecf0;" | '''Personal''' || До {{число|200000}} долларов|| Необязательная пользовательская анимация и (начиная с Unity 6 необязательно) «Made With Unity» || Стандартная || {{нет|Нет}} || {{нет|Нет}} || {{нет|Нет}} |
|||
|- |
|||
| style="background:#eaecf0;" | '''Pro''' || Неограничен || Пользовательская анимация и/или «Made With Unity» || Одновременная || {{да|Да}} || {{да|Да}} || {{нет|Нет}} |
|||
|- |
|||
| style="background:#eaecf0;" | '''Enterprise''' || Неограничен || Пользовательская анимация и/или «Made With Unity» || Выделенные ресурсы || {{да|Да}} || {{да|Да}} || {{да|Да}} |
|||
|- |
|||
| style="background:#eaecf0;" | '''Industry''' || Неограничен || Пользовательская анимация и/или «Made With Unity» ||Выделенные ресурсы|| {{да|Да}} || {{да|Да}} || {{да|Да}} |
|||
|} |
|||
По другим данным, компания взимает с каждого разработчика ежегодную плату, которая варьируется от $400 до $4000 в зависимости от требуемых функций и размера компании-разработчика{{sfn|Болл|2023|с= 130}}. |
|||
== Примечания == |
|||
[[en:Unity (game engine)]] |
|||
{{примечания}} |
|||
[[fr:Unity (moteur de jeux)]] |
|||
[[ko:유니티 (게임 엔진)]] |
|||
== Литература == |
|||
[[pt:Unity]] |
|||
* {{публикация|книга|автор=Хокинг, Джозеф.|заглавие=Unity — в действии. Мультиплатформенная разработка на C#|издание=2|год=2016|isbn=978-1617292323|язык=ru|место=[[Санкт-Петербург|СПб]]|издательство=Питер|страниц=336|ref=Хокинг|ссылка=https://oz.by/books/more10470862.html}} |
|||
[[zh:Unity (游戏引擎)]] |
|||
* Торн, Алан. Искусство создания сценариев в Unity: [рус.]. — СПб: ДМК, 2016. — 362 с. |
|||
* {{Книга |ref=Болл |автор=Мэтью Болл |заглавие=Метавселенная. Как она меняет наш мир |год=2023 |оригинал=Matthew Ball. The Metaverse: And How it Will Revolutionize Everything |место=М. |издательство=Альпина Паблишер |страницы=362 |isbn=978-5-9614-8036-8}} |
|||
== Ссылки == |
|||
{{Родственные проекты}} |
|||
* {{официальный сайт}} |
|||
{{ВС}} |
|||
{{Игровые движки}} |
|||
[[Категория:Игровые движки по алфавиту]] |
|||
[[Категория:Коммерческие игровые движки]] |
|||
[[Категория:Программное обеспечение для Android]] |
|||
[[Категория:Программное обеспечение для iOS]] |
|||
[[Категория:Программное обеспечение для macOS]] |
|||
[[Категория:Программное обеспечение для Windows]] |
|||
[[Категория:Программное обеспечение для Linux]] |
|||
[[Категория:Кроссплатформенное программное обеспечение]] |
|||
[[Категория:Приложения, использующие DirectX]] |
|||
[[Категория:Приложения, использующие OpenGL]] |
Текущая версия от 18:47, 11 декабря 2024
Unity | |
---|---|
Тип | игровой движок, интегрированная среда разработки, фреймворк |
Разработчик | Unity Technologies |
Написана на | C++ (Runtime), C# |
Операционные системы | Windows, macOS, Linux, Android и iOS |
Языки интерфейса | английский |
Первый выпуск | 8 июня 2005 года |
Аппаратные платформы | |
Последняя версия | |
Состояние | активное |
Лицензия | проприетарная |
Сайт | unity.com (англ.) |
Медиафайлы на Викискладе |
Unity (unity в переводе с англ. — «единство», произносится как «ю́нити») — кроссплатформенная среда разработки компьютерных игр[2], разработанная американской компанией Unity Technologies. Unity позволяет создавать приложения, работающие на более чем 25 различных платформах, включающих персональные компьютеры, игровые консоли, мобильные устройства, интернет-приложения и другие[3]. Выпуск Unity состоялся в 2005 году и с того времени идёт постоянное развитие.
Основными преимуществами Unity являются наличие визуальной среды разработки, межплатформенной поддержки и модульной системы компонентов. К недостаткам относят появление сложностей при работе с многокомпонентными схемами и затруднения при подключении внешних библиотек .
На Unity написаны тысячи игр, приложений, визуализации математических моделей, которые охватывают множество платформ и жанров. При этом Unity используется как крупными разработчиками, так и независимыми студиями .
Технические характеристики
[править | править код]Возможно, этот раздел содержит оригинальное исследование. |
Редактор Unity имеет простой Drag&Drop интерфейс, состоящий из различных окон, благодаря чему можно производить отладку игры прямо в редакторе. Движок использует для написания скриптов C#[4]. Ранее поддерживались также Boo (диалект Python, поддержку убрали в 5-й версии) и модификация JavaScript, известная как UnityScript (поддержка прекращена в версии 2017.1). Расчёты физики производит физический движок PhysX от NVIDIA для 3D физики и Box2D для 2D физики[5]. Графический API — DirectX (на данный момент DX 11, поддерживается DX 12) и OpenGL[6]
Проект в Unity делится на сцены (уровни) — отдельные файлы, содержащие свои игровые миры со своим набором объектов, сценариев, и настроек. Сцены могут содержать в себе как, собственно, объекты (модели), так и пустые игровые объекты — объекты, которые не имеют модели («пустышки»)[7]. Объекты, в свою очередь содержат наборы компонентов, с которыми и взаимодействуют скрипты. Также у объектов есть название (в Unity допускается наличие двух и более объектов с одинаковыми названиями в одной сцене), может быть тег (метка) и слой, на котором он должен отображаться. Так, у любого объекта на сцене обязательно присутствует компонент Transform — он хранит в себе координаты местоположения, поворота и размеров объекта по всем трём осям.
Также Unity поддерживает физику твёрдых тел и ткани, а также физику типа Ragdoll (тряпичная кукла).
В редакторе имеется система наследования объектов; дочерние объекты будут повторять все изменения позиции, поворота и масштаба родительского объекта.
Скрипты в редакторе прикрепляются к объектам в виде отдельных компонентов.
При импорте текстуры в Unity можно сгенерировать alpha-канал, mip-уровни, normal-map, light-map, карту отражений, однако непосредственно на модель текстуру прикрепить нельзя — будет создан материал, которому будет назначен шейдер, и затем материал прикрепится к модели. Редактор Unity поддерживает написание и редактирование шейдеров. Редактор Unity имеет компонент для создания анимации, но также анимацию можно создать предварительно в 3D-редакторе и импортировать вместе с моделью, а затем разбить на файлы.
Unity 3D поддерживает систему Level Of Detail (сокр. LOD), суть которой заключается в том, что на дальнем расстоянии от игрока высокодетализированные модели заменяются на менее детализированные, и наоборот, а также систему Occlusion culling, суть которой в том, что у объектов, не попадающих в поле зрения камеры, не визуализируется геометрия и коллизия, что снижает нагрузку на центральный процессор и позволяет оптимизировать проект. При компиляции проекта создаётся исполняемый (.exe) файл игры (для Windows), а в отдельной папке — данные игры (включая все игровые уровни и динамически подключаемые библиотеки).
Движок поддерживает множество популярных форматов. Модели, звуки, текстуры, материалы, скрипты можно запаковывать в формат.unitypackage и передавать другим разработчикам, или выкладывать в свободный доступ. Этот же формат используется во внутреннем магазине Unity Asset Store, в котором разработчики могут бесплатно и за деньги выкладывать в общий доступ различные элементы, нужные при создании игр. Чтобы использовать Unity Asset Store, необходимо иметь аккаунт разработчика Unity.
UNet (библиотека для реализации мультиплеера в играх на Unity) была удалёна, начиная с версии 2018.4; решение «из коробки» для мультиплеера отсутствует.
Также можно использовать подходящий пользователю способ контроля версий. К примеру, Tortoise SVN, Git или Source Gear.
В Unity входит Unity Asset Server — инструментарий для совместной разработки на базе Unity, являющийся дополнением, добавляющим контроль версий и ряд других серверных решений.
Достоинства и недостатки
[править | править код]Как правило, игровой движок предоставляет множество функциональных возможностей, позволяющих их задействовать в различных играх, в которые входят моделирование физических сред, карты нормалей, динамические тени и многое другое. В отличие от многих игровых движков, у Unity имеется два основных преимущества: наличие визуальной среды разработки и межплатформенная поддержка[8]. Первый фактор включает не только инструментарий визуального моделирования, но и интегрированную среду, цепочку сборки, что направлено на повышение производительности разработчиков, в частности, этапов создания прототипов и тестирования. Под межплатформенной поддержкой предоставляется не только места развёртывания (установка на персональном компьютере, на мобильном устройстве, консоли и т. д.), но и наличие инструментария разработки (интегрированная среда может использоваться под Windows и Mac OS)[3].
Третьим преимуществом называется модульная система компонентов Unity, с помощью которой происходит конструирование игровых объектов, когда последние представляют собой комбинируемые пакеты функциональных элементов. В отличие от механизмов наследования, объекты в Unity создаются посредством объединения функциональных блоков, а не помещения в узлы дерева наследования. Такой подход облегчает создание прототипов, что актуально при разработке игр[9].
В качестве недостатков приводятся ограничение визуального редактора при работе с многокомпонентными схемами, когда в сложных сценах визуальная работа затрудняется. Вторым недостатком называется отсутствие поддержки Unity ссылок на внешние библиотеки, работу с которыми программистам приходится настраивать самостоятельно, и это также затрудняет командную работу. Ещё один недостаток связан с использованием шаблонов экземпляров (англ. prefabs). С одной стороны, эта концепция Unity предлагает гибкий подход визуального редактирования объектов, но с другой стороны, редактирование таких шаблонов является сложным[9]. Также, WebGL-версия движка, в силу специфики своей архитектуры (трансляция кода из C# в C++ и далее в JavaScript), имеет ряд нерешённых проблем с производительностью, потреблением памяти и работоспособностью на мобильных устройствах[10][11].
Игры на Unity
[править | править код]На Unity написаны сотни игр, приложений и симуляций[12], Unity используется как крупными разработчиками (например, Blizzard[13]), так и в создании инди-игр. Компьютерные игры на Unity охватывают множество платформ и жанров, характерными примерами которых являются[14]:
- Guns of Icarus Online, Gone Home — шутер от первого лица и квест от первого лица, созданные независимыми студиями — для персональных компьютеров;
- Dead Trigger, Bad Piggies, Tyrant Unleashed — шутер от первого лица, головоломка и коллекционная карточная игра — для мобильных устройств;
- Assault Android Cactus, The Golf Club[англ.] — аркадный шутер и спортивный симулятор — для игровых консолей.
История
[править | править код]Первая версия Unity появилась в 2005 году, когда игровой движок был анонсирован на Worldwide Developers Conference. Изначально Unity предназначался исключительно для компьютеров Mac, а в августе вышло обновление, позволяющее работать под Windows. В следующих версиях постепенно добавлялись новые платформы и развёртывания: межплатформенный веб-плеер в 2006-м, iPhone в 2008-м, Android в 2010-м, и далее на игровых консолях Xbox и Playstation[3].
Есть возможность создавать приложения для запуска в браузерах с помощью специального подключаемого модуля Unity (Unity Web Player), а также с помощью реализации технологии WebGL. Ранее была экспериментальная поддержка реализации проектов в рамках модуля Adobe Flash Player[15], но позже команда разработчиков Unity приняла сложное решение по отказу[16] от этого.
В декабре 2009 года Gamasutra назвал Unity одним из самых значительных участников на рынке игровых компаний[17].
Лицензии
[править | править код]Бесплатная версия Unity имеет некоторые ограничения, но для неё есть возможность распространять игры при условии, что ежегодный доход с игры не превышает 200 000 долларов[18].
Тип лицензии | Доход компании в год | Экран приветствия | Сборка в облачном хранилище | Отчёты по производительности | Премиум поддержка | Доступ к исходному коду |
---|---|---|---|---|---|---|
Personal | До 200 000 долларов | Необязательная пользовательская анимация и (начиная с Unity 6 необязательно) «Made With Unity» | Стандартная | Нет | Нет | Нет |
Pro | Неограничен | Пользовательская анимация и/или «Made With Unity» | Одновременная | Да | Да | Нет |
Enterprise | Неограничен | Пользовательская анимация и/или «Made With Unity» | Выделенные ресурсы | Да | Да | Да |
Industry | Неограничен | Пользовательская анимация и/или «Made With Unity» | Выделенные ресурсы | Да | Да | Да |
По другим данным, компания взимает с каждого разработчика ежегодную плату, которая варьируется от $400 до $4000 в зависимости от требуемых функций и размера компании-разработчика[19].
Примечания
[править | править код]- ↑ Unity download archive (англ.)
- ↑ Хокинг, 2016, p. 16.
- ↑ 1 2 3 Хокинг, 2016, p. 22.
- ↑ Unity Technologies. Unity - Manual: Unity architecture (англ.). docs.unity3d.com. Дата обращения: 13 мая 2022. Архивировано 13 мая 2022 года.
- ↑ Unity Technologies. Unity - Manual: Physics (англ.). docs.unity3d.com. Дата обращения: 13 мая 2022. Архивировано 13 мая 2022 года.
- ↑ Technologies, Unity Unity - Manual: OpenGL Core (англ.). docs.unity3d.com. Дата обращения: 9 декабря 2024.
- ↑ Unity Technologies. Unity - Manual: Scenes (англ.). docs.unity3d.com. Дата обращения: 13 мая 2022. Архивировано 18 апреля 2022 года.
- ↑ Хокинг, 2016, p. 21.
- ↑ 1 2 Хокинг, 2016, p. 23.
- ↑ Memory Considerations when targeting WebGL (англ.). Дата обращения: 24 августа 2018. Архивировано 24 августа 2018 года.
- ↑ Verge3D versus Unity WebGL - Pipeline and Performance (англ.). Дата обращения: 24 августа 2018. Архивировано 24 августа 2018 года.
- ↑ Хокинг, 2016, p. 24—26.
- ↑ Even Hearthstone runs on Unity — and that’s why it’s already on iPad (англ.). Дата обращения: 29 сентября 2017. Архивировано 5 ноября 2017 года.
- ↑ Хокинг, 2016, p. 25-.
- ↑ Dean Takahashi. Unity Technologies developers will be able to publish 3D games via Adobe Flash (англ.). VentureBeat (21 декабря 2011). Дата обращения: 11 марта 2012. Архивировано 13 июля 2012 года.
- ↑ David Helgason. Sunsetting Flash (англ.). The Unity Blog (23 апреля 2013). Дата обращения: 9 декабря 2014. Архивировано 29 ноября 2014 года.
- ↑ 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. Архивировано 11 мая 2012 года.
- ↑ Unity Software License Agreement 4.x (англ.). Дата обращения: 6 марта 2014. Архивировано 7 марта 2014 года.
- ↑ Болл, 2023, с. 130.
Литература
[править | править код]- Хокинг, Джозеф. Unity — в действии. Мультиплатформенная разработка на C# : [рус.]. — 2. — СПб : Питер, 2016. — 336 с. — ISBN 978-1617292323.
- Торн, Алан. Искусство создания сценариев в Unity: [рус.]. — СПб: ДМК, 2016. — 362 с.
- Мэтью Болл. Метавселенная. Как она меняет наш мир = Matthew Ball. The Metaverse: And How it Will Revolutionize Everything. — М.: Альпина Паблишер, 2023. — С. 362. — ISBN 978-5-9614-8036-8.
Ссылки
[править | править код]- unity.com (англ.) — официальный сайт Unity
- Программное обеспечение по алфавиту
- Программное обеспечение, разработанное в 2005 году
- Игровые движки по алфавиту
- Коммерческие игровые движки
- Программное обеспечение для Android
- Программное обеспечение для iOS
- Программное обеспечение для macOS
- Программное обеспечение для Windows
- Программное обеспечение для Linux
- Кроссплатформенное программное обеспечение
- Приложения, использующие DirectX
- Приложения, использующие OpenGL