• Откройте Attribute Editor для hairSysteml и создайте простой expression для Collision Width Offset
hairSystemShape1.collideWidthOffset=0.35-hairSystemShape1.clumpWidth
Это сделает ширину области коллизий независимой от ширины пучков. Можете поиграть анимацию и изменять в это время значение Hair Clump Width, наблюдая, что это не влияет на динамику.
• Установите Hair Clump Width = 0.4.
Пытливые умы могут добавить учет Hair Width в данный expression. Сохраните сцену как 8_headDu-plicatedStartCurves.ma
Увеличение плотности
Самый простой, если не сказать тупой способ увеличить плотность волос для уже имеющейся системы волос заключается в заполнении ее пассивными кривыми. Они не участвуют в динамике, а лишь повторяют форму соседних активных кривых.
• Выберите голову, а затем Paint Hair Tool.
• Задайте Paint Mode=Create Passive Follicles.
• Увеличьте в два раза плотность рисования: Follicle Density U=80, Follicle Density V=40.
• Покрасьте поверхность пассивными кривыми.
Не переживайте по поводу «лишних» участков. Сейчас мы их «сбреем».
• Выберите hairSystem1 и выполните «бреющий» скрипт.
string $texture = "filel";
// converting selection to follicles convertHairSelection "follicles";
// list of follicles string $list[] = 'ls -sl'; string $it;
// for each follicle for ($it in $list) {
// get UV-position
float $u = 'getAttr ($it+".parameterU")';
float $v = 'getAttr ($it+".parameterV")' ;
// get color at point on surface under follicle
float $col[] = 'colorAtPoint -o RGB -u $u -v $v filel' ;
// delete follicle and it's curve if red channel is white
if ($col[0]>0.5) delete ('listConnections -t "nurbsCurve" $it ')$it
'listTransforms $it'
}
Кстати, обратите внимание на некоторую неравномерность в расположении пассивных кривых относительно активных. Если вы помните, мы рисуем на сетке размером 101x101. Однако плотность рисования установлена в 80x40. Поэтому расположение кривых, нарисованных с разными плотностями, может быть неравномерным. Для того, чтобы избежать этого, надо было с самого начала установить createHairMaxDensity равным 81 или 161.
• Просчитайте картинку (Hair Per Clump=20; Sub Segments=1; Clump Width=0.4).
• Задайте Display Quality = 10, чтобы убрать торможение на экране.
Трюки уплотнения
Если граница волосяного покрова кажется вам слишком «жидкой», то можно еще раз применить рисование пассивными кривыми с удвоенной плотностью только вдоль границы.
Однако более «интеллигентно» будет нарисовать кривую на поверхности и выпастить новые волосы прямо из нее. Это позволит точно обозначить границу роста волос. Можно также увеличить визуальную плотность соответствующим текстурированием той части поверхности, на которой растут волосы. Например, вы можете отрендерить только волосы (без поверхности) в виде сверху, а потом наложить (как проекцию) это изображение на поверхность (на один из слоев канала цвета), чтобы закрасить волосистую часть поверхности текстурой, максимально похожей на сами волосы.