Обратите внимание, что цвет, заданный в hairSystem1, перемножается с цветом текстуры. Сохраните такую экзотику как 7_headPFXbrush.ma
• Для того, чтобы вернуться к нормальному виду для волос просто удалите кисть brush1.
• Задайте Hair Width=0.01.
• Посчитайте. Ужаснитесь.
Пришло время удалить симметричные кривые и заняться плотностью.
Удаление симметрии
Если вы соблазнились на трюки с симметрией, то пришло время за них расплачиваться.
• Спрячьте штрихи Paint Effects: Camera menu=>Show=>Strokes.
• Выберите скопированный pfxHair2 и удалите его.
Удалите groupl, содержащую инстансированные кривые.
Идея состоит в том, чтобы симметрично скопировать стартовые кривые как нормальные объекты, превратить их в динамические кривые, а затем перенести в систему hairSys
teml.
Выберите hairSystem1, и выполните Hair=>Convert Selection=>to Start Curves.
• «Развыберите» центральный ряд кривых.
• Сдублируйте выбранные кривые на нормальные объекты (не инстансы).
• Выполните в Script Editor следующую команду, чтобы симметрично отразить скопированные кривые.
scale -p 0 0 0 -r -1 1 1; Выполните Use Freeze Transformations, чтобы убрать отрицательный масштаб.Теперь проще всего сделать скопированные кривые динамическими, перенести их в систему hairSystem1, а ноды типа follicle просто припарентить к голове. Однако в этом случае, новые динамические кривые не прикрепляются к голове, так как для них значение атрибута Parameter U/V, остается равным нулю. Кроме того, теряется связь с констрейнами. Небольшой скрипт может решить проблему с переносом динамических кривых и усаживанием их на выбранную поверхность. Этот скрипт называется landCurves.mel.
• Если скопированные кривые уже выбраны, то выберите дополнительно поверхность головы.
• Выполните в Script Editor команду landCurves.
• Задайте Hair System=hairSystem1.
• Нажмите большую кнопку и все кривые превратятся в волосы и унаследуют атрибуты из hairSys-teml.
Этот скрипт может быть использован для «подсаживания» любых новых кривых в уже существующую систему волос или для создания новой системы из существующих кривых и закрепления их на поверхности.
Кстати, в восьмой версии MAYA при создании динамических кривых можно указать поверхность, к которой они должны «прилипнуть». Так что данный скрипт может быть использован в целях изучения устройства системы волос с точки зрения языка MEL.
• Проиграйте анимацию и заметьте несимметричную форму.
Дело в том, что остаточные кривые не были созданы для скопированных кривых.
• Сделаем это сейчас. Выберите все текущие кривые и выполните Hair=>Set Rest Positions=>from Start.
Кривые снова ведут себя возмутительно. Это связано с тем, что мы изменили ширину пучков (Hair Clump Width) пока настраивали рендеринг. Оказывается, динамика учитывает эту ширину для расчета столкновений! Это конечно прискорбно, так как мы захотим менять этот атрибут много раз, однако не хотим влиять на динамику. К счастью есть специальный атрибут Collision Width Offset, который позволяет корректировать область столкновений и может быть использован для компенсации изменения визуальной ширины пучков.