Нода «Деформация кривых на поверхности» (deform curves on surface node)
Нода Deform Curves on Surface перемещает и вращает каждую кривую на основе разницы в её корневом положении. Корневая позиция определяется координатами UV, хранящимися на каждой кривой и UV-картой, выбранной для этой цели в настройках поверхности кривых.
Трансформация рассчитывается на основе разницы между исходным мешем (до оценки ключей формы и модификаторов) и итоговым мешем.
В отличие от других геометрических узлов, эта нода имеет довольно много неявных входов:
Исходный и оценённый меш извлекаются из свойства модификатора поверхности объекта. Это означает, что нода работает только для объектов-кривых.
Исходная и оценённая UV-карта также извлекаются из свойств поверхности объекта.
Атрибут 3D-вектора с именем
rest_position
, используемый для расчёта касательных для вращающихся кривых, которые соответствуют касательным, рассчитанным на исходном меше (вращение необходимо рассчитывать на основе нормали и касательной исходного и оценённого меша).Атрибут 2D-вектора в домене кривой с именем
surface_uv_coordinate
для хранения местоположения корневых положений на UV-карте поверхности меша.
В будущих разработках эта нода будет обобщена, что сделает настройку более гибкой.
Части внутреннего процесса работы аналогичны ноде Sample UV Surface.
Предупреждение
Для достижения последовательной деформации после модификатора подразделения поверхности, опция модификатора UV Smooth должна быть установлена на None. В противном случае UV-карта поверхности будет подразделена таким образом, что это может сводить на нет сохранение точек присоединения UV-кривых, в атрибуте surface_uv_coordinate
.
Входы (inputs)
- Кривые (curves)
Стандартный ввод кривых.
Свойства (properties)
Эта нода не содержит свойств.
Выходы (outputs)
- Кривые (curves)
Стандартный вывод кривых.