Движок юнити что это
Платформа Unity
Unity’s real-time 3D development platform lets artists, designers, and developers collaborate to create amazing immersive and interactive experiences. You can work on Windows, Mac, and Linux.
The Heretic: a short film created with Unity 2019.3
Unity’s industry-leading platform provides tools to create and operate amazing games and publish them to a wide range of devices.
В чем преимущества Unity?
Создайте один раз и разверните на чем угодно
Reach the widest possible audience and feel confident that your IP is future-proof, no matter how the industry evolves or where your imagination takes you. Build your content once and deploy across all major AR, VR, mobile, desktop, console and TV platforms, plus the web.
More than an engine
Unity is so much more than a leading real-time development platform – it’s also a robust ecosystem of solutions to help you at every stage of the game development lifecycle, from big idea to big success.
Produce stunning visuals
Create beautiful, immersive experiences that engage from the very first pixels. With Unity, creative teams can iterate quickly in the same environment. From worldbuilding, animation, and cinematics to rendering, the Unity Editor works seamlessly with tools like Maya or Blender to keep artists and designers in the flow.
A powerful, fast, and flexible platform
Get great games in the hands of your players faster. Unity enables both rapid prototyping and scalable asset pipelines with a customizable Editor. Deploy high-performing C# code to over 20 platforms.
“Unity not only brought out our best gameplay, they also helped make this amazing game available to a new Switch audience. They’re more than a long-term partner – they’re part of the core team.”
«Мне нравится доступ ко всем аспектам аудиовизуального повествования одновременно, в одном интерфейсе. Чистое творчество — это самый простой способ описать работу в Unity».
«Unity обеспечивает непревзойденное качество визуализации, что очень важно для иммерсивных приложений. Мы в восторге от мощи Unity».
Прочтите вдохновляющие истории творцов, выбравших Unity, чтобы воплотить свои проекты в жизнь.
Get creative
Wherever you are in your creative journey, Unity offers the resources you need to achieve even your wildest dreams.
Unity developer tools
Access the Unity ecosystem, manage your Unity projects, and install Editor versions, licensing, and templates from the Unity Hub. You can find and download the Hub and see an overview of our releases, roadmap, and documentation on the Developer Tools page.
Изучайте Unity
Build your skill set with our free, award-winning tutorials and sample projects. Full courses guide through the process of building video games, virtual reality (VR) or augmented reality (AR) experiences, and more. Join Unity Certified Instructors in live interactive sessions, and discover a rich trove of free resources you can access at your own pace.
Сообщество
Find help and discuss solutions with experienced Unity users. Share your knowledge. Share the love.
Поддержка и сервисы
Access diverse support services to find help and learning resources that fit your needs, wherever you are in your production process.
Центр ресурсов
Узнайте о том, как использовать мощь Unity в разработке игр и инновационных приложений с графикой реального времени для различных отраслей.
Первые шаги в Unity
Привет, Хабр. Материал подготовлен для тех, кто только начинает осваивать unity.
Unity — это один из самых популярных движков на данный момент. Составить ему конкуренцию может разве что Unreal Engine 4, но что у первого, что и у второго есть свои плюсы и свои минусы. Unity поддерживает почти 30 платформ, в их числе мобильные, виртуальная реальность, настольные компьютеры, консоли и так далее. Unity — это не просто хороший вариант для старта, это идеальный вариант для старта! Тут заложено использование гибкой модульной системы при создании сцен и персонажей в игре. Даже новичок способен создать крутой проект, используя готовые спрайты и конструктор движка.
Если же считаете, что готовы погрузиться с головой в «кирпичную систему» для продвинутых, то тут есть возможность настройки практически любого компонента. К примеру, разработка своего собственного шейдера или же переписать сетевой стек для потребностей своей игры.
Так с чего же начать работу на Unity и реализацию своего проекта?
Первым шагом будет установка ПО. На официальном сайте есть четыре разных версии программы для установки. Какую же выбрать? Всё по порядку. Версии представляют собой одинаковые функции движка.
Если вам интересно, вот что означают эти три варианта:
Unity Personal: эта версия бесплатна. Однако ваша компания должна зарабатывать менее 100 000 долларов за финансовый год. Еще одна загвоздка в том, что в каждой игре будет отображаться заставка «Сделано Unity», которую нельзя удалить.
Unity Plus: эта версия стоит 35 долларов в месяц. Он поставляется с инструментами отчетности о производительности, оболочкой Unity Pro и некоторыми дополнительными функциями. Эта версия требует, чтобы ваша компания зарабатывала менее 200 000 долларов в год, и она позволяет отключать или настраивать заставку «Сделано Unity».
Unity Pro: это самый высокий доступный уровень. Он стоит 125 долларов в месяц и поставляется с полезными сервисами Unity, профессиональными надстройками для iOS и Android и не имеет заставки. Ограничения по доходу тоже нет.
Также можно присмотреться к версии Enterprise, где стоимость подписки определяют пользовательские потребности.
Самые явные различия представленных версий — это то, что в Enterprise игры должны начинаться с заставки Unity. А в платных версиях можно удалить или загрузить другую заставку.
Плюс есть довольно интересные сервисы в Unity, к примеру, Cloud Build и Analytics. Естественно, они существуют только в платных версиях.
Для начала работы будет достаточно персональной версии, поэтому нажимаем кнопку «начать». Это приведёт к странице загрузки, нажимаем «принять условия и загрузить». Начнётся загрузка.
Первым установится Unity Hub
Unity Hub — это автономное приложение, которое упрощает процесс поиска, загрузки и управления вашими проектами и установками Unity.
Если вы запустите редактор Unity без установленного концентратора, Unity предложит вам установить его. Если у вас есть лицензия от предыдущей версии Unity, вы можете создать пустой проект из приглашения установки Hub. Если впоследствии вы попытаетесь создать или открыть проект из редактора Unity, Unity предложит установить Hub.
Создание проекта
Чтобы создать новый проект (и указать, в какой версии редактора его открыть), выполните одно из следующих действий:
Щелкните кнопку New. В строке заголовка диалогового окна «Новый проект» отображается версия редактора, которую должен использовать проект.
Щелкните стрелку раскрывающегося списка рядом с кнопкой «Создать», чтобы выбрать версию редактора, которую вы хотите использовать. Примечание: это раскрывающееся меню доступно только в том случае, если вы установили несколько версий редактора в хабе.
Вкладка «Проекты»
Чтобы просмотреть проекты, которыми управляет хаб, щелкните значок Проекты
Изучение интерфейса
Когда ваш проект загрузится, появится экран, заполненный информацией.
Ваш макет, вероятно, будет выглядеть так:
Если нет, нажмите кнопку «Макет» в правом верхнем углу и выберите 2 на 3 в раскрывающемся меню.
Каждый макет состоит из нескольких различных представлений. Вид просто панель информации, которую вы используете для управления. Например, есть представление для размещения объектов в вашем мире.
Вот как выглядит интерфейс, разбитый на отдельные представления:
Чтобы просмотреть список всех представлений, щелкните параметр «Окно» в строке меню.
Пользовательский интерфейс Unity полностью настраивается, поэтому вы можете добавлять, удалять и переупорядочивать представления по своему усмотрению.
При работе с Unity вы, как правило, захотите преобразовать представления в макет, который идеально подходит для данной задачи. Unity позволяет сохранять макеты для использования в будущем.
Представление Profiler позволяет анализировать вашу игру во время ее работы. К сожалению, профилировщик также блокирует просмотр игры, поэтому вы не сможете играть в игру, пока вы ее профилируете — не очень полезно.
Нажмите и удерживайте на вкладку Профили и перетащите его на вкладке Сцена выше.
Как видите, виды можно перемещать, закреплять и упорядочивать. Они также могут существовать вне редактора в виде плавающих окон.
Чтобы сохранить макет, выберите «Окно \ Макеты \ Сохранить макет…» и назовите его «Отладка».
Всякий раз, когда вам нужно получить доступ к этому конкретному макету, вы можете нажать кнопку «Макет» и выбрать «Отладка».
При нажатии вы увидите список всех ваших макетов.
Вы также можете удалить макеты. Если вы случайно выбросите стандартный макет в корзину, вы можете восстановить макеты по умолчанию.
Организация активов
Новички в Unity могут представить, что вы разрабатываете свою игру от начала до конца в Unity, включая написание кода, создание 3D-моделей и текстур и т. д.
На самом деле, лучше думать о Unity как об инструменте интеграции. Обычно вы пишете код или создаете 3D-модели или текстуры в отдельной программе и используете Unity, чтобы связать все вместе.
В своей игре у вас будет много ресурсов, поэтому очень важно организовать их таким образом, чтобы их было легко найти.
Представление, в котором вы импортируете и упорядочиваете активы, называется обозревателем проекта. Он имитирует организацию вашей файловой системы.
В предыдущих версиях Unity в каждом обозревателе проектов по умолчанию ничего не было. Вы можете думать о сцене как об уровне в вашей игре. Вы можете разделить все уровни на отдельные сцены или сохранить все в одной сцене. Выбор остается за вами.
В Диспетчере проектов выберите папку Assets и нажмите кнопку Create. В раскрывающемся меню выберите «Папка» и назовите ее «Модели». Это будет дом для всех ваших моделей. У вас может возникнуть соблазн создать папки и манипулировать файлами в файловой системе вместо обозревателя проекта. Не делайте этого!
Unity создает метаданные для каждого актива. Создание, изменение или удаление ресурсов в файловой системе может нарушить эти метаданные и вашу игру.
Создайте следующие папки: Animations, Materials, Prefabs, Presets, Scripts и Textures.
Ваш обозреватель проекта должен выглядеть так:
Лично я считаю, что большие значки папок отвлекают. Если у вас также есть предпочтение, вы можете увеличить или уменьшить размер с помощью ползунка в нижней части Диспетчера проектов.
Примечание. Все снимки экрана в этом руководстве с этого момента будут отображать самые маленькие настройки.
Наконец, вы можете изменить название актива. Например, ваша текущая сцена называется SampleScene. Выберите папку Scenes, а затем выберите файл SampleScene. Имя будет выделено. Один раз щелкните по нему еще раз, и вы напишете новое имя. Измените его на Main.
Вы можете сделать это с любой папкой или активом в Диспетчере проектов.
Если вам интересно узнать подробнее о формате обучения и программе, познакомиться с преподавателем курса — приглашаем на день открытых дверей онлайн. Регистрация здесь.
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 всё ещё остаётся хорошим инструментом для создания игр с нуля.