На чем работает юнити

Разработчик игр на Unity: как начать работать с востребованным игровым движком

По данным сайта gamedatacrunch.com, в 2021 году 49,48% всех платных игр, вышедших в Steam, были сделаны на Unity. А в сфере мобильных игр этот показатель уже давно превысил 50%. В этом материале мы расскажем, почему движок стал настолько популярным, и объясним, почему начинающие разработчики и небольшие инди-команды предпочитают использовать Unity.

Чтобы лучше разобраться в теме, мы поговорили с fullstack-разработчиком DECA Games Рашидом Гайнутдиновым и техническим геймдизайнером Banzai Games Дмитрием Лукичевым — они объяснили, какими достоинствами обладает Unity, и поделились полезными материалами для обучения.

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнитиПлатформер Ori and the Will of the Wisps от австрийской студии Moon Studio создан на Unity

Главные особенности Unity

Сейчас существует множество открытых движков, но самые популярные и крупные из них — это Unity и Unreal Engine 4. Принципиальные различия между двумя движками лежат на уровне языка программирования — C# для Unity и C++ для UE4. Первый более строгий и имеет меньший порог входа, а второй предоставляет больше возможностей, но требует большей дисциплины от разработчика.

Игровой движок Unity не просто так стал одним из самых популярных во всём мире. Его ценят за:

простоту — у движка низкий порог входа, поэтому его могут освоить даже новички,

универсальность — с его помощью можно сделать игру для любой современной популярной платформы (ПК, iOS, Android, PlayStation, Xbox, Switch),

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

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнитиКлассическая партийная RPG Pathfinder: Kingmaker от российской студии Owlcat Games создана на Unity

По словам экспертов, благодаря особенностям движков в индустрии произошло разделение. Если компания разрабатывает ААА-игру, то предпочтение отдаётся Unreal Engine, поскольку он более производителен и имеет больше готовых функций. Unity чаще всего используется для инди-проектов или мобильных игр — в движке меньше стоковых функций и его можно охарактеризовать как «песочницу», из которой можно создать мастерскую, удобную для работы над конкретным жанром или серией игр.

По мнению Рашида Гайнутдинова, главное преимущество Unity — это простота и гибкость.

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

Дмитрий Лукичев отметил, что гибкость Unity позволяет компаниям в короткие сроки и с минимумом вложений подстраивать движок под собственные нужды. Компании могут расширять набор функций под конкретный проект. Это касается как масштаба, так и жанра — Unity одинаково хорошо подходит и для создания небольшой головоломки, и для огромной классической RPG.

Если вы новичок или работаете в небольшой независимой команде, то Unity — однозначно ваш выбор.

Unity подходит даже для соло-разработки. К примеру, создатель медитативной приключенческой игры A Short Hike Адам Робинсон сделал её в одиночку всего за четыре месяца — до этого он часто участвовал в геймджемах и просто экспериментировал с механиками, поэтому к моменту начала разработки он отлично разбирался в движке и его инструментах.

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнитиA Short Hike

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

В магазине движка есть много платных и бесплатных ассетов. Там можно найти как простые 3D-модели и незамысловатые механики, так и сложные системы, которые помогут реализовать отдельные игровые аспекты, например, искусственный интеллект или инвентарь.

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

Почему Unity удобен для старта в геймдеве

Помимо Unity и Unreal Engine 4 существуют игровые конструкторы, которые могут облегчить создание простых игр для новичков. Как отметил Лукичев, хоть это и проще, но если ваша конечная цель — стать востребованным специалистом в игровой индустрии, то лучше изучать популярные инструменты. Чаще всего в вакансиях требуется знакомство с Unity или Unreal Engine 4, а знание GameMaker или Construct может оказаться лишь незначительным плюсом, так как в работе это вряд ли потребуется.

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнитиВ основе минималистичного шутера Superhot находится Unity

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

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

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнитиМрачная метроидвания Hollow Knight от инди-команды Team Cherry сделана на Unity

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

Unity дружелюбен даже для тех, кто вообще не владеет C# — движок уже давно поддерживает систему визуального программирования Bolt, которую можно использовать для написания игровой логики без кода.

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнитиПример использования визуального скриптинга в Bolt

Это значит, что в Unity могут работать и те разработчики, которые не специализируются на программировании. К примеру, Bolt позволяет гейм-дизайнерам быстро прототипировать свои задумки, чтобы сразу же опробовать механики в действии, а левел-дизайнерам самостоятельно настраивать триггеры на локациях.

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

Человеку, который никогда не работал с игровыми движками и не программировал в принципе, будет сложно освоить всё это в короткие сроки. Если есть желание попасть в разработку игр, я бы предложил начать с простого программирования, но если вы уже в геймдеве, но не задействованы в написание кода — визуальный скриптинг отличный выбор.

Дмитрий Лукичев, технический геймдизайнер Banzai Games.

Проект Fantasy MOBA от разработчика Ludiq создан на Bolt

Источники для обучения

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

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

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

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

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнитиМрачный платформер про тоталитарное общество Inside сделан на Unity

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

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

Сколько зарабатывают разработчики на Unity

Ежегодно совокупная прибыль в игровой индустрии растёт — в 2020 году прирост составил 19,6% по сравнению с годом ранее. При этом мобильные игры, среди которых Unity наиболее востребован, в 2020 году принесли 49% от всего дохода игровой индустрии.

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнитиПопулярная MMORPG Genshin Impact способна удивить красивыми пейзажами. Она тоже сделана на Unity

Эта статистика показывает, что профессия Unity-разработчика сейчас востребована на рынке труда. К примеру, на начало октября на HeadHunter в целом по России было более 1200 вакансий на запрос «Unity Developer». Так что у Unity-разработчика всегда есть широкие возможности при выборе места работы.

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнити

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнити

Часто вакансии публикуются на площадках, которые специализируются на поиске работы в геймдеве и IT-сфере: Talents in Games, HR in GameDev, Хабр Карьера, «Вакансии» на DTF.

Unity стал наиболее популярным игровым движком из-за целого ряда преимуществ:

простота, благодаря которой движком могут овладеть даже новички,

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

гибкость — движок можно глубоко настраивать под каждый новый проект,

огромная библиотека ассетов, с помощью которых можно ускорить и упростить разработку,

наличие системы визуального скриптинга,

множество источников для обучения и обмена опытом.

Unity повсеместно используется в игровой индустрии — этот движок применяют как для крупных консольных игр, так и для небольших мобильных проектов. Кроме того, на нём можно сделать игру и в одиночку. Благодаря этому у разработчика на 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 для опытных программистов

В Unity скрипты можно использовать для разработки практически любого элемента игры или интерактивного контента с графикой реального времени. Unity поддерживает скрипты на C#, созданные в соответствии с одним из двух основных подходов: традиционным и широко использующимся объектно-ориентированным подходом и информационно-ориентированным подходом, который теперь тоже поддерживается в Unity в отдельных случаях благодаря нашему высокопроизводительному многопоточному стеку информационно-ориентированных технологий (DOTS).

Unity поддерживает C#, стандартный в отрасли язык программирования, в некоторой степени похожий на Java или C++.

По сравнению с C++, C# легче в изучении. Кроме того, он относится к категории языков «с управлением памятью», то есть он автоматически распределяет память, устраняет утечки и так далее.

Как правило C# удобнее C++, если вам нужно в первую очередь разработать игру, а потом уже работать над различными сложными аспектами программирования.

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнити

Вся интерактивность и игровой процесс в Unity строятся на основе трех фундаментальных блоков: объекты GameObject, компоненты и переменные.

Любой объект в игре является GameObject, будь то персонажи, источники света, спецэффекты, декорации и все остальное.

Компоненты
Игровые объекты сами по себе не имеют никакого поведения. Для того, чтобы объект начал работать, игровому объекту нужны различные атрибуты, добавляемые с помощью компонентов.

Компоненты (Component) определяют поведение игровых объектов, к которым они прикреплены, и управляют ими. Простой пример — создание источника света, включающее прикрепление компонента Light к GameObject (см. ниже). Таким же примером может быть добавление компонента Rigidbody к объекту, чтобы он мог падать.

Компоненты имеют ряд свойств или переменных, которые можно настроить в окне Inspector редактора Unity и/или с помощью скрипта. В примере выше к свойствам источника света относятся дальность, цвет и интенсивность.

В Unity есть множество самых разнообразных компонентов, но вы вскоре можете столкнуться с необходимостью создать собственный компонент для реализации своих алгоритмов. Это можно сделать с помощью скриптов, в которых описана ваша собственная игровая логика и поведение объектов, и которые затем прикрепляются к игровым объектам как компоненты. Каждый скрипт связывается с внутренними механизмами Unity путем реализации класса, производного от встроенного класса MonoBehaviour.

Компоненты на основе скриптов позволяют запускать игровые события, проверять объект на предмет столкновений, применять физические свойства, программировать реакцию на управление пользователя и многое другое. См. Unity Scripting API для дополнительной информации.

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнити

Традиционная модель «игровой объект — компонент» хорошо работает и сегодня, поскольку она проста как для программистов, так и других пользователей, а также удобна для создания интуитивных интерфейсов. Добавите компонент Rigidbody к объекту GameObject — он начнет падать, добавите компонент Light — GameObject начнет излучать свет. Все остальное также подчиняется этой простой логике.

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

Компоненты и игровые объекты относятся к «тяжелым объектам C++». Все объекты GameObject имеют имя. Их компоненты представляют собой оболочки для C# поверх компонентов на C++. Это упрощает работу с ними, но может влиять на производительность, если они будут храниться в памяти без явной структуры. Объект C# может находиться на любом участке памяти. Объект C++ также может находиться в любом участке памяти. Группировка и последовательное размещение объектов в памяти отсутствуют. При каждой загрузке в центральный процессор для обработки объект приходится собирать по частям из разных участков памяти. Это может сильно замедлить загрузку, а оптимизация потребует много усилий.

Для решения этих проблем мы начали перерабатывать базовые системы Unity на основе высокопроизводительного, многопоточного стека информационно-ориентированных технологий или DOTS (в настоящее время в статусе предварительной версии).

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

ECS — это новая система компонентов в составе DOTS; все традиционные объектно-ориентированные манипуляции над GameObject отражаются на экземпляре в новой системе. Название «Компонент» никак не изменилось. Важнейшее отличие — в структуре данных. Подробнее об этом можно узнать из статьи «О DOTS: Entity Component System».

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнити

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

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

Некоторые из технологий DOTS все еще находятся в статусе предварительной версии, поэтому мы советуем разработчикам использовать стек для решения отдельных вопросов производительности проекта, не строить на базе DOTS весь проект. См. раздел «Дополнительные ресурсы» в конце этой страницы, где указаны ссылки на ключевые ресурсы DOTS.

На чем работает юнити. Смотреть фото На чем работает юнити. Смотреть картинку На чем работает юнити. Картинка про На чем работает юнити. Фото На чем работает юнити

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

Вот несколько полезных ресурсов по оптимизации в Unity:

Наилучшие методики для общих случаев (включая подробные советы по оптимизации системы интерфейса Unity)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *