Обновить
7.55

Unity *

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

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

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

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

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

Читать далее

Unity: Как реализовать бесконечный ListView с изображениями?

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

В этой статье я расскажу, как реализовать бесконечный ListView c изображениями.

Для реализации задуманного будем использовать Unity UI Toolkit в паре с UnityMvvmToolkit. Я уже писал про UnityMvvmToolkit статью вот здесь. С тех пор API притерпел значительные изменения, а точнее, произведен переход на реактивные свойства, плюс появилась поддержка генераторов исходного кода...

Читать далее

Движок для матч-3 батлера, или Что делает каждый разработчик мобильных игр

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

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

Читать далее

Как создать популярную игру в Google Play

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

Привет! Меня зовут Екатерина Дума - я создательница команды altenia game, которая делает милые игры на телефоны (App Store и Google Play). Моя первая игра "Домашний сад Лулу" набрала +2 млн. органических загрузок на гугл плей и я хотела бы поделиться своим опытом с начинающими разработчиками.

Читать далее

Книга «Unity в действии. Мультиплатформенная разработка на C#. 3-е межд. издание»

Время на прочтение11 мин
Охват и читатели12K
image Привет, Хаброжители!

Создание игр — увлекательное дело, а Unity делает его простым и доступным! Unity возьмет на себя всю тяжелую работу, и вы можете сосредоточиться на игре, графике и взаимодействии с пользователем. Поддержка C# и огромная экосистема готовых компонентов позволят даже начинающим разработчикам быстро перейти от идеи к реализации. Осваивать и получать практический опыт работы с инструментами Unity и высокотехнологичным механизмом визуализации вы будете на примерах игр в двумерной, трехмерной и виртуальной/дополненной реальности.

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

Третье издание знаменитого бестселлера было полностью переработано. И самое главное — теперь в книге пойдет речь о дополненной и виртуальной реальности.

Осваивайте Unity и быстрее приступайте к созданию собственных игр!
Читать дальше →

Локализация игр при помощи ChatGPT — недорого и качественно. Гайд

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

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

Однако, при помощи ChatGPT мы можем сильно улучшить его качество, сделав перевод действительно похожим на работу человека!

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

Читать далее

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

Универсальный Автономный Модуль в Unity

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

Один из секретов быстрой и качественной разработки это унификация. В этой статье мы рассмотрим пример реализации Универсального Автономного Модуля UAM (Universal Autonomous Module). 

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

Однажды заказчик (издатель) выдал нам техническое задание на разработку модуля, который должен легко интегрироваться в любой проект, всех студий издателя. Но не будем вдаваться в подробности этого конкретного модуля. Представьте что вам досталась такая задача. Что бы вы делали? Таким модулем может быть что-то часто встречающееся в приложениях. Например внутриигровой магазин или еще что либо. В статье будет взят за пример реализация лидерборда для мобилок и планшетов. 

Цель ясна, осталось расписать задачи и реализовать модуль.

Читать далее

ДевЛог #20 — Лут менеджмент

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

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

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

Погнали

Как я делал руку с картами для своей карточной игры

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

Зона, с которой игрок чаще всего взаимодействует в карточной игре — это его рука (не путать с рукой в играх с 18+ контентом). Рука — это набор карт, которые игрок может разыграть в текущий ход. И раз это одно из самых важных мест, я решил уже на этапе прототипа сделать руку приятной и красивой.

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

Вот как раз во время работы с рукой (не путать с «во время работы рукой») я понял отличие качественной игры от поделки на уровне прототипа для тестирования геймплея. Все дело в мелочах и деталях. Посмотрите, как ведут себя карты в руке в Slay the Spire:

Читать далее

VR тренажеры снижают производственный травматизм

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

Мы изучили отчеты опубликованные министерством труда и социальной защиты Российской Федерации, а также открытые данные Федеральной службы по экологическому, технологическому и атомному надзору. (Официальные документы приведены.)

На 2020-2022 год наблюдается сокращение случаев производственного травматизма, однако в абсолютных числах ситуация следующая:

Читать далее

Система сохранения на Unity для начинающих

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

Привет, Хабр! Меня зовут Игорь, и я Unity Developer. В этой статье попытаюсь максимально просто рассказать и показать, как написать систему сохранения в игре в Unity. Скажу сразу, статья ориентирована для тех, кто только начинает свой путь в освоении разработки игр. Поэтому некоторые архитектурные принципы будут нарушены с целью упрощения кода. Ближе к концу статьи покажу как сохранять миссии, про которые писал ранее. Ну что ж, поехали...

Читать далее

Игра на ECS и как мы там живем

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

Привет, Хабр.

Постараюсь описать наш опыт и к чему мы пришли работая над игрой на ECS. Код приведен для LeoEcs Lite, но сами мысли очень общие. Буду рад критике и вашим мыслям.

Читать далее

Реализация миссий в игре на Unity (Ч2)

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

Привет, Хабр 👋

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

Читать далее