Примечание. Плагин Renderman for Maya умеет считать майские волосы как «родной» объект, не используя пост-эффекты.
Для mental ray уже появились коммерческие разработки сторонних компаний, позволяющие использовать для визуализации волос так называемый «геометрический материал» (Geometry Shader). Например, решения от компании Provide3d (смотрите на www.provide3d.com) позволяют отрендерить не только волосы, создаваемые MAYA Hair, но и штрихи Paint Effects с помощью mental ray, с использованием всех возможностей этого рендерера.
Примечание. Начиная с седьмой версии MAYA, mental ray также умеет считать майские волосы как «родной» объект, не используя пост-эффекты.
Различные способы визуализации системы волос
После таких заявлений можно обозначить несколько способов, с помощью которых можно визуализировать динамические кривые.
Напомню: по умолчанию динамические кривые рендерятся с помощью системы Paint Effects. Ведь родной майский рендер не умеет рендерить кривые напрямую. Как, впрочем, и
mental ray, встроенный в MAYA: без специальных ухищрений он отказывается визуализировать кривые. Однако, как правило, визуализировать кривые и не требуется. Вы должны понимать, что сами сплайновые динамические кривые представляют лишь общую форму системы волос и предназначенны для определения движения системы волос в целом. Было бы нецелесообразно размножать количество кривых до двухсот тысяч, чтобы потом их честно отрендерить. Во-первых, поскольку MAYA не «провернет» такую сцену в окне камеры, а во-вторых, «размножать» кривые логично уже на этапе рендеринга, чтобы не сохранять, вместе со сценой, огромный массив данных. Соответственно, в сцене должны храниться базовые динамические кривые и процедурное описание того, как их следует размножить и визуализировать в процессе рендеринга.
Потому-то первый, наиболее адекватный способ - применение системы Paint Effects, которая представляет собой процедурное описание объектов, появляющихся целиком только в процессе рендеринга. Но перед тем, как описывать варианты ее применения для визуализации волос, я бы хотел вкратце перечислить альтернативные методы рендеринга кривых.
Непосредственный рендеринг кривых
Если с помощью системы волос вы делаете движение, например, набора веревок, тросов или кабелей, вы наверняка захотите визуализировать их как объекты, со своей текстурой и освещением. Поэтому самым простым (и довольно тупым) способом будет применение операции Extrude ко всем кривым и текстурирование всех цилиндрических поверхностей вручную.
Другой способ состоит в применении традиционного трюка для визуализации кривых, как штрихов Paint Effects (это не имеет отношения к встроенным возможностям системы волос).
Вы берете любую кисть, а затем, выбрав кривые и применив операцию Paint Effects=>Curve Utilities=>Assign Brush to Curve, визуализируете все сплайновые кривые с помощью наложения на них выбранной кисти.
Далее, если вы исповедуете свою хитрую рендеринг-концепцию, то, вероятно, ваш сакральный рендерер умеет рендерить кривые непосредственно. Поэтому вы можете получать различные типы эффектов, на которые этот рендерер способен. Однако даже если вы используете великий и ужасный Renderman, не спешите генерить полмиллиона волос: одна генерация rib-файла займет у вас грандиозное время, а его размер будет несколько неудобоваримым. Наверняка вам придется написать собственную dso-процедуру, для генерации волос «на лету», во время рендеринга.