Мы в компании давно работаем с Unity и не могли не пригласить их ребят на Pixonic DevGAMM Talks, который был в сентябре. Field Engineer Валентин Симонов рассказал, как планировать архитектуру игр с учетом преимуществ новых технологий. Unity работает над ними уже несколько лет, чтобы добиться недостижимого ранее уровня производительности. Послушать выступление можно на YouTube, а почитать расшифровку со слайдами — сразу под катом.
Рубрика «unity» - 22
Как ECS, C# Job System и SRP меняют подход к архитектуре
2018-10-23 в 8:55, admin, рубрики: 3d, Gamedev, unity, unity3d, Анализ и проектирование систем, архитектура, Блог компании Pixonic, геймдев, доклад, конференции, митап, мобильные игры, проектирование, производительность, разработка игр, рендеринг, юнитиНаписание шейдеров в Unity. GrabPass, PerRendererData
2018-10-22 в 16:08, admin, рубрики: shader, shaders, unity, unity3d, разработка игрПривет! Я хотел бы поделиться опытом написания шейдеров в Unity. Начнем с шейдера искажения пространства (Displacement/Refraction) в 2D, рассмотрим функционал, используемый для его написания (GrabPass, PerRendererData), а также уделим внимание проблемам, которые обязательно возникнут.
Информация пригодится тем, кто имеет общее представление о шейдерах и пробовал их создавать, но мало знаком с возможностями, которые предоставляет Unity, и не знает с какой стороны подступиться. Загляните, возможно, мой опыт поможет вам разобраться.
Работа со статусами персонажа. Эксперименты в Unity
2018-10-13 в 19:13, admin, рубрики: C#, Gamedev, unity, unity3dРазрабатывая игру на Unity я столкнулся с интересной задачей: как сделать расширяемое время действия негативных или положительных эффектов на персонаже.
Вкратце у меня есть персонаж, к которому могут применяться некие эффекты, как ослабление, усиление, повышение скорости, снижение скорости и прочие. Чтобы оповещать игрока о действии того или иного эффекта, в игре предусмотрена статусная строка.
Первые версии этой строки содержали затемненные иконки всех статусов и при наступлении эффекта, загоралась нужная.
Читать полностью »
Карты из шестиугольников в Unity: вода, объекты рельефа и крепостные стены
2018-10-12 в 9:06, admin, рубрики: hexagonal grid, unity, unity3d, динамические меши, карты из шестиугольников, разработка игр, шестиугольникиЧасти 1-3: сетка, цвета и высоты ячеек.
Части 4-7: неровности, реки и дороги.
Часть 8: вода
- Добавляем в ячейки воду.
- Триангулируем поверхность воды.
- Создаём прибой с пеной.
- Объединяем воду и реки.
Мы уже добавили поддержку рек, а в этой части полностью погрузим ячейки в воду.

Вода прибывает.
Читать полностью »
Под капотом Graveyard Keeper: Как реализованы графические эффекты
2018-10-11 в 10:58, admin, рубрики: graveyard keeper, normal mapping, unity, unity3d, разработка игр, шейдерыВсем привет! Целых 4 года я не писал на Хабр. Последняя моя серия постов была о различных инструментах и приемах, которые мы применяли на нашей прошлой игре (разрабатывая ее на Unity). С тех пор игру ту мы благополучно выпустили, а также выпустили и новую. Так что теперь можно немного выдохнуть и написать несколько новых статей, которые могут быть кому-то полезны.

Сегодня я хочу рассказать о графических приемах и ухищрениях, которые мы применяли для создания той картинки, которую вы видите на гифке выше.
Мы очень трепетно относимся к визуалу наших игр и по этому вложили довольно много времени и сил в различные эффекты и прочие плюшки, которые позволили бы сделать наш пиксель-арт максимально привлекательным. Возможно, кто-то найдет что-то полезное для себя.
Для начала, кратко перечислю из чего собирается картинка в нашей игре:Читать полностью »
Карты из шестиугольников в Unity: неровности, реки и дороги
2018-10-05 в 9:13, admin, рубрики: hexagonal grid, unity, unity3d, динамические меши, карты из шестиугольников, разработка игр, шестиугольники
Начало: части 1-3.
Часть 4: Неровности
Оглавление
- Сэмплируем текстуру шума.
- Перемещаем вершины.
- Сохраняем плоскостность ячеек.
- Подразделяем рёбра ячеек.
Пока наша сетка являлась строгим узором из сот. В этой части мы добавим неровности, чтобы карта выглядела естественнее.
Читать полностью »
Карты из шестиугольников в Unity: части 1-3
2018-09-29 в 8:04, admin, рубрики: hexagonal grid, unity, unity3d, динамические меши, карты из шестиугольников, разработка игр, шестиугольники
От переводчика: эта статья — первая из подробной (27 частей) серии туториалов о создании карт из шестиугольников. Вот, что должно получиться в самом конце туториалов.
Часть1: создание сетки из шестиугольников
Оглавление
- Преобразуем квадраты в шестиугольники.
- Триангулируем сетку из шестиугольников.
- Работаем с кубическими координатами.
- Взаимодействуем с ячейками сетки.
- Создаём внутриигровой редактор.
Этот туториал является началом серии о картах из шестиугольников. Сетки из шестиугольников используются во многих играх, особенно в стратегиях, в том числе в Age of Wonders 3, Civilization 5 и Endless Legend. Мы начнём с основ, будем постепенно добавлять новые возможности и в результате создадим сложный рельеф на основе шестиугольников.
Читать полностью »
Приглашаем на Voronezh Game Dev Meetup
2018-09-28 в 12:58, admin, рубрики: mysql, postgresql, postrgresql, unity, unity3d, Блог компании Mail.Ru Group, игровая разработка, оптимизация, разработка игр
17 октября в воронежском офисе Mail.Ru Group пройдёт митап по разработке игр. Разработчики Mail.Ru Group расскажут об интересных методах и инструментах, с которыми им довелось работать, и у вас будет время для обсуждения всех выступлений и обмена опытом.
Участие бесплатное, регистрация обязательна.
Читать полностью »
Как мы отлаживаем в браузере самописный ECS на игровом сервере
2018-09-25 в 8:37, admin, рубрики: android, C#, ecs, Gamedev, iOS, mobile development, multiplayer, online, pvp, unity, unity3d, архитектура, Блог компании Pixonic, геймдев, мобильные игры, мультиплеер, проектирование, Проектирование и рефакторинг, разработка игр, разработка мобильных приложений, управление проектами, шутерХочу поделиться механизмами, которые мы используем на сервере для визуальной отладки игровой логики и способами изменения состояний матча в реальном времени.
В предыдущих статьях подробно рассказывали (список сразу под катом) о том, как устроена ECS в нашем новом проекте в разработке и как выбирали готовые решения. Одним из таких решений был Entitas. Он не устроил нас в первую очередь из-за отсутствия хранения истории состояний, но очень понравился тем, что в Unity визуально и наглядно можно посмотреть всю статистику по использованию сущностей, компонентов, систему пулов, производительность каждой системы и т.д.
Это вдохновило нас на создание своих инструментов на игровом сервере, чтобы смотреть, что происходит в матче с игроками, как они играют, как перформит система в целом. На клиенте у нас тоже есть подобные наработки для визуальной отладки игры, но инструменты в клиенте чуть более простые по сравнению с тем, что мы сделали на сервере.
Читать полностью »
Создание персонажей в Blender и Unity
2018-09-05 в 8:01, admin, рубрики: blender, mecanim, unity, unity3d, Компьютерная анимация, Работа с 3D-графикой, разработка игр, риггинг, скелетная анимация
Визуально персонажи 3D-игр имитируются с помощью использования моделей, текстур и анимаций.
В прошлом для применения одинаковых анимаций персонажи должны были иметь полностью идентичные скелеты. Это ограничивало разнообразие персонажей, потому что их рост и пропорции тоже должны были быть одинаковыми. Например, в старых играх FIFA все игроки имели одинаковые размеры, потому что создание отдельного скелета и набора анимаций превратилось бы в настоящий кошмар.
К счастью для разработчиков игр, сегодня большинство движков имеет систему, позволяющую многократно использовать анимации при условии совместимости скелетной иерархии. Такая система позволяет использовать одинаковые анимации для персонажей всех форм и размеров. В Unity эта система называется Mecanim. Она обеспечивает удобную настройку анимаций, смешивание между ними и перенос гуманоидных анимаций между моделями.
Возможность многократного применения анимаций позволяет использовать анимации из Asset store и с таких вебсайтов, как mixamo.com, для ваших собственных персонажей. Это экономит кучу времени!
В этом туториале вы узнаете, как подготовить гуманоидную модель в Blender и как перенести её в Unity. В частности, вы научитесь следующему:
- Создавать арматуру (скелет) персонажа и выполнять её риггинг (привязку скелета к мешу)
- Модифицировать персонаж добавлением аксессуаров и объектов
- Экспортировать модель в FBX
- Импортировать модели Blender
- Создавать и настраивать гуманоидный аватар
- Прикреплять к персонажу объекты
- Анимировать гуманоида в Unity