Вышла новая версия Unity, которая уже доступна для пользователей. Unity 2018.3 содержит более 2000 новых функций, исправлений и улучшений, включая улучшенный воркфлоу префабов, Visual Effect Graph (Preview) и обновленную систему Terrain, которые дают разработчикам возможность повысить производительность и создавать многогранные и красивые миры.
Читать полностью »
Рубрика «unity3d» - 10
Упрощаем сборку билдов в Unity3D
2018-12-17 в 15:35, admin, рубрики: continuous integration, unity3d, unity3d editor extension, Игры и игровые приставки, разработка игрСовсем недавно я осознал, что с ростом числа готовых проектов все больше времени приходится посвящать сборке билдов. Нельзя сказать, что юнити как-то сильно усложняет этот процесс, но уж точно и не упрощает. Особенно когда каждый проект собирается под несколько платформ да еще и в разных конфигурациях. В принципе проблема не нова и имеет множество разных решений. Но по ряду причин я остановился на написании собственного плагина.
Выглядит он примерно так:
А зачем, почему, где взять и как пользоваться я расскажу ниже.
LDraw + Unity. Как я Lego генерировал
2018-12-17 в 1:25, admin, рубрики: .net, algorithms, C#, CGI (графика), Gamedev, gamedevelopment, ldraw, lego, open source, unity, unity3d, геймдев, генерация 3д моделей, игры, Программирование, разработка игр, юнитиВсех с наступающим! Меня зовут Гриша, и я основатель CGDevs. Уже не за горами праздники, кто-то уже нарядил ёлку, поел мандаринов и во всю заряжается новогодним настроением. Но сегодня речь пойдёт не об этом. Сегодня мы поговорим про замечательный формат под названием LDraw и про плагин для Unity, который я реализовал и выложил в OpenSource. Ссылка на проект и исходники к статье, как всегда, прилагаются. Если вы так же, как и я любите лего – добро пожаловать под кат.
Unity — подводные камни разработки 2D игры
2018-12-13 в 11:20, admin, рубрики: android, unity, unity3d, мобильные игры, Разработка под androidНа хабре есть много статей для новичков про Unity, но я не хочу повторяться, а хочу поделиться своим опытом разработки первой игры и, если конкретнее, рассказать о том, обо что я спотыкался. Это даст шанс всем вам, уважаемые разработчики, уберечься в будущем от незапланированной работы и потери времени. Надеюсь данный материал прочтут и разработчики самого Unity, дабы улучшить свой продукт.

Внимание, под катом скриншоты 16+!
Читать полностью »
Генерация окружения на основе звука и музыки в Unity3D. Часть 2. Создание 2D трассы из музыки
2018-12-13 в 8:35, admin, рубрики: unity, unity3d, unity3d уроки, Блог компании Everyday Tools, генерация, звук, музыка, обработка звука, разработка игр, уровни игрыАннотация
Всем привет. Относительно недавно я написал статью Генерация окружения на основе звука и музыки в Unity3D, в которой привел несколько примеров игр, задействующих механику генерации контента на основе музыки, а так же рассказал про базовые аспекты подобных игр. В статье практически не было кода и я пообещал, что будет продолжение. И вот оно, перед вами. На этот раз мы попытаемся создать трассу для 2D гонки, в стиле Hill Climb, из вашей музыки. Посмотрим, что у нас получится..
Прогнозирование физики на стороне клиента в Unity
2018-12-11 в 9:02, admin, рубрики: prediction, unity, unity3d, игровая физика, прогнозирование, разработка игр, физический движок
TL;DR
Я создал демо, показывающее, как реализовать прогнозирование на стороне клиента физического движения игрока в Unity — GitHub.
Введение
В начале 2012 года я написал пост о как-бы-реализации прогнозирования на стороне клиента физического движения игрока в Unity. Благодаря Physics.Simulate() тот неуклюжий обходной способ, который я описал, больше не нужен. Старый пост до сих пор является одним из самых популярных в моём блоге, но для современного Unity эта информация уже неверна. Поэтому я выпускаю версию 2018 года.
Что-что на стороне клиента?
В соревновательных многопользовательских играх необходимо по возможности избегать читерства. Обычно это значит, что применяется сетевая модель с авторитарным сервером: клиенты отправляют серверу вводимую информацию, а сервер превращает эту информацию в перемещение игрока, а потом отправляет снэпшот получившегося состояния игрока обратно клиенту. При этом возникает задержка между нажатием клавиши и отображением результатом, что неприемлемо для любых активных игр. Прогнозирование на стороне клиента — это очень популярная техника, скрывающая задержку, прогнозируя то, каким будет получившееся движение и сразу показывая его игроку. Когда клиент получает результаты от сервера, он сравнивает их с тем, что спрогнозировал клиент, и если они отличаются, то прогноз был ошибочным и нуждается в коррекции состояния.
Читать полностью »
Математика в Gamedev по-простому. Матрицы и аффинные преобразования
2018-12-09 в 12:55, admin, рубрики: .net, algorithms, C#, CGI (графика), Gamedev, gamedevelopment, math, matrix, unity, unity3d, геймдев, игры, математика, матрицы, разработка игр, юнитиВсем привет! Меня зовут Гриша, и я основатель CGDevs. Сегодня хочется продолжить тему математики в геймдеве. В предыдущей статье были показаны базовые примеры использования векторов и интегралов в Unity проектах, а сейчас поговорим о матрицах и аффинных преобразованиях. Если вы хорошо разбираетесь в матричной арифметике; знаете, что такое TRS и как с ним работать; что такое преобразование Хаусхолдера – то вы возможно не найдёте для себя ничего нового. Говорить мы будем в контексте 3D графики. Если же вам интересна эта тема – добро пожаловать под кат.
Игровые фичи с помощью ECS: добавляем в шутер аптечки
2018-12-03 в 9:02, admin, рубрики: ecs, Gamedev, games, pvp, shooter, unity3d, Блог компании Pixonic, Проектирование и рефакторинг, разработка, разработка игр, разработка мобильных приложенийОт ковров перейдем к серьезным вещам. Мы уже рассказали про ECS, какие есть фреймворки для Unity и почему написали свой (со списком можно ознакомиться в конце статьи). А сейчас остановимся на конкретных примерах, как используем ECS в нашем новом мобильном PvP-шутере и как реализуем игровые фичи. Отмечу, что применяем эту архитектуру мы только для симуляции мира на сервере и системы предсказания на клиенте. Визуализация и рендер объектов реализованы с помощью MPV-паттерна — но сегодня не об этом.Читать полностью »
Расширение редактора Unity через Editor Window, Scriptable Object и Custom Editor
2018-12-03 в 8:35, admin, рубрики: .net, C#, Gamedev, gamedevelopment, unity, unity editor extentions, unity3d, геймдев, игры, разработка игр, расширение редактора unity, юнитиВсем привет! Меня зовут Гриша, и я основатель CGDevs. Сегодня хочется поговорить про расширения редактора и рассказать про один из моих проектов, который я решил выложить в OpenSource.
Юнити — прекрасный инструмент, но в нём есть небольшая проблема. Новичку, чтобы сделать простую комнату (коробку с окнами), необходимо либо осваивать 3д моделирование, либо пытаться что-то собрать из квадов. Недавно стал полностью бесплатным ProBuilder, но это так же упрощённый пакет 3д моделирования. Хотелось простой инструмент, который позволит быстро создавать окружения вроде комнат со окнами и правильными UV при этом. Достаточно давно я разработал один плагин для Unity, который позволяет быстро прототипировать окружения вроде квартир и комнат с помощью 2д чертежа, и сейчас решил выложить его в OpenSource. На его примере мы разберём, каким образом можно расширять редактор и какие инструменты для этого существуют. Если вам интересно – добро пожаловать под кат. Ссылка на проект в конце, как всегда, прилагается.
Создание outline на LWRP в Unity
2018-11-22 в 16:39, admin, рубрики: C#, HLSL, lwrp, Outline, unity3d, разработка игрЗдравствуйте.
Я поведаю о том, как создать простой outline effect на новом Lightweight Render Pipeline(LWRP) в Unity. Для этого нужна версия Unity 2018.3 и выше, а так же LWRP версии 4.0.0 и выше.
Классический outline состоит из двух-проходного шейдера (two pass shader), но LWRP поддерживает только одно-проходные шейдера (single pass shader). Для исправления этого недостатка в LWRP появилась возможность добавлять пользовательские pass в определенные этапы рендеринга, используя интерфейсы:
IAfterDepthPrePass
IAfterOpaquePass
IAfterOpaquePostProcess
IAfterSkyboxPass
IAfterTransparentPass
IAfterRender