И самое главное. Вместо реальных объектов максимально старайтесь, где это возможно, использовать констрейны типа Collision Sphere и Collision Cube для просчета столкновений. Аналогично твердым телам, для просчета соударений можно использовать не реальные поверхности, а процедурные примитивы (типа куба или сферы), если они примерно воспроизводят форму поверхности. Просчет таких коллизий происходит в разы быстрее и точнее.

Если также вам надо обеспечить столкновение волос с горизонтальной плоскостью, для этого не надо создавать геометрию. Для этого достаточно в атрибутах системы волос (hairSystem) в разделе Collisions включить галку Collide Ground и задать высоту плоскости с помощью атрибута Ground Height. Просчет столкновений с такой горизонтальной плоскостью не требует никаких дополнительных вычислительных затрат.

Избегайте просчета взаимных столкновений между кривыми (Self Collide). Если же этого не избежать, старайтесь задавать число взаимодействующих между собой соседних кривых (Num Collide Neighbors) минимально возможным: начните с двух-трех и увеличивайте, пока не добьетесь нужного эффекта.

Визуализация системы волос

Перед тем, как приступить к практическим экспериментам с рендерингом кривых, хочу немного порассуждать о природе системы волос и обозначить методы ее визуализации. Прежде всего, вы должны понимать, что волосы - объект, мягко говоря, экстремальный. Поэтому для адекватной работы с ними все время приходится сохранять баланс между их количеством и производительностью компьютера. Понятно, что смоделировать на экране движение «как в жизни», то есть ста тысяч волос, не удастся даже при значительных запасах продовольствия. Поэтому на экране вы всегда будете оперировать с условной массой волос, а окончательный вариант появится только после рендеринга. Но рендер - тоже сделан человеком, а потому скармливать ему миллионы волос было бы несколько негуманно.

Оттого на помощь приходят всяческие специальные технологии просчета большого количества однотипных объектов. Для MAYA это - система Paint Effects и ее методы визуализации кривых. Для тех пользователей, которые при слове Paint Effects недовольно сморщат нос и снисходительно пробурчат: «Ах, это же пост-эффект…», замечу лишь, что этот пост-эффект на сегодняшний день суть быстрейший способ отрендерить гигантские количества кривых, не израсходовав при этом оперативную память в первую секунду просчета. Технология Multi Streaks применяемая совместно с Paint Effects, позволяет увеличить количество волос в десятки раз, без существенного увеличения времени просчета.

Если кто-нибудь заикнется о честных отражениях или преломлениях, я также замечу, что для использования алгоритма трассировки лучей, вам придется загрузить в память всю геометрию волос, то есть данные о количестве вершин, их позиции, цвет и прочие атрибуты, собранные с пары миллионов волос. Я ничего не имею против против Raytracing, но просто хочу обозначить следующий момент: волосы - не тот объект, который следует рендерить «в лоб». Существуют методы легального обмана зрителя, так почему бы их не использовать? Пользователи Renderman десятилетие жили без преломлений и отражений, при этом обманывали народ качественнее всех, в то же время считая свои сцены быстрее всех.


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