Arnold и Hair and Fur модификатор

Last Updated on 27/01/2018

Arnold and hair and fur modifer

 

Изучая как устроен рендер волос в Arnold’е (MAXtoA) я наткнулся на одну пока не документированную функцию, которая позволяет перенести цвет с объекта из которого растут волосы созданные Hair and Fur (H&F) на сами волосы, визуализируемые через Custom Shader.

Если вы назначите любой Arnold шейдер в параметр Custom Shader модификатора H&F, цвет волос самого H&F будет проигнорирован при рендеринге. Цвет волос будет зависеть только от настроек шейдера, у которого нет данных о текстуре объекта, из которого растут волосы.

Но как выяснилось Arnold при рендере экспортирует данные H&F о цветности волос и прозрачности (root_colors, tip_colors, opacity) но не использует их.  Дальше я покажу Вам как использовать эти данные что бы изменить цвет волос согласно текстуре, наложенной на объект по его развертке UVW.

  1. Arnold and hair and fur setup 01
    Вначале, после того как Вы добавили Hair and Fur modifier к объекту необходимо зайти в настройки Environment -> Effects-> Hair and Fur и в параметре Hairs выбрать “mr prim”. Только в этом случае Arnold будет визуализировать H&F как Arnold Curves которые лучше всего оптимизированы для визуализации волос и ворса.
    Параметр mr Voxel Resolution никак не влияет на визуализацию волос в Arnold.
  2. Arnold and hair and fur setup 02
    Назначаем Standard Hair shader в слот H&F Custom Shader. В качестве шейдера волос может быть использован любой другой шейдер Arnold’а.
  3. Arnold and hair and fur setup 03
    Включаем Legacy 3ds max Map support что бы были доступны Maps 3ds max’a.  В слот Root Color добавляем любой Map который поддерживает H&F.
    Шейдеры Arnold’a H&F не поддерживает!
  4. Arnold and hair and fur setup 04
    Теперь для того что бы Standard Hair shader начал использовать цвет волос, который мы задали через Root Color параметр необходимо добавить Arnold шейдер User Data RGB.
    В параметр Attribute этого шейдера необходимо ввести название данных, в нашем случае root_colors и присоединить этот шейдер к каналу цветности Standard Hair — diffuse_color.
    Как я уже говорил H&F автоматически экспортирует в Arnold три набора данных о цвете волос, какое количество данных использовать для задания цвета волос зависит от вашей задачи. В этом примере мы обойдемся только root_colors.
  5. Arnold and hair and fur setup 05
    Необходимо не забыть в Standard Hair изменить значение Diffuse Weight = 1.0 принуждая шейдер использовать данные цветности а так же в параметрах H&F изменить цвет Root Сolor на белый (255,255,255) иначе цвет H&F будет смешиваться с цветностью map в этом же канале.

    Итог:

    Arnold and hair and fur modifer

  6. Arnold and hair and fur optimization
    И в заключении несколько слов об оптимизации рендера волос. Хочу заметить, что по умолчанию волосы из H&F экспортируются в Arnold без параметра opaque, то есть с полупрозрачностью. Если вам не нужен расчет прозрачности волос то можно значительно сэкономить время расчета добавив к объекту с H&F модификатор Arnold Properties и включив в его параметрах Opaque.

 

 

Добавить комментарий