Остается, правда, открытым один довольно серьезный вопрос. Нода pointOnSurfacelnfo работает только со сплайновыми поверхностями. А как же закрепить объект на полигональной сетке? Можно скачать с сайта www.alias.com соответствующий Bonus Tools Pack, расширяющий стандартные возможности MAYA. В состав этого дополнения входят такие ноды, как pointOnMeshln-fo и pointOnSubdlnfo, реализованные, как плагины. Однако количество усилий в этом случае, похоже, превысит разумные пределы.
Поэтому я предлагаю вам поступить иначе: просто поискать внутри MAYA некоторые ноды, которые решили бы поставленную задачу, хотя относятся они к совершенно другой служебной категории. Еще раз напоминаю: нижеследующая информация предназначена исключительно для будущих технических директоров и законченных майских маньяков. Читайте на свой страх и риск.
Использование нод не по назначению. Real Trans Objects. Пересадка объектов вместо волос на произвольную поверхность
Коль скоро в MAYA с некоторых пор появились инструменты для работы с волосами, с том числе и для их укладки и причесывания, то в самом устройстве «майских» волос заложена возможность «засаживать» любую (а не только сплайновую) поверхность, и притом не только волосами, но и произвольными геометрическими объектами.
Действительно, кратковременное ознакомление с «майской» системой волос позволяет выяснить, что в основании каждой «волосинки» лежит «корешок», то есть нода типа follicle, которая и определяет и положение волоса на поверхности и его ориентацию. Попробуем использовать эту ноду для прикрепления любого объекта к поверхности, в частности к полигональной сетке.
В новой сцене создайте полигональный тор, растяните его (scale =7) и, как обычно, добавьте в сцену сплайновый конус (или цилиндр).
Теперь без всякого контакта с динамикой волос выполните в Script Editor команду: createNode follicle; Обратите внимание: в Outliner тут же появится новый объект follicle"!. На самом деле были созданы две ноды: одна типа follicle, имя которой follicleShapel, а другая типа transform, называемая folliclel. (Наиболее подкованные умы даже, возможно, сообразят, что folliclel представляет собой DAG-объект.)
Выбрав в Outliner новый объект, можно пойти в Attribute Editor и обнаружить там две закладки. Во второй закладке (follicleShapel) можно увидеть два атрибута Parameter U/V, определяющих, очевидно, в каком месте поверхности должно находится основание волоса.
Вам совершенно необязательно знать динамику волос, чтобы работать дальше.
Прежде всего, надо сообщить ноде типа follicle, с какой поверхностью она будет иметь дело.
Для этого откройте Connection Editor.
В Outliner выберите тор и нажмите стрелку вниз, чтобы выбрать его shape, содержащий информацию о поверхности и нужные атрибуты.
Нажмите в Connection Editor кнопку Reload Left, чтобы загрузить атрибут pTorusShapel в левую панель.
Затем выберите в Outliner объект folliclel и опять нажмите стрелку вниз, чтобы выбрать ноду типа follicle (follicleShapel), а не transform.
Нажмите в Connection Editor кнопку Reload Right.