NodeIcon StickContour

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


Как это работает

Внимание

Нода чувствительна к пересечениям в Шаблонной геометрии. Хотя в этом нет необходимости, рекомендуется применить FixIntersections к Шаблонной геометрии, если он имеет пересечения в общей области, где находятся контуры.

Этот узел в основном используется для полного или частичного закрытия поверхностей, таких как губы и глаза, в плавных формах или 4D-последовательностях, что обычно является результатом переноса. Ниже приведён пример графа с правильным применением ноды.

../../_images/graph2.png

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

Совет

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

../../_images/good_template.png

На второй вход подаётся Деформируемая геометрия. Это фактическая геометрия для прилегания поверхности с контурами. Она не должна соответствовать каким-либо конкретным критериям, кроме того, что она должна находиться в той же топологии, что и Шаблонная геометрия.

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

Совет

Пример контуров, заданных в Шаблонной геометрии с помощью SelectPointsWithSplines

../../_images/contours_example.png

Следующий вход дополнительно может содержать Эталонную геометрию. Он предоставляет геометрические данные в некоторых режимах прилегания контуров.

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

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

1. Этап расчета контура

На этом этапе определяются контуры Деформируемой и Эталонной геометрии, которые будут использоваться для прилегания.

Тип контура: Точки на треугольнике

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

Тип контура: Смещение трассировки

Если тип контура — Смещение трассировки, контуры рассчитываются так, чтобы лучше соответствовать «прилегающим» областям Деформируемой и Эталонной геометрии. Процесс происходит следующим образом.

Контуры сначала смещаются внутри Шаблонной геометрии. Этот процесс контролируется многочисленными параметрами, связанными со смещением. После этого контуры деформируются, чтобы соответствовать Деформируемой и Эталонной геометрии аналогично тому, как Lattice деформирует геометрии. Наконец, контуры прорисовываются для каждой геометрии индивидуально, чтобы получить исправленные контуры для использования на Фазе деформации.

Совет

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

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

Красные контуры — это контуры, нанесенные на соответствующую геометрию.

../../_images/vis_editor.png

2. Фаза деформации

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

Во-первых, контуры прилегают по-разному в зависимости от выбранного Режима. Для каждой пары точек на контурах назначается определенное Значение прилегания. Это значение представляет собой число от 0 до 1, определяющее, насколько сильно следует склеить две точки этой пары.

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

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

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

../../_images/manual.gif

Ручной

../../_images/stickbydistance.gif

Прилегать по расстоянию

Входы

Шаблонная геометрия

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

Деформируемая геометрия

Геометрия Геометрия для деформации с помощью контуров. Имеет ту же топологию, что и Шаблонная геометрия.

Точки первого контура

NamedPointsOnTriangle Упорядоченный набор точек на Шаблонной геометрии, которые определяют первый контур.

Точки второго контура

NamedPointsOnTriangle Упорядоченный набор точек на Шаблонной геометрии, которые определяют второй контур. Должно иметь то же количество точек, что и Точки первого контура.

Эталонная геометрия

Геометрия (необязательно) Геометрия для получения информации о расстоянии для режимов Закрыть по эталону и Прилегать по эталону. Имеет ту же топологию, что и два других.

Первые точки на экране

ScreenPoints (необязательно) Упорядоченный набор точек на изображении, которые определяют первый контур экрана для режимов Закрыть по 2D-эталону и Прилегать по 2D-эталону. Не обязательно иметь такое же количество точек, как Точки контура.

Вторые точки на экране

ScreenPoints (необязательно) Упорядоченный набор точек на изображении, определяющий второй контур экрана для режимов Закрыть по 2D-эталону и Прилегать по 2D-эталону. Не обязательно набирать такое же количество точек, как для Первые точки на экране.

Совет

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

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

Выход

Геометрия

Геометрия Геометрия, деформированная контурами.

Параметры

Радиус деформации (см):

Максимальное расстояние, на котором контуры влияют на Деформируемую геометрию. Уменьшается вблизи концов контура.

Тип контура:
Точки на треугольнике

без обработки входных контуров, Деформируемая геометрия деформируется вместе с ними.

Смещение трассировки

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

Расстояние смещения (см):

Расстояние, на которое контуры смещаются в Шаблонной геометрии.

Смещение затухания:

Ограничивает часть контура, на которую влияет смещение. Например, если установлено значение 0,5, смещение влияет только на среднюю половину контура.

Тип спада смещения:
Крутой

ближе к краям смещение падает резко.

Сгладить

ближе к краям смещение падает плавно.

Смещение радиуса решётки, середина (см):

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

Смещение радиуса решётки, по краям (см):

То же, что и Смещение радиуса решётки, середина, но определяет расстояние по краям контура.

Использовать геодезическую решетку:

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

Режим:
Ручной

контуры прилегают равномерно с регулируемым значением Значение прилегания.

Прилегание по расстоянию

контуры прилегают неравномерно в зависимости от расстояния между точками контура в Деформируемой геометрии.

Закрыть по эталону

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

Прилегание по эталону

то же, что и Прилегание по расстоянию, но информация о расстоянии предоставляется Эталонной геометрией.

Ручной

Значение прилегания:

Степень прилегания контуров. 0 означает, что без влияния вообще, 1 означает, что полностью прилегает.

Смещение контура:

Контуры прилегают ближе к одному из исходных контуров на основе этого параметра. -1 прилегает контуры ближе к первому контуру, 1 прилегает ближе ко второму, 0 прилегает точно посередине.

Прилегание по расстоянию

Расстояние прилегания (см):

Расстояние, на котором точка контура считается полностью прилегающей.

Спад прилегания (см):

Расстояние, на котором точка контура считается частично прилегающей.

Тип спада:
Линейное

линейно интерполирует Значение прилегания для заданной точки между Расстояние прилегания и Расстояние прилегания + Спад прилегания.

Сгладить

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

Итерации расширения:

Количество раз, когда «полностью прилегающая» область контуров расширяется на одну точку.

Итерации сглаживания:

Количество сглаживаний Значений прилегания «частично прилегающей» области контуров.

Соседи сглаживания:

Количество соседних точек, используемых во время сглаживания Значения прилегания.

Закрепление границ:

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

Закрыть по эталону

Примечание

Для работы этого режима требуется Эталонная геометрия. Он работает путем аппроксимации площади области между двумя контурами в Эталонной геометрии. Значение прилегания определяется для всего контура с использованием этого приближения.

Эталонный порог закрытия:

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

Эталонный спад закрытия:

Область, в которой контур считается частично замкнутым.

Тип спада:
Линейное

линейно интерполирует Значение прилегания для контура между Эталонный порог закрытия и Эталонный порог закрытия + Эталонный спад закрытия.

Сгладить

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

Прилегание по эталону

Примечание

Для работы этого режима требуется Эталонная геометрия. Режим работает, беря информацию о расстоянии из этой геометрии, а не из Деформируемой геометрии. В остальном этот режим идентичен режиму Прилегание по расстоянию.

Эталонное расстояние (см):

Расстояние, на котором точка контура считается полностью прилегающей.

Эталонный спад (см):

Расстояние, на котором точка контура считается частично прилегающей.

Тип спада:
Линейное

линейно интерполирует Значение прилегания для заданной точки между Эталонное расстояние и Эталонное расстояние + Эталонный спад.

Сгладить

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

Итерации расширения:

Количество раз, когда «полностью прилегающая» область контуров расширяется на одну точку.

Итерации сглаживания:

Количество сглаживаний Значений прилегания «частично прилегающей» области контуров.

Соседи сглаживания:

Количество соседних точек, используемых во время сглаживания Значения прилегания.

Закрепление границ:

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

Закрытие по 2D эталону

Примечание

Для работы этого режима требуются Точки на экране. Он работает путем аппроксимации области между двумя контурами экрана с разрешением, указанным в параметре Разрешение экрана. Значение прилегания определяется для всего контура с использованием этого приближения.

Разрешение экрана:

Разрешение, используемое для контуров экрана.

Пикселей на сантиметр:

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

Эталонный порог закрытия 2D:

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

Эталонный спад закрытия 2D:

Область, в которой контур считается частично замкнутым.

Тип спада:
Линейное

линейно интерполирует Значение прилегания для контура между Эталонный порог закрытия и Эталонный порог закрытия + Эталонный спад закрытия.

Сгладить

интерполирует Значение прилегания для контура между Эталонный порог закрытия 2D и Эталонный порог закрытия 2D + Эталонный спад закрытия 2D с помощью функции пошагового сглаживания.

Прилегание по эталону 2D

Примечание

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

Копировать расстояние:

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

Разрешение экрана:

Разрешение, используемое для контуров экрана.

Пикселей на сантиметр:

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

Смещение точки на экране:

Количество входных точек, игнорируемых с обоих концов экранных контуров.

Эталонное расстояние 2D (см):

Конвертированное расстояние, на котором точка контура считается полностью прилегающей. Отключено, если активно Копировать расстояние.

Эталонный спад 2D (см):

Конвертированное расстояние, на котором точка контура считается частично прилегающей. Отключено, если активно Копировать расстояние.

Тип спада:
Линейное

линейно интерполирует Значение прилегания для заданной точки между Эталонное расстояние 2D и Эталонное расстояние 2D + Эталонный спад 2D.

Сгладить

интерполирует Значение прилегания для заданной точки между Эталонное расстояние 2D и Эталонное расстояние 2D + Эталонный спад 2D с помощью функции пошагового сглаживания.

Отключено, если активно Копировать расстояние.

Итерации расширения:

Количество раз, когда «полностью прилегающая» область контуров расширяется на одну точку. Когда Копировать расстояние активно, оно просто меняет Значение прилегания на минимум двух ближайших соседей.

Итерации сглаживания:

Количество сглаживаний Значений прилегания «частично прилегающей» области контуров.

Соседи сглаживания:

Количество соседних точек, используемых во время сглаживания Значения прилегания.

Закрепление границ:

Указывает, должна ли «полностью прилегающая» область контуров оставаться полностью прилегающей во время сглаживания Значения прилегания. Отключено, если активно Копировать расстояние.