ArturBerk

На Пикабу
858 рейтинг 86 подписчиков 1 подписка 33 поста 29 в горячем
Награды:
5 лет на Пикабу
14

Эксперименты с Unity #10 API модификации контактов

В этом видео рассмотрим работу с API модификации контактов, который был добавлен в Unity 2021.2.

Для выполнения повседневных задач работы с физикой достаточно высокоуровневого интерфейса, предоставляемого Unity. Это различные компоненты коллайдеров и твердых тел. Однако, для выполнения некоторых специфических задач необходим более точный контроль над физикой. Unity в последних версиях идет в этом направлении. Так в версии 2021.2 был добавлен API для модификации контактов. В этом видео мы рассмотрим этот интерфейс поподробнее.

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

Модификация контактов позволяет устанавливать скорость для тел в точке контакта. Этим можно воспользоваться для создания эффекта конвейера.

Также рассмотрим более сложный сценарий работы с API модификации контактов. Реализуем платформу, которую можно будет преодолеть только в одном направлении.

Показать полностью 3
22

Эксперименты с Unity #9.2 Текстурные слои ландшафта

Сегодня продолжим генерировать ландшафт с помощью шейдеров, а конкретно перейдем к окрашиванию его текстурными слоями

Расположение различных слоев на ландшафте управляется масками. Одна маска содержит четыре значения, т.е. может управлять четырьмя слоями. Если слоёв больше четырех, то используется несколько масок.

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

Второй будет закрашивать области с наклоном в некотором интервале.

И в конце, воспользовавшись новым пакетом для работы со сплайнами com.unity.splines, реализуем генератор дороги

Показать полностью 3
30

Эксперименты с Unity #9 Генерация ландшафта

Сегодня рассмотрим интересный способ формирования ландшафта в Unity с помощью шейдеров.

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

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

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

Показать полностью 2
21

Эксперименты с Unity #8 Визуальная деформация

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

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

В этом видео попробуем реализовать шейдер изменения формы объектов при ускорении.

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

Показать полностью 2
23

Эксперименты с Unity #7 Pivot Baking

В этот раз хотелось бы рассмотреть интересную технику под названием Pivot Baking.

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

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

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

В последнем примере добавим некоторую интерактивность. Попробуем реализовать анимацию подъема плиток рядом с курсором мыши.

Показать полностью 3
31

Эксперименты с Unity #6 Burst в Unity UI

В этом видео рассмотрим механизм переопределения отрисовки элементов интерфейса в Unity UI. Также попробуем применить компилятор Burst и MeshAPI для генерации геометрии для этих элементов.

При работе с Unity UI есть возможность создавать свои компоненты с собственной реализацией отрисовки элемента. Для этого просто нужно создать компонент, наследующий класс Graphic, переопределить метод OnPopulateMesh и сгенерировать любую геометрию для элемента UI.

Unity UI был добавлен еще в версии 4.6 и использует устаревшие механизмы работы с мешами. Также тогда еще не было Burst. Сейчас в Unity пытаются перейти на новый UI фреймворк UIToolkit, поэтому в Unity UI ни Burst, ни новый Mesh API не предвидятся. Однако частично это можно исправить самостоятельно. Этим и займемся во второй части видео.

В конце видео реализуем что-то более или менее полезное, а именно компонент с фоном в виде вертикального или горизонтального градиента.

Показать полностью
16

Эксперименты с Unity #5.2 Compute и Instanced шейдеры 2

В этом видео продолжим реализовать распределение мешей на поверхности другого меша с помощью compute или вычислительного шейдера и отрисовку этих мешей с помощью GPU Instancing.

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

В конце добавим простенькую анимацию ветра

Показать полностью 2
17

Эксперименты с Unity #5.1 Compute и Instanced шейдеры

В этом видео попробуем реализовать распределение мешей на поверхности другого меша с помощью compute или вычислительного шейдера и отрисовку этих мешей с помощью GPU Instancing.

Это первая часть этого эксперимента. В нем мы добавим простую отрисовку мешей с помощью Instanced шейдера и выполним базовое распределение мешей по поверхности с помощью compute шейдера.

Эксперименты с Unity #5.1 Compute и Instanced шейдеры
Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества