Unity — что это такое и в чем его особенности


Игровой движок Unity — самое популярное в мире приложение для создания игр. Он один уже больше десяти лет занимает треть рынка. На нем сделаны хитовые игры: Sons of the Forest, Lethal Company, Cult of the Lamb, Dave the Diver и сотни тысяч других проектов. 

Unity — что это?

Еще на заре программирования стало понятно, что рутинные задачи приходится выполнять многократно. Их стали собирать в готовые библиотеки и инструменты, которые впоследствии прижились и в игровой разработке. А самые сложные проекты, способные обработать графику и физику, стали называть игровыми движками.

Современные движки, в том числе Unity, содержат визуальный редактор игровых уровней и ресурсов, браузер файлов, средства для программирования и даже базовые компоненты для 3D-моделирования (хотя арт и звуки принято создавать отдельно). Именно движок помогает упаковать игру для нужных платформ, чтобы ее можно было запустить на компьютере, смартфоне или игровой приставке.

Основные особенности

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

Современная графика

Уже в Unity 2019 вышла стабильная версия модуля HDRP (конвейер рендеринга высокого качества). Вместо одного общего рендера появилось два — URP для старых платформ и HDRP для более современных. С ним у разработчиков появилась возможность повысить качество материалов и освещения вплоть до фотореалистичного.

 

 

Набросать красочное небо с объемными облаками поверх реалистичных гор с деревьями стало делом буквально нескольких минут. К тому же доступна технология трассировки лучей для совместимых платформ.

Физика и взаимодействие

Для обработки физики доступны сразу несколько специальных движков. Легендарный коммерческий движок Havok остается частью платной подписки, а встроенный Unity Physics (на основе открытых технологий NVIDIA) и модули вроде Jolt доступны бесплатно. При этом 2D и 3D физика живут отдельно.

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

Мультиплатформа

Большинство инструментов Unity, а также написанный код зачастую запустятся на всех платформах с минимальными доработками. Даже графику можно сразу делать в рамках URP (универсальный конвейер рендера) — в этом формате чуть меньше красот, но зато и результат получится совместимым даже со смартфонами.

Также компания уделяет внимание и нишевым платформам, например VR- и AR-шлемам вроде нового Apple Vision Pro. Да и поддержка браузерных игр с технологией WebGL пусть и потребует дополнительной оптимизации, но реализована лучше конкурентов.

Плагины и ассеты

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

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

Интуитивный редактор

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

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

Бесплатно

И, пожалуй, если искать корень успеха, то Unity можно использовать бесплатно. Первоначально проект продавали по лицензиям, но в октябре 2009 года инди-версию решили упразднить — программа «Юнити» для создания игр стала доступна для всех желающих без первоначального взноса. В то время Unreal Engine 3 стоил миллионы за лицензию на каждый проект, а Unity Technologies уже приглашали к себе всех желающих.

 

 

Сейчас условия стали даже более выгодными: бесплатную версию можно использовать, если физлицо или компания зарабатывает не более 200 тысяч долларов в год, доступна темная тема, ассеты, реклама, аналитика и большинство компонентов движка. Вскоре необязательным станет даже стартовый экран Made With Unity, который запомнился многим по расцвету инди-игр в начале десятых годов.

Преимущества Unity

Программирование C#

Главным языком в «Юнити» для создания игр и приложений остается C# (Си шарп) — писать на нем удобно, ошибки легко найти и исправить, а производительность получается весьма высокой. Язык куда проще C++ (применяемого в Unreal Engine) за счет автоматического управления памятью, а потому освоить его могут даже люди без технического склада ума.

 

 

Лидером по развитию проекта C# остается компания Microsoft, но язык также легко собирается для любых платформ, включая мобильные. И зачастую не требует менять основные функции проекта под новые платформы, а лишь добавить небольшие компоненты для удобства (например, управление с сенсорных экранов).

Визуальное программирование Bolt

Тем же, кто не может увидеть логику в тексте, стоит попробовать встроенный плагин Bolt. С ним игровые правила получится создавать с помощью блок-схем — в каждом узле можно получить данные, преобразовать и передать в другие части программы.

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

Такой подход называется визуальным программированием, ведь применяются наглядные блоки, да и многие изменения видно прямо на схеме без запуска игры.

Игровые ресурсы

Игровой движок «Юнити» ценится за модульный подход, когда можно взять объект и превратить его во что-то абсолютно другое за секунды — здесь содержимое определяет форму. Игра состоит из уровней, объектов и компонентов. Для начала создается уровень — это осязаемое и обозримое место в будущей игре, где можно собрать любые объекты. И именно уровень отображается в редакторе Unity как 3D-сцена.

На сцену добавляют объекты, а к ним компоненты — последние задают те свойства, которые будет иметь объект. Даже положение в пространстве — не обязательный параметр, а в одном предмете может быть сразу 3D-модель, физика, звук и скрипты, но этот же объект может управлять камерой или погодой.

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

Unity Asset Store

Компания также освоила и другой важный рынок, чтобы монетизировать модульный и бесплатный движок «Юнити», — встроенный магазин приложений Unity Asset Store. До Unity подобные сервисы либо жили отдельно от приложений, либо жестко управлялись издателем.

Но компания, вдохновляясь примером Apple, создала почти открытую среду, где любой может поделиться 2D и 3D-графикой, плагинами и даже целыми проектами. Сейчас в ассортименте почти сто тысяч товаров, многие из которых можно получить бесплатно. Благодаря этому запустить прототип игры в популярном жанре можно буквально за считанные дни из готовых ассетов.

Еще лучше то, что можно заработать на этом самому или с небольшой командой. Хорошие наборы 3D-моделей в общем стиле до сих пор очень ценятся (особенно элементы окружения). А уж анимированные персонажи могут продаваться за сотни долларов каждый.

Доход и монетизация

Для Unity игровой движок и его лицензии, как ни странно, — не главная статья доходов. Сделав ставку на бесплатный доступ 15 лет назад, в «Юнити» также запустили экосистему аналитики и собственную рекламную сеть Unity Ads. С их помощью любой разработчик может за минуты добавить к себе в проект типовые рекламные пресеты, популярные в мобильных играх. А компания собирает долю от всех доходов.

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

Быстрая и гибкая платформа для программистов

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

В проекте куда меньше строгих и полностью готовых решений, но зато больше компонентов, из которых можно собрать что-то действительно свое. Крупные плагины тоже доступны, но уже в Unity Asset Store, благодаря чему интерфейс самого движка по умолчанию остается минималистичным и удобным. А принятые в движок решения сделаны по общему шаблону и не выглядят как десять отдельных программ.

В доступных на сегодня версиях улучшили трассировку лучей, HDR, адаптивную производительность и обновили эффекты камеры, включая блики от линз. Это может показаться незначительным, но такие блики крайне важны для создания убедительной картинки в современных 3D-играх. Также переработали прозрачность и подповерхностное рассеивание, что позволяет значительно улучшить и ускорить отображение живых существ, стекла и других полупрозрачных материалов.

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

 

 

И, наконец, улучшили менеджер пакетов, чтобы подключать модули стало удобнее. Например, появились дочерние ассеты и вложенные проекты внутри модулей. Так, в HDRP доступна вкладка Samples, где можно ознакомиться со всеми новыми технологиями по фирменным проектам Unity.

Unity 6 и планы на будущее

Прошлой осенью на фоне рецессии в игровой индустрии Unity попытались провести оптимизацию бизнеса. Компания оставалась убыточной все время с момента основания, но раньше инвестиции в лидера отрасли текли рекой и аппетиты корпоративных боссов только росли — за последние годы среди купленных студий оказалась даже Weta Digital, знаменитая кузница эффектов для кино, включая «Властелин Колец» и «Аватар». А теперь, во время кризиса, от всех лишних активов пришлось резко избавляться.

Чтобы быстро покрыть расходы, в сентябре 2023 года боссы Unity решили ввести налог на каждую установку и даже переустановку игр, включая бесплатные и уже вышедшие, — таким образом многие проекты стали бы убыточными.

Идея подверглась серьезной критике, ее быстро отменили, уволили CEO Джона Ричителло и предложили более разумные варианты оплаты для клиентов. Но негатив не удалось остановить — тысячи разработчиков восприняли это как мотивацию искать замену для монополии. Крупные студии стараются перейти на Unreal Engine, а инди-разработчики освоили полностью бесплатный Godot Engine — аналог Blender в мире игровых движков. Многие боятся использовать движок «Юнити» для создания игр в будущем, опасаясь, что ситуация повторится.

Решение для Unity оказалось очевидным: теперь компания будет фокусироваться на игровом подразделении, обещает стать ближе к пользователям и даже вернет старый формат названий. Следующей версией станет Unity 6, а вовсе не Unity 2024. Наконец-то среди нововведений то, что пользователи действительно просят, — оптимизация больших уровней и улучшенное освещение. Кажется, что, несмотря на пережитый кризис, впереди у Unity светлое будущее.

 

 

Источник:   www.mvideo.ru

 

 



Вернуться назад