Установите Collide Over Sample=1 и запустите анимацию.

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

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

Если вы помните, мы создавали наш загадочный объект, используя параметр Output=Paint Effects and NURBS Curves, а затем просто спрятали штрихи Paint Effects до лучших времен. Если теперь снова их показать в панели камеры (Show=>Strokes), станет ясно, для чего и откуда взялся зазор между кривыми и поверхностью.

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

Терминологический комментарий. Так как общеупотребительного жаргонизма для перевода термина «clump» еще не сложилось, я честно пытаюсь перевести его, ибо выражение «клампы» может быть воспринято как опечатка. Из множества словарных вариантов - а среди них -пряди», «фиксаторы», «клоки», «группы», «семейства», «чубы», «локоны» и «лохмы» - я выбрал все-таки «пучки», хотя для специально подготовленных умов был бы идеален математический термин «семейство» . Однако скажешь «ширина семейства» - и тебя, может быть, не так поймут, в то время как слова «толщина пучка» все психически уравновешенные пользователи воспримут достаточно однозначно.

Ширину пучков дополнительных волос, растущих вокруг центральных кривых, можно задать в Attribute Editor в разделе Clump and Hair Shape. За это отвечает атрибут Clump Width. Следующий атрибут (Hair Width) определяет толщину самих волос.

Установите Clump Width=0.01, то есть ширина пучков будет равна толщине самих волос. Соответственно, и столкновения теперь будут рассчитываться для тонких веревок, а не для толстых пучков. Особо любознательные умы могут также выровнять графики-профили, определяющие изменение толщины вдоль направления кривых (Clump/Hair Width Scale).

Запустите анимацию. Зазор исчезнет и кривые будут прилегать к поверхности более плотно. Спрячьте снова штрихи Paint Effects (Show=>Strokes), чтобы ускорить анимацию.

Коль скоро мы еще не решили, как будем визуализировать кривые, неплохо бы иметь еще один общий атрибут, который бы просто добавлял ко всем кривым дополнительную толщину при просчете столкновений. Этим же атрибутом, можно было бы корректировать зазор, независимо от толщины пучков и волос. Такой атрибут находится в разделе Collisions и называется Collide Width Offset. Он, как правило, используется для того, чтобы «вытащить» обратно провалившиеся в поверхность волосы.


⇐ вернуться назад | | далее ⇒