Глава 3. Анимированные материалы для персонажей
Original size 2480x3500

Глава 3. Анимированные материалы для персонажей

PROTECT STATUS: not protected
This project is a student project at the School of Design or a research project at the School of Design. This project is not commercial and serves educational purposes

3.1. Общие принципы и методологии

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

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

Глава 3 раскрывает основные техники и методы создания динамических шейдеров для персонажей в проекте, основываясь на наиболее распространенных и эффективных подходах: UV-анимации, вертексной анимации, динамических масках, анимации многослойных материалов.

3.1.1. UV-анимация

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

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

Рассмотрим UV-анимацию на примере создания эффекта движущихся энергетических потоков или же узоров по телу персонажа.

Узоры по телу | хаотичное движение

big
Original size 875x488

Демонстрация работы собранного шейдера.

Для создания хаотичных узоров можно использовать генерируемые в UE5 шумы, например, ноду Noise в Material Graph, или же добавить иную текстуру нойза через Texture Sample, чтобы немного облегчить ресурсоемкость эффекта.

Оба варианта имеют как свои плюсы, так и минусы, а именно, в первом случае удобно подключить генерируемый шум к Absolute World Position и избавиться от необходимости подгонять текстуру под UV модели так, чтобы она хорошо проигрывалась на швах объекта [поскольку создается волюметрический 3d нойз].

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

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

Original size 1000x491

Демонстрация работы собранного шейдера.

Разберем, из чего состоит данный шейдер:
Original size 1500x690

Нодовая система шейдера — детали.

Глобально данная магическая аура состоит из трех основных блоков: генерация шума [блок нод Generated Noise], создание блесток [Glitter], управление цветом шума [Height Gradient], и дополнительные модификаторы.
0

Нодовая система шейдера — детали.

post

Главные ноды, вокруг которой строится работа данного эффекта, — Noise, к которому подключен Panner.

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

Для того, чтобы Noise распространялся по объектам вне зависимости от их UV развертки, но был привязан к модели, в инпут World Position приходит результат вычитания Object Position из Absolute World Position

Далее в примере идет связка нод, регулирующая некоторые визуальные характеристики полученного паттерна. Помимо использования математического выражения Power для контролирования контраста можно применить функцию CheapContrast.
CheapContrast — это оптимизированная функция контрастности, которая использует интерполяцию для усиления или ослабления контраста с минимальными вычислительными затратами.
0

Нодовая система шейдера — детали.

Данная цепочка нод создает динамическую маску для «блестящих частиц», которая следует за движением камеры и как бы «прилипает» к экрану.

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

ScreenPosition — это нода, которая выводит UV-координаты для каждого пикселя в пространстве экрана в текущем кадре. Если применить ее к текстуре и накинуть получившийся материал на объект, то он будет проецироваться на экран, оставаясь таким же с любой точки обзора.

ScreenResolution задает разрешение видимой области окна просмотра. Если окно имеет размер 1920×1080 пикселей, нода вернет вектор (1920, 1080).

В связке с математическим выражением Divide и перемножением на Screen Position это позволяет контролировать и масштабировать размер «экранных координат» текстуры-маски, которая добавляется позже.

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

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

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

Original size 2242x749

Нодовая система шейдера — детали.

Данная часть нодовой системы позволяет добавить градиент относительно объекта вдоль оси Z, что осуществляется благодаря вычитанию Object Position из Absolute World Position.

Multiply устанавливает плавность перехода цвета, в то время как add задает смещение по оси Z [точка старта градиента].

Original size 2378x906

Нодовая система шейдера — детали.

Далее все части шейдера собираются вместе. Выход Noise-a становится маской, по которой с помощью ноды Lerp смешивается базовый цвет / текстура модели и цвет анимированных узоров.

Результат работы по созданию блесток подключается к Emissive Color. Также по необходимости добавляются дополнительные модификаторы цвета, яркости, контрастности.

Original size 1100x459

Демонстрация работы собранного шейдера.

Узоры по телу | контролируемое движение

Для создания контролируемого движения различных узоров и паттернов зачастую используются заранее нарисованные маски или даже покадровые секвенции, подчеркивающие те места на UV 3d объекта, над которыми должны происходить дальнейшие изменения.
Original size 1500x694

Демонстрация работы собранного шейдера.

Пример 1

Для первого эксперимента в программе Substance Painter была заранее отрисована маска Opacity, которая хранилась в Alpha канале текстуры Base Color.

Также стоит отметить, что в данном эксперименте разберется работа с Overlay Material как одним из вариантов добавления различных эффектов объекту.

Созданный в Substance Painter-е паттерн для последующей анимации.

Original size 2204x927

Нодовая система шейдера — детали.

post

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

Motion_4wayChaos

Motion_4WayChaos — это функция, которая создает сложный анимированный шум путем многоканального смешивания и движения текстуры в нескольких направлениях.

В отличие от остальных нод, чтобы ее вызвать, необходимо сначала добавить MaterialFunctionCall, а уже затем добавить 4WayChaos.

Original size 2204x927

Нодовая система шейдера — детали.

post

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

В настройках материала стоит поменять Blend Mode на Translucent [это настройка материала, которая позволяет создавать полупрозрачные объекты с помощью Opacity маски], а Shading Mode на Unlit [так, материал будет светится самостоятельно, не реагируя на свет, тени или окружение].

Original size 1775x814

Процесс добавления Overlay материала.

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

Для этого в сцене нужно выбрать объект, к которому будет применена анимированная текстура, найти в поиске Details — Overlay — нажать «+» в Material Slots Overlay Material и в появившемся окне выбрать ранее созданный материал.

Original size 1200x574

Демонстрация работы параметров шейдера.

Пример 2

В качестве второго примера будет разобран процесс создания покадровой анимации в пространстве UV 3d модели.

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

Это можно сделать как в программах для создания текстур поверх модели [например, Substance Painter], так и нарисовать в графических редакторах по типу Photoshop, Krita и других [в данном случае будет чуть больше трудностей с тем, чтобы аккуратно расположить анимацию поверх швов модели, так как не будет наглядной визуализации в отличие от специализированных 3d программ].

Далее следует загрузить все кадры в проект, выбрать их — нажать ПКМ — Create Texture Array. Это тип текстуры, хранящий в себе все кадры в том порядке, в котором они были пронумерованы.
Original size 1758x634

Процесс создания Texture 2D Array.

post

Все кадры в Texture 2D Array хранятся в форме подобного списка, где в случае каких-либо несостыковок можно подгрузить необходимые фреймы в нужное место.

Далее, для того чтобы данная анимация покадрово проигрывалась, необходимо создать следующую связку нод:
Original size 1309x610

Нодовая система шейдера — детали.

Нода Time, помноженная на параметр «Frame Rate» будет задавать количество кадров в секунду — fps анимации [или же скорость (единица в секунду времени) помноженная на задаваемый коэффициент]. Результат пойдет в A-инпут ноды Fmod.

Fmod [Floating Point Modulo] — это математическая нода, которая возвращает остаток от деления первого числа [A] на второе число [B].

Данная нода полезна для «заворачивания» значений в определенный промежуток, так как они преобразуются в диапазон [0, B), что также подходит для создания циклично прокручивающихся анимаций.

Original size 2431x747

Демонстрация работы кастомного frame rate-a.

Если визуализировать работу данной части кода с помощью DebugScalarValues, можно увидеть, как Fmod действительно ограничивает выходное значение в пределах от 0 до 23, что и является количеством имеющихся кадров анимации.

Таким образом, при значении fps — 12 вся анимация займет 2 секунды, а 24 — 1 секунду.

Original size 1811x997

Нодовая система шейдера — детали.

Все, что осталось сделать, — подключить результат к UV необходимой текстуры.

Поскольку в примере анимированный паттерн подключается в Emissive Color, можно реализовать маску с помощью ноды Lerp, подключив ко второму инпуту черный цвет. Так, в местах, где маски нет, никакой текстуры не будет.

Осталось добавить некоторые параметры для внешнего контроля [например, регулирование яркости, цвета, семпла покадровой анимации и других] и эффект готов.

0

Демонстрация работы собранного шейдера.

3.1.2. Вертексная анимация

В отличие от UV-анимации, которая манипулирует координатами текстуры, вертексная анимация фактически изменяет положение вершин меша в пространстве.

Это достигается через входное значение материала World Position Offset [WPO], которое применяется на уровне вертексов и позволяет смещать каждую вершину на основе математических функций.

World Position Offset входное значение принимает трехмерный вектор [X, Y, Z], который определяет, на сколько каждая вершина должна быть смещена в мировом пространстве.

Например, если мы выводим константу [0, 0, 10] в WPO, все вершины меша будут сдвинуты на 10 сантиметров вверх [в направлении Z].

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

Рассмотрим работу WPO на основе создания эффекта Dissolve.
Original size 900x429

Демонстрация работы собранного шейдера.

Пример 1

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

Нодовая система шейдера — детали.

Данный эффект состоит из 2-3 [в зависимости от Blend Mode-a материала] основных частей: создание маски для WPO, шум добавляющий рельеф смещению, настройка Opacity для эффекта «растворения» при использовании Translucent материала, а также дополнительные параметры для контролирования цвета, яркости, контрастности и другие.

Original size 1696x840

Нодовая система шейдера — детали.

Основная работа данной части нод завязана на использовании функции BoundingBoxBased_0-1_UVW и математического выражения Step.

BoundingBoxBased_0-1_UVW

BoundingBoxBased_0-1_UVW — это функция, которая создает равномерный градиент от 0 до 1 для каждого из трех направлений X, Y,Z на основе *Bounding Box и Absolute World Position, что также подходит для создания процедурных материалов.


*Bounding Box — это область в форме прямоугольного параллелепипеда, которая описывается вокруг всех точек 3d модели.
В связке с нодой Step данная конструкция позволяет «стирать» часть объекта по выбранной оси координат. В данном случае это ось Z [сверху вниз].

Step

Step — это математическая функция, которая создает резкий переход между двумя значениями на основе порога. Она мгновенно переключается из 0 в 1 при достижении определенного значения.

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

Значения, вынесенные в параметры:
— Dissolve (0.4631) — основной контроль прогресса растворения от 0 до 1; — DissolveAmount (0.003) — толщина границы растворения; — DissolveContrast (1) — контрастность перехода; — Color — цвет границы перехода; — WPO — количество единиц смещения по оси Z.

Original size 1606x600

Нодовая система шейдера — детали.

Данная часть нод создает анимированный шумовой паттерн для управления деформацией геометрии через World Position Offset.

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

Полученные данные перемножаются на B канал и подаются в WPO материала, создавая деформацию.

Original size 2433x709

Нодовая система шейдера — детали.

В качестве дополнительного эксперимента была создана система плавного исчезновения объекта, позволяющая полностью его «растворить».

Для корректной работы данной части нодовой системы стоит переключить Blend Mode материала на Translucent.

Все примененные в коде математические выражения позволяют создать линейный градиент, распространяющийся вдоль оси Z [благодаря Mask (B)] относительно объекта, а не мировых координат.

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

Original size 2423x1210

Демонстрация работы собранного шейдера.

Пример 2

В основе работы данного эксперимента лежит нода SphereMask, которая вместе с другими нодами позволяет задать радиус влияния WPO деформации, точку, относительно которой совершается деформация, силу эффекта, цвет.
Original size 2032x1075

Нодовая система шейдера — детали.

SphereMask

SphereMask — нода, которая создает маску в форме сферы с плавными границами, используя расстояние между инпутами A и B.

Параметры Radius и Hardness управляют свойствами маски — радиусом сферы и резкостью перехода на границах.

В данном эксперименте центр деформации задается трехканальным вектором, соответствующим осям в 3д пространстве. Так, чтобы объект перемещался из базового положения, например, вверх, необходимо вписать нужное число в канал B.

Чтобы деформация происходила более рельефно, в нодовую систему подключается текстура с шумом. Также в примере с помощью ноды Lerp осуществляется изменение цвета объекта при WPO анимации.
Original size 1000x554

Демонстрация работы собранного шейдера.

3.1.3. Динамические маски

Помимо ноды Lerp маскировать объекты можно также с помощью ноды VertexColor.

VertexColor — это нода, которая предоставляет материалу доступ к данным, «запеченным» непосредственно в вершины меша.

Использование данной ноды открывает возможность управления визуальными свойствами материала в зависимости от того, в цвет какого канала раскрашен тот или иной вертекс 3d модели.

Например, для наглядной визуализации в следующем эксперименте будет проведена попытка ограничить область работы эффекта волшебного свечения [который был разобран ранее] на 3d объекте.

Для этого понадобится немного усложнить уже имеющуюся нодовую систему, добавив линейную интерполяцию, в альфа инпут которой будет подключен VertexColor.
Original size 1920x825

Нодовая система шейдера — детали.

Основным отличием прошлого шейдера от измененного является добавление двух вертексных масок на паттерн шума и на сверкающие частицы [Glitter Mask], а вместе с этим изменение структуры подключения некоторых составляющих шейдера.

0

Нодовая система шейдера — детали.

Блестки

Перед тем как вынести сверкающие частицы в R канал Vertex Color была проведена линейная интерполяция по Noise маске, сделанной ранее, для того, чтобы блестки охватывали не всю модель, а исключительно получаемые после работы шума узоры.

Паттерн шума

Для того, чтобы паттерн шума отработал правильно, было принято решение 2 раза использовать Lerp вместе с Base Color-ом, чтобы в первом случае маска Noise не дала черных пятен, а во втором, чтобы задать цвет базового материала, еще не подвергнутого влиянию G канала с паттерном.

Base Color соединен с двумя интерполяторами для того, чтобы в результате цвет «подложки» не разнился и везде совпадал.
Original size 1568x382

Процесс рисования Vertex Color маски.

Далее в окне проекта необходимо переключить Selection Mode [shift+1] на Mesh Paint Mode [shift+4].

В открывшемся окне нужно выбрать кисточку Paint, и тогда появятся дополнительные, необходимые для создания маски, настройки: Color Painting, Brush, Vertex Painting.

Главное окно, в котором будет происходить вся настройка дальнейшей работы — Color Painting. Здесь можно выбрать режим или же цвет [рисование / стирание], а также каналы, на которые будет распространяться влияние кисточки [RGBA].

Для оперативного переключения между режимом рисования и стирания, можно нажимать клавишу 'X'.

В нодовой системе было настроено так, что R канал отвечает за отображение шума, плывущего по персонажу, а G — за отображение блесток.
Original size 1000x404

Процесс рисования Vertex Color маски.

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

Важно отметить, что качество Vertex Paint-a сильно зависит от количества полигонов-вершин в 3d объекте.

Чем их больше — тем мягче и плавнее будет переход.

Original size 1000x601

Демонстрация работы собранных шейдеров.

Благодаря системе Blueprint можно добиться эффекта динамического изменения маски или же рисования по поверхностям внутриигровых объектов в реальном времени, однако это требует более глубокого и всестороннего изучения возможностей UE5 и является темой для отдельного исследования.

3.1.4. Многослойные материалы

Создание многослойных материалов в UE5 через систему Blend нод и Material Layers открывает возможность комбинирования различных визуальных свойств в едином шейдере, что особенно ценно для создания более сложных эффектов.

Blend nodes

Blend Node — это категория нод в Material Editor Unreal Engine, предназначенных для смешивания двух или более входных значений, текстур или цветов по определенным правилам.


Наиболее близкая аналогия работы Blend нод — режимы наложения в графических редакторах.
Original size 1839x597

Демонстрация готовых Blend нод-функций в Material Editor.

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

Демонстрация устройства некоторых Blend нод-функций.

Material Layers

В Unreal Engine существует система Material Layers, которая позволяет создавать модульные, многослойные материалы с независимым управлением каждого слоя через Material Instances. Это значительно расширяет возможности создания сложных, многокомпонентных шейдеров.

«Система Material Layers в Unreal Engine — это мощный инструмент, который позволяет накладывать слои и смешивать текстуры и свойства друг с другом для создания уникальных материалов для объектов на ваших уровнях. Material Layers аналогичны рабочему процессу Layered Materials с использованием Material Functions, однако этот альтернативный подход упрощает процесс и обеспечивает художникам гораздо большую гибкость». 4

4 — Using Material Layers // Epic Games Developers URL: https://clck.ru/3QQ4Ae (дата обращения: 18.11.2025).

Original size 1920x738

Процесс создания основных компонентов Material Layers.

Основные компоненты Material Layers

Система Material Layers состоит из трех основных типов объектов:

Material Layer — используется для создания слоя, который можно смешивать с другими слоями материала;

— Material Layer Blend — используется для создания маски для смешивания двух слоев;

— Master Material / Instance — материал, в котором будут собираться и смешиваться слои.

Original size 2497x1164

Пример сборки базового Material Layer.

Material Layer

Material Layer — это специальный тип материала в Unreal Engine, который работает как отдельный, независимый компонент внутри более сложного основного материала.

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

Ключевое отличие в его назначении: Material Layer не предназначен для самостоятельного использования на объектах. Вместо этого он служит «строительным блоком». Его главная задача — точно описать, как должен выглядеть один конкретный визуальный эффект или тип поверхности.
Original size 2499x910

Кастомный Material Layer Blend.

Material Layer Blend

Material Layer Blend — это логика, по которой слои материалов смешиваются в MI. Помимо базовых смешиваний [к примеру, с помощью градиента] можно настроить кастомные MLB с динамически изменяющимися масками / параметрами.

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

Original size 1920x1000

Основные ноды для создания базового Master Material-a.

Master Material

При создании материала, в инстансе которого будут смешиваться ранее настроенные слои [Material Layer], первым делом необходимо включить Use Material Attributes.

Далее основная работа по настройке мастер материала будет проходить в Material Attribute Layers. Нужно добавить необходимое количество слоев. По умолчанию Background или же базовый слой-подложка сразу включен.

В Master Material в Layer/Blend Asset ничего добавлять не нужно — точная настройка будет походить позже, на этапе создания Material Instance.
0

1 — Пустой, базовый Material Instance — Layer Parameters; 2 — Настроенный Material Instance.

Кроме того, в Material Instance можно управлять видимостью каждого слоя, не удаляя и не теряя настроенные слои.
Original size 940x497

Демонстрация работы параметров шейдера, собранного с помощью Material Layers.

Substrate

Substrate также предоставляет многослойный, модульный подход к созданию материалов и открывает возможности для создания более сложных и реалистичных шейдеров с подповерхностным рассеиванием [Subsurface Scattering], анизотропией и другими сложными оптическими явлениями, которые ранее требовали обходных решений.

Original size 1600x445

Демонстрация работы собранного с помощью Substrate-a шейдера.

«Сабстрейт упрощает процесс наслоения материалов, облегчая изображение таких поверхностей, как жидкость на металле или прозрачное покрытие поверх подповерхностного рассеивания». 5

5 — Substrate Materials Overview // Epic Games Developers URL: https://clck.ru/3QQ4Je (дата обращения: 18.11.2025).

Original size 1645x441

Настройки проекта для работы Substrate материалов.

Для того, чтобы появилась возможность создать Substrate материал, необходимо в настройках проекта активировать:

Edit — Project Settings — Engine — Rendering — Substrate Materials (Beta).

После необходимо будет перезапустить проект и изменения вступят в силу.

Изменение ноды при добавлении компонента Substrate Material-a.

При создании нового шейдера граф будет похож на обыкновенный материал, однако стоит только добавить Substrate Slub или иной компонент сабстрейт материалов и подключить его к Front Material, как нода вывода поменяется.

Основной составляющей Substrate-а являются Slub-ы.

Slub в контексте данных материалов — это базовый блок или буквально «плита» [от англ. slub], которая описывает один слой или компонент материала с определёнными физическими и оптическими свойствами.

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

Original size 1900x884

Нодовая система шейдера — детали.

Создавая логику слоев с помощью Substrate Slab BSDF [или иных компонентов Substrate-a] и объединяя их с помощью Substrate Vertical Layer или иных blend-функций можно добиться самых различных эффектов с еще большим уровнем проработки и детализации относительно обычного пайплайна создания шейдера.

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

Original size 1100x450

Демонстрация работы собранного с помощью Substrate-a шейдера.

3.2. Практическое применение в ВКР

В ходе экспериментов по созданию анимированных шейдеров для персонажей и изучению техник динамического наложения и трансформации текстур был систематизирован и апробирован широкий набор практических методов, непосредственно отвечающих художественным и техническим требованиям выпускной квалификационной работы «Sun Dancer».
Original size 1000x416

«Sun Dancer», фрагмент из аниматика.

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

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

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

Так, материал будет представлять собой синтез двух основных рассмотренных техник: покадровая отрисовка паттерна, проявляющаяся вслед за движением кисточки в соответствии с UV-координатами модели и настройка уникального сверкающего материала для самой краски вместе с блестящими частицами, который будет проявляться только в определенных частях отрисованной маски.

Таким образом, комбинация анимированной маски и сложного процедурного свечения позволит создать убедительный шейдер, что визуально обогатит ключевой ритуальный эпизод.
Original size 1000x416

«Sun Dancer», фрагмент из аниматика.

Еще один пример применения в ВКР результатов, полученных в ходе экспериментов, — визуализация пограничных состояний главного героя, его субъективное восприятие мира и окружения в моменты помутнения рассудка и приступов паники с помощью деформации на основе World Position Offset.

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

Практическая отработка этих методов в рамках данной главы позволила не только решить конкретные визуальные задачи, но и сформировать надежную базу настроенных шейдеров.
Данный фундамент готов к непосредственной интеграции и дальнейшей тонкой адаптации в рамках производства итогового дипломного проекта, обеспечивая прочную опору для его финальной визуализации.
Глава 3. Анимированные материалы для персонажей
Chapter:
1
2
3
4
5
6
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more