Что такое движок юнити
Unity
Unity — это игровой движок, на котором разрабатывают мобильные игры и проекты для ПК (Windows, iOS, Linux) и консолей, например для Xbox, PlayStation. В нем есть разные компоненты для работы с графикой, анимацией, физикой объектов, звуком, шаблонами и скриптами.
Это удобный бесплатный инструмент для начинающих разработчиков, в нем можно создавать проекты в одиночку. На этом движке созданы проекты Genshin Impact, Hearthstone, Outlast, Cuphead, Pokemon GO и другие популярные игры.
Некоторые игровые движки созданы под конкретные жанры или отдельные игры. Например, польская студия CD Projekt RED создала REDengine, на котором разработаны серии «Ведьмак» и Cyberpunk 2077. Unity можно считать универсальным мультиплатформенным движком, на котором создаются игры разных жанров (платформеры, шутеры, RPG и так далее).
Преимущества Unity
Читайте также: Как создать игру на Unity
Сложности в работе с Unity
Unity — отличный движок для мелких мобильных проектов, но для AAA-игры это не самый подходящий инструмент. Вот почему:
Интерфейс Unity
В интерфейсе есть несколько разделов, которые отвечают за разные элементы разработки — ассеты (шаблоны элементов), игровые объекты, настройку их свойств и параметров:
Разработчик игр на Unity
Научитесь разрабатывать игры, выпускать их на рынок и продвигать. Уже во время обучения вы создадите себе портфолио и откликаться на вакансии.
Unity — бесплатный кроссплатформенный 3D движок (и браузерный тоже)
Преамбула
Итак, сегодня я хотел бы рассказать вам о Unity (тем, кто ещё не знаком с ним, по крайней мере). Безусловно, на Хабре есть люди, которые знают, что это такое, но поиск выдаёт катастрофически малое количество топиков с упоминанием сабжа — два из них просто сообщают о новых версиях, один кратко презентует и ещё один посвящен всё-таки его использованию. «Непростительно, надо это исправить!», — подумал я, и решил написать краткий презентейшн с целью популяризации технологии. Если вы уже в теме — дальше можете не читать.
Честно говоря, когда я читал на википедии о бесплатном (по крайней мере, с вполне нормальной по функционалу фришной лицензией) 3d движке с нормальным IDE, встроенной нормальной физикой, аудио-движком и прямой реализацией сетевого мультиплеера на котором можно делать приложения для всего, кроме, пожалуй, nix’ов (поддерживаются и нормально работают Windows, MacOS, Wii, iPhone, iPod, iPad, Android, PS3, XBox 360), я уже чуял подвох.
Когда я узнал, что любое приложение под Unity можно собрать в специальную версию для встраиваемого в браузер плагина, и увидеть в окне Фаерфокса честное, полноценное тридэ, практически не занижая при этом качество моделей и разрешение текстур — я был почти уверен, что это, как всегда в подобных случаях, полная чушь.
А когда я поставил это чудо себе и убедился в правдивости всего вышесказанного — я почти что влюбился.
Много раз на свет появлялись технологии, которые ставили перед собой цель перенести в интернет честное тридэ. Вспомним провальный VRML, чуть менее провальный ActiveWorlds… Сегодня о них почти никто не помнит. Скоро весь мир заполонит HTML5, выйдет новый флэш с 3d-ускорением… Но пока этого не случилось, миром мультимедийного контента в вебе правит текущая версия Flash, вместе с Java и Silverlight’ом. Пожалуй, даже только Flash. Разработчики со скрипом пользуются другими технологиями, оно и понятно — заставить пользователя поставить ещё один сторонний плагин лишь для того, чтобы поиграть в одну игру/посмотреть один сайт сложно.
Однако с релизом новой, третьей версии вышеупомянутого движка можно подумать и о том, чтобы пересмотреть свои взгляды на любимый флэш. В конце концов, если уж гиганты флеш-игрушек типа Kongregate обратили внимание на эту технологию (в частности, они объявили конкурс на лучшую игру на Unity) — она стоит хотя бы того, чтобы на неё посмотреть.
Pro et Contra
Для начала, определимся с терминами. Unity — это полноценный игровой движок, рассчитанный на то, что весь процесс девелопмента (ну, кроме подготовки ресурсов и скриптинга) будет происходить в поставляемом в комплекте Редакторе Всего. Обычно такая постановка вопроса означает нежизнеспособного монстра, обросшего тормознутым GUI по самое не балуйся, рассчитанного на то, чтобы дать подросткам из разряда «геймдев-ваннаби» почувствовать себя причастными к геймдеву. Но не стоит пока закрывать вкладку с этим топиком — Юнити не из этого теста. Итак, чем же хорош Юнити? Посмотрим, а заодно сравним с UDK — SDK к UnrealEngine 3, который Epic Games не так давно сделали бесплатным для независимых разработчиков.
Дело в том, что у большинства небольших команд основной проблемой всегда становился движок (ну и отсутствие идеи и хорошего арта конечно же, но мы сейчас не об этом). Писать с нуля — единственному программисту в команде сложно это сделать, учитывая что движок это не только 3d-рендер, это ещё и куча инструментов пайплайна — импортеры, редакторы, вьюверы… Непосильная задача, если только не придерживаться минимализма. Минимализм это не плохо, столько замечательных игр сделано во всеми нами любимом стиле 8-bit, что не счесть… Но большинство из них — однодневки (Minecraft не в счет, да. И он кстати тоже написан не с нуля, а на LWJGL). Когда дело доходит до игры, в которую будут играть не один день, нужен полноценный движок, и тогда мы начинаем искать бесплатные решения. Ogre, Irrlicht и немногие им подобные — хороши конечно, но а) морально стары и б) на их изучение и допиливание до работоспособного состояния требуют много времени и большую теоретическую базу за спиной. Конечно и на них можно написать крутой продаваемый проект (Torchlight на Ogre тому примером), но тут все-таки нужен не один программист. Есть и наборы а-ля «игры без знания языков программирования», типа GameMaker, но это игрушки, право слово.
В случае с Unity же мы имеем уже готовый пайплайн, готовый рендерер, готовую физ., аудио и сетевую библиотеки, кодить можно на знакомом языке — фактически, со стороны кодинга нам нужно только знать основы, допустим, Яваскрипта, и недельку покопаться в официальной справке, чтобы склепать FPS. Минус одна преграда на пути к релизу. Если кто не верит в качество написанного чужими руками кода, который нельзя поправить — зацените, все совсем не так плохо.
Как это выглядит
Прямо в IDE можно нажать кнопку «Play», и протестить текущую сцену реалтайм:
Встроенный инспектор классов прощупывает, простите за тавтологию, классы на предмет переменных и позволяет менять переменные в скриптах на лету, не глядя в код. Причем не только int’ы, но и материалы, текстуры, модели… Очень экономит время. В документации к API указывается хорошим тоном не писать, допустим, путь к текстуре напрямую в скрипте, а просто делать свойством класса пустое свойство соответстующего типа, и выбирать в инспекторе нужное:
Инспекторы префабов (справа) и энтитей (слева). Грубо говоря, справа — заготовки объектов, слева — те объекты, что есть в текущей сцене. Удобно, что во время прогона уровня в редакторе (кнопка «play»), можно поставить прогон на паузу и посмотреть текущее состояние объектов — гораздо реже приходится читать логи или выводить на HUD дебажную строку, чтобы посмотреть поведение одной маленькой переменной:
А напоследок я скажу.
Подытоживая весь словесный мусор до этого момента, если вы делаете ААА-проект, вы, скорее всего, напишите свой движок. Или у вас уже есть движок от прошлого проекта. Или вы купите что-то уровня пресловутого UnrealEngine 3 с исходниками. Но это если вы делаете ААА-проект с десятком людей только на кодинге.
Если же у вас всего десять человек в студии (а тем паче, два), писать свой движок, как правило, слишком затратно. Одно искушение оказаться на волне полноценных браузерных 3D-игр (java-обертка для Ogre не в счет. Ну правда же) стоит того, чтобы попробовать Unity на практике. Скорость и сложность разработки обычной браузерной казуалки на ней не выше, чем на Flash, а графическое превосходство — налицо. Да и wow-эффект никто пока что не отменял.
В конце концов, на Unity можно делать сайты (спорно, но можно), презентации, визуализировать научные проекты… Все это можно было написать и вручную, на чистом OpenGL, но сравнив время и качество реализации, я все-таки склоняюсь к варианту на Unity. Flash пока что тоже в расчёт не берём — подождем релиза аппаратного 3d-ускорения.
Такие слова вызовут бурю эмоций у приверженцев других движков. «Да это все есть и в %enginename%», «на %enginename% сделана %gamename% и %gamename%, и все это без мерзкого всепоглощающего drag’n’drop’а»…
Я посоветую вам просто дать Unity шанс — своим удобством, возможностями, гибкостью и скоростью разработки она подкупает (по крайней мере, меня подкупила). И кроме того… Эй, это же полноценное тридэ в браузере! 🙂
UPD: ghisguth справедливо напомнил про русскоязычное комьюнити (довольное большое и активное) и кладезь скриптов, а также кладезь юзерских скриптов и туториалов.
Кто такая Unity и почему она всем нравится
Бесплатный движок с классной графикой, реалистичной физикой и понятным интерфейсом.
Unity — это среда для разработки игр. В мире много платформ для создания игр, но именно у этой всегда было много поклонников, особенно среди начинающих гейм-дизайнеров. В этой статье — почему всем нравится Unity и какие у неё возможности.
Наглядный редактор
Unity сразу идёт в комплекте со средой разработки. Это одновременно и редактор кода, и работа с графикой, и логика поведения предметов в игровой сцене, и всё остальное.
Особенность этого редактора в том, что всё это можно делать и настраивать прямо во время запуска или тестирования сюжета. Например, если вам не понравилось, как машина в игре реагирует на лужи, то можно не выходя из сцены поправить нужный параметр и сразу увидеть, что изменилось.
Трёхмерное и техническое моделирование
Игровой движок отлично справляется с задачами вроде трёхмерного моделирования объектов из реального мира. После того, как вы соберёте модель и зададите нужные свойства, можно будет посмотреть, как она работает в разных условиях, в том числе и в движении.
Бонус-часть: если у вас уже есть готовые трёхмерные модели чего угодно, их можно загрузить в Unity и оживить.
Современная графика
В играх важно, чтобы картинка на экране выглядела приятно и не создавала ощущение искусственности. В Unity встроен движок рендеринга в реальном времени — это значит, что изменение картинки происходит сразу, как только вы вносите какое-то изменение.
Ещё Unity умеет работать с глобальным светом, знает про трассировку лучей и физику отражений, что позволяет создавать реалистичную графику. Чтобы всё это работало быстро, движок поддерживает API всех популярных производителей видеокарт и технологий: Vulkan, iOS Metal, DirectX 12, NVIDIA VRWorks и AMD LiquidVR.
Готовая физика и взаимодействия предметов
То, как предметы в игре взаимодействуют между собой и с окружающей средой, называется физикой. Если писать правила такого взаимодействия с нуля для каждого объекта, на это может уйти очень много времени. Например, как описать физику резинового мяча по сравнению с физикой камня или металла? А физику автомобильного колеса?
В Unity уже есть готовая физика и шаблоны для создания своих правил — можно сразу использовать их в игре. Движок уже знает, что если на горку поставить коробку, она сползёт, перевернётся и остановится, а мяч в этой же ситуации должен просто покатиться дальше.
Когда забор сломался, бочки сами катятся вниз, потому что это уже предусмотрено в физике поведения.
Скрипты на JavaScript и C#
Одно из сильных мест Unity — скрипты на JS и C#. Вам не нужно изучать встроенный язык скриптования с его логикой и ограничениями — вы просто берёте любой из этих двух языков программирования и пишете что вам нужно.
Мультиплатформенность
Чтобы показать, где могут запускаться Unity-игры, мы просто вставим сюда эту картинку:
Одинаковые значки — это не повторы, а разные технологии на одной платформе. Андроид на процессорах ARM и Intel — это разный андроид с технической точки зрения, потому что отличается архитектура процессора, работа с железом и драйверы.
Проще говоря, игра, которую вы напишете на Unity, может запускаться на любом игровом устройстве. Вот это действительно круто.
Бесплатно
Если вы хотите создавать игры как простое физическое лицо, то используете Unity бесплатно. При этом есть некоторые ограничения: вы не должны получать больше ста тысяч долларов инвестиций за год, недоступен исходный код и отсутствует командная работа над проектом.
Даже с этими ограничениями Unity всё ещё остаётся хорошим инструментом для создания игр с нуля.
Платформа Unity
Платформа разработки 3D-контента в реальном времени позволяет художникам, дизайнерам и разработчикам работать вместе, создавая удивительные, иммерсивные и интерактивные приложения. Поддерживаются Windows, Mac и Linux.
The Heretic: a short film created with Unity 2019.3
Unity — это ведущая в отрасли платформа, предоставляющая инструменты для разработки и администрирования удивительных игр и их публикации на широком спектре устройств.
В чем преимущества Unity?
Создайте один раз и разверните на чем угодно
Будьте уверены в собственном успехе и успехе проекта, независимо от направлений развития индустрии и вашего воображения. Однажды разработав контент, вы сможете развертывать его на всех популярных платформах, включая AR, VR, мобильные устройства, ПК, консоли, телевизоры и веб-страницы.
Больше, чем движок
Unity — это гораздо больше, чем ведущая платформа разработки в реальном времени. Это еще и надежная экосистема решений, которые будут помогать вам на каждом этапе разработки игры — от формулирования идеи до успешного выпуска.
Создавайте потрясающие визуальные эффекты
Создавайте прекрасный иммерсивный контент, который привлекает внимание пользователей с первых пикселей. С помощью Unity творческие команды могут быстро проводить итерации в одной среде. Редактор Unity используется для создания миров, анимации и игровых сцен, а также рендеринга. Благодаря поддержке таких инструментов, как Maya и Blender, художники и дизайнеры могут всегда держать руку на пульсе.
Мощная, быстрая и гибкая платформа
Ускорьте выпуск своих игр. Unity поддерживает быстрое прототипирование и масштабируемые конвейеры ассетов в настраиваемом редакторе. Развертывайте высокопроизводительный код C# на более чем 20 платформах.
Что такое движок юнити
Единая платформа с гибкими решениями для разработки и развития игр, а также управления ими.
Без авторских отчислений — все доходы принадлежат вам
Более 20 платформ, поддерживающих Unity-контент
Доверие 1,5 млн активных разработчиков ежемесячно
Featured products
Unity Pro
The complete solution for professionals to create and operate real-time 3D experiences. Put the power of an entire ecosystem of tools, support, and community in your team’s hands to achieve better results, faster.
Unity Gaming Services
Wherever you are in your development lifecycle, Unity Gaming Services takes your game to the next level. Bring your vision to life and leverage our tools to run your online game, grow revenue, discover player insights, and more.
Everything you need to succeed
Unity is so much more than the world’s best real-time development platform – it’s also a robust ecosystem designed to enable your success. Join our dynamic community of creators so you can tap into what you need to achieve your vision.
Unity Learn
Advance your Unity skills with live sessions and over 750 hours of on-demand learning content designed for creators at every skill level.
Asset Store
Black Friday is on now. For a limited time, save 50% on over 500 bestselling assets, plus up to 90% on limited-quantity Lightning Deals that’ll be gone in a flash.
Documentation
Get up to speed on Unity features and workflows, and find out how to create and use scripts, with our thorough, well-organized documentation.
Gaming Services
Everything you need to build, manage and grow your game. Take your game to the next level with battle-tested services for every stage of the development lifecycle.