Обновить
10.2

Unity *

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

Время на прочтение4 мин
Охват и читатели7.5K

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели9.6K

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

Читать далее

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

Время на прочтение26 мин
Охват и читатели29K

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Меня зовут Джо Уинтергрин, я генералист 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, но не здесь. Здесь всё правильно.

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

Читать далее

Шейдер интерьеров — придаём объём плоским зданиям

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели6.3K

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

Читать далее

Как ChatGPT учит кодить и помогает писать код для инди-игры

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

Делаю ККИ на Unity. В программировании совсем новичок. Долго отнекивался от использования нейросетей, но решил попробовать и СhatGPT подсказала подходящие решения и помогла быстрее изучать программирование.

Читать далее

UI Router в Unity + CustomEditor

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели2.5K

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

Для систематизации работы интерфейса предлагается заимствовать опыт из веб разработки.

Читать далее