Как стать автором
Обновить
12.85

Unity *

Инструмент разработки 2D/3D-игр

Сначала показывать
Порог рейтинга
Уровень сложности

Почему Cities: Skylines 2 так тормозит (часть 2, самое мясо)

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 31K

[Первая часть]

Генерация скайбокса

В игре используется встроенная система неба HDRP Unity, то есть она генерирует текстуру скайбокса (кубическую карту) в каждом кадре. Это занимает около 0,65 миллисекунды, что не очень много по сравнению со всем остальным, но если игра нацелена на генерацию 60 FPS, то это будет почти 4% от общего бюджета времени на кадр.

Предварительный проход

Теперь мы переходим к самому рендерингу. В C:S2 используется отложенный рендеринг: по сути, это означает, что рендеринг выполняется за несколько фаз и с использованием множества промежуточных render target. Первая фаза — это предварительный проход, создающий попиксельную информацию о глубине, нормалях и (преположительно) о гладкости, записывая их в две текстуры.

Этот проход на удивление затратен, он занимает примерно 8,2 миллисекунды, то есть слишком много, и именно здесь начинает проявляться одна из самых больших проблем рендеринга игры. Но для начала нам нужно поговорить о тех самых зубах.

Читать далее
Всего голосов 81: ↑79 и ↓2 +77
Комментарии 58

Почему Cities: Skylines 2 так тормозит (часть 1)

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 27K

Одна из самых долгожданных игр для PC Cities: Skylines 2 вышла в конце октября, но получила смешанные отзывы. По моим ощущениям, геймплейно и с точки зрения симуляции игра сделала шаг в правильном направлении, и по крайней мере, теоретически она выглядит более целостной по функциям, чем первая часть. Однако в ней присутствуют существенные изъяны, от проблем с балансом и спорных дизайнерских решений до багов, из-за которых экономическая симуляция игры становится практически бесцельной. Стала ли она достойным преемником оригинала — пока вопрос открытый, но все сходятся в одном: производительность проекта далека от должного уровня.

Читать далее
Всего голосов 39: ↑38 и ↓1 +37
Комментарии 22

Road Run, или как я свою первую игру делал. Часть 2

Уровень сложности Простой
Время на прочтение 13 мин
Количество просмотров 3K

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

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

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Удар молнии с VFX Graph

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 1.8K

Публикация направлена на новичком или людей плохо знакомых с VFX Graph. Это туториал по созданию ассета с VFX ударом молнии на основе кривой Безье с добавлением шума.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 1

Истории

Road Run, или как я свою первую игру делал. Часть 1

Уровень сложности Простой
Время на прочтение 13 мин
Количество просмотров 7K

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

Читать далее
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 1

Архитектура unity проектов

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 13K

За всю карьеру удалось поработать на множестве игровых проектов в качестве лида. За более чем 5 лет удалось насмотреться на разные подходы к созданию проектов.

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

Не волнуйтесь, никаких SOLID и других изотерических практик. Коротко, по делу, подкрепленное использованием на нескольких проектах.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 18

One-on-one. Девлог. Карта со сложным кастомным эффектом

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 823

На этой неделе продолжил (и пока что закончил) рефакторинг. За счет этого быстро добавил карту, на реализацию которой раньше ушла бы куча времени.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 0

Как TDD помогает мне делать RTS

Время на прочтение 4 мин
Количество просмотров 6.5K

Привет, Хабр! Меня зовут Игорь, и я Unity Developer. В этой статье я хотел бы поделиться кейсом, как Test Driven Development помогает мне разрабатывать мою RTS игру.

Читать далее
Всего голосов 29: ↑26 и ↓3 +23
Комментарии 18

PVS-Studio помогает оптимизировать проекты на Unity Engine

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 1.7K

Недавно анализатор PVS-Studio начал выдавать предупреждения о возможностях оптимизации кода в проектах под Unity Engine. Какие они, эти предупреждения? Как анализатор понимает, какой код стоит оптимизировать? Почему это сделано именно для Unity? Ответы в заметке.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 4

One-on-one. Девлог. Отделение логики от анимаций и переход на ивенты

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 1.1K

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

Читать далее
Всего голосов 12: ↑7 и ↓5 +2
Комментарии 2

Нодовая архитектура на Unity

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 5.7K

Меня зовут Игорь, и я Unity Developer. В этой статье я хотел бы поделиться кастомной архитектурой, которую сделал в процессе разработки своей RTS игры.

Скажу сразу: что основные концепции и принципы уже используются в различных DI фреймворках, таких как Zenject & VContainer. Поэтому чего-то феноменального в этой статье вы не увидите. Но, поскольку я люблю делать свои велосипеды, то в свою архитектуру я привнес парочку интересных вещей, которых нет в других DI фреймворках на Unity. Ну шо, поехали :)

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 7

Модульные механики на Unity

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 5.5K

Привет, Хабр! Меня зовут Игорь, и я Unity Developer. В этой статье хотел бы рассказать, как можно делать модульные механики для игровых объектов, за счет разделения данных и логики без ECS.

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 18

Godot — это не новая Unity. Анатомия вызова API в Godot

Время на прочтение 26 мин
Количество просмотров 24K

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

Апдейт: ведущий разработчик Godot Хуан Линьетски опубликовал ответ на этот пост.

Читать далее
Всего голосов 23: ↑23 и ↓0 +23
Комментарии 35

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн

«Ушами Саунд-Дизайнера | Проект 01» — Unity 2D Game Kit + FMOD

Уровень сложности Средний
Время на прочтение 23 мин
Количество просмотров 1.4K

Привет! Меня зовут Даниил, я занимаюсь саунд-дизайном (sound design) и пишу музыку. Это первая моя статья и по совместительству пилотная в планируемом цикле; поэтому, вероятно, она будет содержать дополнительную информацию, которую я планирую перенести в отдельную публикацию (если данная серия получит продолжение).

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

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

Примечание: предполагается что читатель знаком с базовыми принципами работы в FMOD и Unity.

Сейчас я планирую рассмотреть наиболее нетривиальные моменты с упором на процесс имплементации аудио. В противном случае статья может незаметно превратиться N-страничный нечитабельный талмуд. Все учебные проекты, о которых будет рассказано, находятся в свободном доступе и выполнены на Unity engine (Asset Store) и Unreal engine (Unreal Engine Marketplace).

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

Читать далее
Рейтинг 0
Комментарии 0

Итак, вы решили перейти с Unity на Unreal Engine

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 24K

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

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

С чего начать?

• Прочитайте документацию по Gameplay Framework. Всю целиком! У Unreal есть Gameplay Framework. Прочитайте документацию и освойтесь в ней. Это правильное решение при разработке любого типа игры. Не пропускайте её. Держите её под рукой, чтобы перечитывать.

• Влейтесь в сообщество. Это учетверит вашу скорость обучения. Есть Discord для бывших Unity-разработчиков Алекса Роуза и есть мой Discord.

• Почитайте Epic Online Learning Library. Вот она. Делайте упор на статьи, написанные Epic Games.

• Скачайте последнюю версию Unreal Engine из Epic Games Launcher. На данный момент это 5.3. В общем случае всегда стоит начинать проект на самой новой версии. Кроме того, нет никаких причин больше пользоваться UE4 — UE5 лучше и имеет все возможности UE4.

• Изучите документацию «Unreal Engine for Unity Developers» компании Epic. Это хороший способ начать. Вот она.

• Прочитайте статью целиком. Я знаю, здесь много текста, но не ничего не пропускайте! Всё это очень важная и точная информация! В Интернете много некачественных сведений об Unreal, но не здесь. Здесь всё правильно.

Читать далее
Всего голосов 31: ↑31 и ↓0 +31
Комментарии 26

Unity: 8 ошибок при использовании Async

Уровень сложности Средний
Время на прочтение 18 мин
Количество просмотров 9.6K

Это вторая статья из серии про использование async/await в Unity. В первой мы разобрали восемь причин отказаться от Coroutine в пользу Async. В данной же статье посмотрим на самые распространённые ошибки при использовании async/await.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 18

Unity стреляет себе в ногу

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 16K

Разбор полётов. В чём суть смены модели лицензирования Unity? Чем это грозит? Убьёт ли это инди и, в частности, гиперказуалки? Нужно ли прям сейчас бежать на другой движок?

Читать далее
Всего голосов 17: ↑13 и ↓4 +9
Комментарии 42

Работа с Gradient через jobs + burst

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 1.3K

В Unity есть класс Gradient, который предоставляет удобные средства для управления градиентом в рантайме и редакторе. Но т.к. это класс, а не структура использовать его через Job system и burst нельзя. Это первая проблема. Вторая проблема — это работа с ключами градиента. Получение значений осуществляется через массив, который создаётся в куче. И как следствие напрягает сборщик мусора.

Сейчас я покажу как можно решить эти проблемы. И в качестве бонуса получить увеличение производительности до 8 раз при выполнении метода Evaluate.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 1

Что же беспокоит разработчиков в связи с Unity Runtime Fee? (TL;DR)

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 11K
Дисклеймер: эта статья не претендует на стопроцентную правдивость и/или объективность, в ней перечислены краткие выводы, к которым я пришел после прочтения определенной части соответствующего треда на форуме.

На днях представитель Unity Technologies (далее — Unity) сообщил, что с января 2024 года Unity начнет взимать дополнительную плату с разработчиков за установки игр, созданных на основе игрового движка Unity Engine.

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

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

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

Заявление вызвало бурное негодование разработчиков не только на форуме Unity, но и во всех популярных медиа. Вот список основных претензий разработчиков:
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 44

Всероссийский конкурс «Начни игру» и публикация приложения в RuStore

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 3.2K

Изначально статья была написана в январе 2023

Думаю не стоит лишний раз напоминать о той обстановке, в которой мы живём последний год. Как только всё тогда началось, вновь пошли разговоры про импортозамещение и поддержку отечественного производителя, в том числе и в IT. Было очевидно, что в нашей стране за последние N лет в этом отношении было сделано немного, мягко говоря. Тем не менее, ещё не всё потеряно. :-)

Читать далее
Всего голосов 20: ↑10 и ↓10 0
Комментарии 14