Unity (игровой движок): различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
Skazi (обсуждение | вклад) постоянно один и тот же вопрос, что сложного сделать по образцу?! |
м →Возможности: оформление |
||
(не показано 13 промежуточных версий 11 участников) | |||
Строка 6: | Строка 6: | ||
| написана на = [[C++]] (Runtime), [[C Sharp|C#]] |
| написана на = [[C++]] (Runtime), [[C Sharp|C#]] |
||
| первый выпуск = 8 июня {{vgy|2005}} года |
| первый выпуск = 8 июня {{vgy|2005}} года |
||
| аппаратная платформа = [[IBM-PC-совместимый компьютер|ПК]]<br>[[PlayStation 4]]<br>[[PlayStation 5]]<br>[[Xbox One]]<br>[[Xbox Series X]]<br>[[Nintendo Switch]]<br>[[Apple TV]]<br>[[Apple Vision Pro]], в Q1 2024 |
| аппаратная платформа = [[IBM-PC-совместимый компьютер|ПК]]<br>[[PlayStation 4]]<br>[[PlayStation 5]]<br>[[Xbox One]]<br>[[Xbox Series X/S]]<br>[[Nintendo Switch]]<br>[[Apple TV]]<br>[[Apple Vision Pro]], в Q1 2024 |
||
| состояние = активное |
| состояние = активное |
||
}} |
}} |
||
Строка 33: | Строка 33: | ||
Движок поддерживает множество популярных форматов. Модели, звуки, текстуры, материалы, скрипты можно запаковывать в формат.unitypackage и передавать другим разработчикам, или выкладывать в свободный доступ. Этот же формат используется во внутреннем магазине Unity Asset Store, в котором разработчики могут бесплатно и за деньги выкладывать в общий доступ различные элементы, нужные при создании игр. Чтобы использовать Unity Asset Store, необходимо иметь аккаунт разработчика Unity. |
Движок поддерживает множество популярных форматов. Модели, звуки, текстуры, материалы, скрипты можно запаковывать в формат.unitypackage и передавать другим разработчикам, или выкладывать в свободный доступ. Этот же формат используется во внутреннем магазине Unity Asset Store, в котором разработчики могут бесплатно и за деньги выкладывать в общий доступ различные элементы, нужные при создании игр. Чтобы использовать Unity Asset Store, необходимо иметь аккаунт разработчика Unity. |
||
UNet (библиотека для реализации мультиплеера в играх на Unity) была удалёна, начиная с версии 2018.4; решение «из коробки» для мультиплеера отсутствует. |
UNet (библиотека для реализации мультиплеера в играх на Unity) была удалёна, начиная с версии 2018.4; решение «из коробки» для мультиплеера отсутствует. |
||
Также можно использовать подходящий пользователю способ контроля версий. К примеру, Tortoise SVN, Git или Source Gear. |
|||
В Unity входит Unity Asset Server — инструментарий для совместной разработки на базе Unity, являющийся дополнением, добавляющим контроль версий и ряд других серверных решений. |
В Unity входит Unity Asset Server — инструментарий для совместной разработки на базе Unity, являющийся дополнением, добавляющим контроль версий и ряд других серверных решений. |
||
Строка 61: | Строка 63: | ||
== Лицензии == |
== Лицензии == |
||
{{Обновить раздел|дата=13-09-2023}} |
|||
Бесплатная версия Unity имеет некоторые ограничения, но для неё есть возможность распространять игры при условии, что ежегодный доход с игры не превышает {{число|100000}} [[Доллар США|долларов]]<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>. |
Бесплатная версия Unity имеет некоторые ограничения, но для неё есть возможность распространять игры при условии, что ежегодный доход с игры не превышает {{число|100000}} [[Доллар США|долларов]]<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>. |
||
Строка 67: | Строка 68: | ||
|+ |
|+ |
||
|- |
|- |
||
! Тип лицензии !!Доход компании в год!! Экран приветствия !! Сборка в облачном хранилище !! Отчёты по производительности !! Премиум поддержка !! Доступ к [[Исходный код|исходному коду]] |
! Тип лицензии !!Доход компании в год!! Экран приветствия !! Сборка в облачном хранилище !! Отчёты по производительности !! Премиум поддержка !! Доступ к [[Исходный код|исходному коду]] |
||
|- |
|- |
||
| style="background:#eaecf0;" | '''Personal''' || До {{число|100000}} долларов|| «Made With Unity» и необязательная пользовательская анимация || Стандартная || {{нет|Нет}} || {{нет|Нет}} || {{нет|Нет}} |
| style="background:#eaecf0;" | '''Personal''' || До {{число|100000}} долларов|| «Made With Unity» и необязательная пользовательская анимация || Стандартная || {{нет|Нет}} || {{нет|Нет}} || {{нет|Нет}} |
||
|- |
|- |
||
| style="background:#eaecf0;" | '''Plus''' || До {{число|200000}} долларов|| Пользовательская анимация и/или «Made With Unity» || Приоритетная || {{да|Да}} || {{нет|Нет}} || {{нет|Нет}} |
| style="background:#eaecf0;" | '''Plus''' || До {{число|200000}} долларов|| Пользовательская анимация и/или «Made With Unity» || Приоритетная || {{да|Да}} || {{нет|Нет}} || {{нет|Нет}} |
||
|- |
|- |
||
| style="background:#eaecf0;" | '''Pro''' || Неограничен || Пользовательская анимация и/или «Made With Unity» || Одновременная || {{да|Да}} || {{да|Да}} || {{нет|Нет}} |
| style="background:#eaecf0;" | '''Pro''' || Неограничен || Пользовательская анимация и/или «Made With Unity» || Одновременная || {{да|Да}} || {{да|Да}} || {{нет|Нет}} |
||
|- |
|- |
||
| style="background:#eaecf0;" | '''Enterprise''' || Неограничен || Пользовательская анимация и/или «Made With Unity» || Выделенные ресурсы || {{да|Да}} || {{да|Да}} || {{да|Да}} |
| style="background:#eaecf0;" | '''Enterprise''' || Неограничен || Пользовательская анимация и/или «Made With Unity» || Выделенные ресурсы || {{да|Да}} || {{да|Да}} || {{да|Да}} |
||
|- |
|- |
||
| style="background:#eaecf0;" | '''Industry''' || Неограничен || Пользовательская анимация и/или «Made With Unity» ||Выделенные ресурсы|| {{да|Да}} || {{да|Да}} || {{да|Да}} |
| style="background:#eaecf0;" | '''Industry''' || Неограничен || Пользовательская анимация и/или «Made With Unity» ||Выделенные ресурсы|| {{да|Да}} || {{да|Да}} || {{да|Да}} |
||
|} |
|} |
||
По другим данным, компания взимает с каждого разработчика ежегодную плату, которая варьируется от $400 до $4000 в зависимости от требуемых функций и размера компании-разработчика{{sfn|Болл|2023|с= 130}}. |
По другим данным, компания взимает с каждого разработчика ежегодную плату, которая варьируется от $400 до $4000 в зависимости от требуемых функций и размера компании-разработчика{{sfn|Болл|2023|с= 130}}. |
||
Unity Plus больше не доступен для новых подписчиков. Для тех, кто им уже пользуется есть возможность продлить тарифный план Unity Plus до 27 марта 2024 года.<ref>{{Cite web|url=https://support.unity.com/hc/en-us/articles/20067051611156-How-can-I-upgrade-to-Unity-Pro-for-the-price-of-Unity-Plus-#:~:text=Cause%3A,%2C%20until%20December%2031%2C%202023.|title=How can I upgrade to Unity Pro for the price of Unity Plus?|lang=en|author=Unity Technologies|website=unity.com|date=2023-09-18|url-status=live}}</ref> |
Unity Plus больше не доступен для новых подписчиков. Для тех, кто им уже пользуется есть возможность продлить тарифный план Unity Plus до 27 марта 2024 года.<ref>{{Cite web|url=https://support.unity.com/hc/en-us/articles/20067051611156-How-can-I-upgrade-to-Unity-Pro-for-the-price-of-Unity-Plus-#:~:text=Cause%3A,%2C%20until%20December%2031%2C%202023.|title=How can I upgrade to Unity Pro for the price of Unity Plus?|lang=en|author=Unity Technologies|website=unity.com|date=2023-09-18|url-status=live|access-date=2023-12-28|archive-date=2023-12-28|archive-url=https://web.archive.org/web/20231228013452/https://support.unity.com/hc/en-us/articles/20067051611156-How-can-I-upgrade-to-Unity-Pro-for-the-price-of-Unity-Plus-#:~:text=Cause%3A,%2C%20until%20December%2031%2C%202023.}}</ref> |
||
== Примечания == |
== Примечания == |
Версия от 11:14, 24 сентября 2024
Unity | |
---|---|
Тип | игровой движок, интегрированная среда разработки, фреймворк |
Разработчик | Unity Technologies |
Написана на | C++ (Runtime), C# |
Операционные системы | Windows, macOS, Linux, Android и iOS |
Языки интерфейса | английский |
Первый выпуск | 8 июня 2005 года |
Аппаратные платформы |
ПК PlayStation 4 PlayStation 5 Xbox One Xbox Series X/S Nintendo Switch Apple TV Apple Vision Pro, в Q1 2024 |
Последняя версия |
|
Состояние | активное |
Лицензия | проприетарная |
Сайт | 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)
Проект в Unity делится на сцены (уровни) — отдельные файлы, содержащие свои игровые миры со своим набором объектов, сценариев, и настроек. Сцены могут содержать в себе как, собственно, объекты (модели), так и пустые игровые объекты — объекты, которые не имеют модели («пустышки»)[6]. Объекты, в свою очередь содержат наборы компонентов, с которыми и взаимодействуют скрипты. Также у объектов есть название (в 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 имеется два основных преимущества: наличие визуальной среды разработки и межплатформенная поддержка[7]. Первый фактор включает не только инструментарий визуального моделирования, но и интегрированную среду, цепочку сборки, что направлено на повышение производительности разработчиков, в частности, этапов создания прототипов и тестирования. Под межплатформенной поддержкой предоставляется не только места развёртывания (установка на персональном компьютере, на мобильном устройстве, консоли и т. д.), но и наличие инструментария разработки (интегрированная среда может использоваться под Windows и Mac OS)[3].
Третьим преимуществом называется модульная система компонентов Unity, с помощью которой происходит конструирование игровых объектов, когда последние представляют собой комбинируемые пакеты функциональных элементов. В отличие от механизмов наследования, объекты в Unity создаются посредством объединения функциональных блоков, а не помещения в узлы дерева наследования. Такой подход облегчает создание прототипов, что актуально при разработке игр[8].
В качестве недостатков приводятся ограничение визуального редактора при работе с многокомпонентными схемами, когда в сложных сценах визуальная работа затрудняется. Вторым недостатком называется отсутствие поддержки Unity ссылок на внешние библиотеки, работу с которыми программистам приходится настраивать самостоятельно, и это также затрудняет командную работу. Ещё один недостаток связан с использованием шаблонов экземпляров (англ. prefabs). С одной стороны, эта концепция Unity предлагает гибкий подход визуального редактирования объектов, но с другой стороны, редактирование таких шаблонов является сложным[8]. Также, WebGL-версия движка, в силу специфики своей архитектуры (трансляция кода из C# в C++ и далее в JavaScript), имеет ряд нерешённых проблем с производительностью, потреблением памяти и работоспособностью на мобильных устройствах[9][10].
Игры на Unity
На Unity написаны сотни игр, приложений и симуляций[11], Unity используется как крупными разработчиками (например, Blizzard[12]), так и в создании инди-игр. Компьютерные игры на Unity охватывают множество платформ и жанров, характерными примерами которых являются[13]:
- 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[14], но позже команда разработчиков Unity приняла сложное решение по отказу[15] от этого.
В декабре 2009 года Gamasutra назвал Unity одним из самых значительных участников на рынке игровых компаний[16].
Лицензии
Бесплатная версия Unity имеет некоторые ограничения, но для неё есть возможность распространять игры при условии, что ежегодный доход с игры не превышает 100 000 долларов[17].
Тип лицензии | Доход компании в год | Экран приветствия | Сборка в облачном хранилище | Отчёты по производительности | Премиум поддержка | Доступ к исходному коду |
---|---|---|---|---|---|---|
Personal | До 100 000 долларов | «Made With Unity» и необязательная пользовательская анимация | Стандартная | Нет | Нет | Нет |
Plus | До 200 000 долларов | Пользовательская анимация и/или «Made With Unity» | Приоритетная | Да | Нет | Нет |
Pro | Неограничен | Пользовательская анимация и/или «Made With Unity» | Одновременная | Да | Да | Нет |
Enterprise | Неограничен | Пользовательская анимация и/или «Made With Unity» | Выделенные ресурсы | Да | Да | Да |
Industry | Неограничен | Пользовательская анимация и/или «Made With Unity» | Выделенные ресурсы | Да | Да | Да |
По другим данным, компания взимает с каждого разработчика ежегодную плату, которая варьируется от $400 до $4000 в зависимости от требуемых функций и размера компании-разработчика[18].
Unity Plus больше не доступен для новых подписчиков. Для тех, кто им уже пользуется есть возможность продлить тарифный план Unity Plus до 27 марта 2024 года.[19]
Примечания
- ↑ https://unity.com/releases/editor/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 года.
- ↑ 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 Technologies. How can I upgrade to Unity Pro for the price of Unity Plus? (англ.). unity.com (18 сентября 2023). Дата обращения: 28 декабря 2023. Архивировано 28 декабря 2023 года.
Литература
- Хокинг, Джозеф. 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