Unreal Engine - Физика и Clothing ч.4
Переходим от теории к делу. Уже понятно, что такое Vertex Color и что туда можно впихнуть любые данные, какие нам нужны. Дальше — открываем DCC, смотрим, какие инструменты для работы с Vertex Color там вообще есть, и разбираемся, как всё это работает на практике.
Сначала был куб!
Сначала был куб!
И у этого куба был близнец. Матрица кубов:
Красить вручную такую сложную модель — удовольствие сомнительное. Но в Maya есть пару приёмов, которые спасают от боли. Начнём с простого — включим отображение Vertex Color:
После нажатия на кнопку должен отобразиться вертекс колор, но так как у нас пока ничего не покрашено — кубы останутся серыми. Для работы с Vertex Color в Maya есть два основных инструмента: Paint Vertex Color Tool и Apply Color.
Paint Vertex Color Tool - стандартный artisan-интерфейс, как у других кистей. Радиус кисти меняется, как обычно, клавишей B и мышкой. По умолчанию режим Replace - закрашивает выбранным цветом. Можно менять цвет через пипетку. Есть кнопка "Flood", которая заливает сразу весь объект. Есть режим Smooth — работает как блюр. Хорошо комбинируется с Flood, чтобы сгладить градиент перехода между цветами. С недавнего времени кисть может работать не только сразу по всем каналам RGB, но и по RGBA сразу а так же по RGBA по отдельности, тем не менее точно передать значение в вертекс сложно используя кисть, поэтому этот инструмент отлично подходит для работы с вертекс колор окружения и всякими вещами не требующими сто процентной точности, например у вас где то на уровне есть флажки развивающиеся и вы их используя вертекс офсет шейдер анимируете вам в цело достаточно нарисовать градиент и все будет отлично.
Для точности есть Apply Color — можно включить или отключить конкретные каналы (R, G, B, A). Это уже работает не кистью, а по выделенным вершинам. Удобно, если тебе надо, скажем, только зелёный канал на 100% на заданной части модели. Smooth тут нет, но часто можно обойтись. Так как я в основном работаю с физикой я сначала задаю цвет вручную используя Apply Color, а потом возвращаюсь в кисть и делаю сглаживание через Smooth и Flood.
Давайте покрасим наш куб. Я буду использовать Apply Color инструмент работает как на отдельный вертекс так и на группу вертексов, давайте добавим 1 в R канал верхушки куба:
Обрати внимание: как только переключаешься на работу с отдельным каналом, выбор цвета блокируется — и вместо цвета мы записываем числовое значение от 0 до 1 прямо в нужный канал. Именно это и даёт нам возможность впекать нужные данные. Как конвертировать значения в нужный формат — мы уже разбирали раньше. Жму Apply:
Вертексы моего куба окрасились в нужный мне цвет. Давайте поиграемся с другими каналами:
Как видите ничто нам не мешает и этим инструментом печь цвета машая влияние двух каналов:
В целом у вас полная креативная свобода делаеть что вы хотите, главное чтобы вы понимали что именно вы делаете и зачем:
По итогу издевательств над кубиком я имею вот такую пеструю карту цвета:
И если я перейду в Paint Vertex Color Tool и применю Smooth Flood я получу отличный градиент на моем кубе:
Обратите внимание на то что та область что я не окрасил осталась серой.
Вернемся к нашей матрице кубиков. Если нужно перенести вертексные цвета с одной геометрии на другую - используем Transfer Attributes.
Это Mesh -> Transfer Attributes.
Вернемся к нашей матрице кубиков. Если нужно перенести вертексные цвета с одной геометрии на другую - используем Transfer Attributes.
Это Mesh -> Transfer Attributes.
Инструмент на самом деле умеет дофига всего. Чуть позже, когда будем работать с кастомными нормалями, он нам снова пригодится — умеет трансферить нормали с одного объекта на другой. Старая как мир техника, до сих пор используется. Например, берёшь сферу, переносишь с неё нормали на карточки-листья деревьев — и получаешь нормали, как будто листья выпуклые. Свет сразу начинает отрабатывать по массе, всё выглядит куда объёмнее.
А сейчас нам нужна только передача вертексного цвета. Оставляем галочку только на Color Sets, трансфер в World Space. Это удобно, если ты покрасил что-то простое, а хочешь перекинуть цвет на сложную модель. Даже если модель внутри полая — всё нормально, цвета передаются куда надо.
Такой способ покраски серьёзно облегчает жизнь, но всё равно далеко не идеален. Проблема в том, что он существует вне визуального контекста, и художнику приходится чётко понимать, что именно он сейчас делает. Если ты красишь что-то для энвиры — там всё плюс-минус понятно, точность не критична, можно держать в голове общий принцип. А вот когда дело касается физики — без визуализации связи между картой и логикой, на которую она влияет, работать эффективно почти невозможно.
К сожалению, сейчас в сети нет ни одного DCC-инструмента, который бы адекватно работал с Chaos Cloth и показывал, как именно он интерпретирует свои карты. Последний такой инструмент, который вообще был доступен сообществу, умер вместе с Unreal Engine 4. Ниже прикреплю документ, в котором были описаны его возможности.
chm
Maya PhysX Plug-in Documentation.chm4.21 Mb
Если хочешь что то сделать хорошо - сделай это сам. Дальше мы залезим в UE и посмотрим что же эпики предлгают комьюнити как альтерантиву.
#ue5