среда, 3 апреля 2013 г.

Доступ к скрытым шейдерам библиотеки Production (mip_*) в Autodesk Maya

С выходом mental ray 3.9, который был интегрирован в 2012 версию продуктов Autodesk, пользователям стала доступна новая библиотека шейдеров, получившая название Production, а шейдеры, относящиеся к ней, начинаются с префикса mip_*.
Шейдеры библиотеки Production доступны в Autodesk Maya. Но по умолчанию они скрыты от пользователя. Пользователи mental ray Standalone имеют полный доступ к данным шейдерам, т.к. они включены в поставку пакета. А вот для пользователей Maya, необходимо внести пару изменений в конфигурационные файлы mental ray, из поставки Maya. После всех операций, вы получите данные шейдеры в Hypershade, как это показано на картинке ниже.
Шейдеры библиотеки Production, в интерфейсе Hypershade.
Шейдеры, рассматриваемые в этом посте, представлены следующими файлами:
        link     "production.so"
        $include "production.mi"

Мы рассмотрим доступ к данной библиотеке для Maya под Windows и Mac OS X.


Доступ к библиотеке Production в Autodesk Maya 2014 for Windows
Версия mental ray for Maya 2014, немного отличается от предыдущих релизов. В Maya 2014, mental ray устанавливается в отдельную директорию как независимый модуль, аналогично V-Ray for Maya и RenderMan. А Maya, использует специальный plug-in (mayatomr.mll), который реализует возможности mental ray в интерфейсе программы. По сути, Autodesk вернулись к изначальной модели распространения mental ray в пакете Maya, как в свое время это делала компания Alias|Wavefront.
Для того, что бы открыть скрытые шейдеры в интерфейсе Maya, необходимо выполнить следующее:
1.    Откройте папку Scripts расположенную по следующему пути:
C:\Program Files\Autodesk\mentalrayForMaya2014\scripts
2.    В текстовом редакторе, откройте файл:
mentalrayCustomNodeClass.mel
3.    Измените значение на “1” в следующей строке:
$enableMIPShaders == 0 ) ||
4.    Сохраните файл.
5.    Запустите Maya и в Script Editor проследите за тем, что бы прогрузилась библиотека Production шейдеров. Это определяется следующими строками:
// generating Maya nodes...
// parsing C:/Program Files/Autodesk/mentalrayForMaya2014/shaders/include/production.mi
// loading C:/Program Files/Autodesk/mentalrayForMaya2014/shaders/production.dll

На заметку. Вы можете заранее создать резервную копию файла и восстановить его, если попытка оказалась безуспешной или файл оказался поврежденным. Но это бывает крайне редко.
Правка файла mentalrayCustomNodeClass.mel в текстовом редакторе (строка 167). 
После изменений и запуска программы, можно открыть Hypershade или Node Editor, и выполнить поиск по следующему запросу “mip_”. Шейдеры будут сразу же отображены, и их можно начать использовать.

Доступ к библиотеке Production в Autodesk Maya 2013 for Windows
Для предыдущей версии Maya 2013, необходимо сделать тоже самое, но директория Scripts где расположен файл mentalrayCustomNodeClass.mel, находится в другом месте.
1.    Откройте папку Scripts расположенную по следующему пути:
C:\Program Files\Autodesk\Maya2013\mentalray\scripts
2.    В текстовом редакторе, откройте файл:
mentalrayCustomNodeClass.mel
3.    Измените значение на “1” в следующей строке:
$enableMIPShaders == 0 ) ||
4.    Сохраните файл.
5.    Запустите Maya и в Script Editor проследите за тем, что бы прогрузилась библиотека Production шейдеров. Это определяется следующими строками:
// generating Maya nodes...
// parsing C:/Program Files/Autodesk/Maya2013/mentalray/shaders/include/production.mi
// loading C:/Program Files/Autodesk/Maya2013/mentalray/shaders/production.dll

Доступ к библиотеке Production в Autodesk Maya 2013 for Mac OS X
Если вы используете платформу Mac OS X, то для того что бы открыть шейдеры из библиотеки Production, необходимо выполнить действия, аналогичные тем что делаются в Windows.
1.    Откройте папку Scripts расположенную по следующему пути:
/Applications/Autodesk/Maya2013/mentalray/scripts
2.    В текстовом редакторе, откройте файл:
mentalrayCustomNodeClass.mel
3.    Измените значение на “1” в следующей строке:
$enableMIPShaders == 0 ) ||
4.    Сохраните файл.
5.    Запустите Maya и в Script Editor проследите за тем, что бы прогрузилась библиотека Production шейдеров. Это определяется следующими строками:
// generating Maya nodes...
// parsing /Applications/Autodesk/Maya2013/mentalray/shaders/include/production.mi
// loading /Applications/Autodesk/Maya2013/mentalray/shaders/production.dylib

Не забывайте, что Autodesk Maya 2014 и mental ray for Maya 2014, устанавливаются в отдельные директории как в Windows, так и в Mac OS X, будьте внимательны.
Наверное, вам уже интересно, что такое Production шейдеры, и в каких случаях их можно применить. Далее, я даю кратенькое описание шейдеров, и какие шейдеры будут доступны в интерфейсе Maya.


Кратко о шейдерах библиотеки Production
Библиотека Production шейдеров предназначена для применения в области композитинга и пост-эффектов, таких как motion blur, environment lighting, создание проходов теней и много другого.
В Maya, доступны следующие шейдеры из библиотеки Production:
  • mip_rayswitch
  • mip_rayswitch_advanced
  • mip_rayswitch_stage
  • mip_grayball
  • mip_mirrorball
  • mip_rayswitch_environment
  • mip_fg_shooter
  • mip_gamma_gain
  • mip_render_subset
  • mip_motion_vector
  • mip_motionblur
  • mip_binaryproxy
  • mip_matteshadow_mtl
Для примера, воспользуемся сценой, созданной для САПРяжения 2013 с деревянным шаром, в небольшом помещении (картинка в начале статьи). В данной сцене, необходимо было разделить все элементы на отдельные проходы. Стандартными средствами Maya, бывает тяжело добиться необходимого результата, особенно в формировании прохода теней. А тень необходимо было вывести отдельно, с альфа каналом и по возможности добавить в проход Ambient Occlusion.
Результат полученного с помощью шейдера mip_matteshadow прохода теней от сферы.
С помощью шейдеров mip_*, был создан граф, состоящий из шейдеров mip_matteshadow, mip_cameramap и mip_switch_environment. Дополнительно, был применен шейдер mib_color_alpha, для управления каналом прозрачности.

Граф шейдеров для формирования прохода теней.
Вся эта конструкция, отвечала только за формирование тени от сферы, при этом сама сфера не визуализируется, она только отбрасывает тень на поверхность пола.
В заключение, стоит заметить, что был создан специальный отдельный слой визуализации, который отвечал за создание прохода теней. А ряд атрибутов и настроек, были специально изменены под конкретный слой визуализации.
Шейдеры из библиотеки Production мы рассмотрим в отдельной главе, и скорей всего на примере mental ray Standalone, реализация данных шейдеров в Maya не может позволить выполнять все задачи. А вот в Standalone версии mental ray, данные шейдеры хорошо декларируются и из них могут быстро быть созданы шейдеры для решения не реализуемой стандартными средствами функции.
Подробнее о Production шейдерах мы поговорим на САПРяжение 2013 в Перми, Екатеринбурге и Тюмени. В демозоне.

До скорой встречи, ваш dimson3d! :)

1 комментарий:

  1. optionVar -intValue “MIP_SHD_EXPOSE” 1;
    и перегрузить Maya
    Взято из курса http://www.digitaltutors.com/tutorial/888-Professional-Series-Photorealistic-Vehicle-Rendering-in-Maya

    ОтветитьУдалить