Визуализация в V-ray для Maya

Даже и не думала что решение написать небольшую заметку о v-ray разростётся до такого количества текста.. не хватило одного поста, или правила ЖЖ изменились, и теперь влезает меньше.. В любом случае, всем интересующимся посвящается.

Эти записки будут полезны тем, кто привык к рендеру mental ray, и хотел бы освоить также v-ray. То есть базовые знания принципов рендера желательно должны присутствовать, но можно и без них обойтись. Базовые знания maya необходимы.

 


Как включить рендер v-ray.

После того, как он был установлен - нужно включить его в preferences--> plugin manager--> v-ray.

После этого он появится в вкладках render settings в виде выпадающего меню. Выберите его из списка. Для этого урока я использовала maya2011, но это не обязательное условие, главное чтобы это была версия не ниже maya2009. Более ранние версии лучше не брать, так советуют разработчики Chaos group. (компания, которая делает v-ray)

При выбранном рендере v-ray нажмите на кнопку рендер , и увидите примерно такое:

 Просто чтобы убедиться, что нет ошибок, рендер работает, и все объекты отображаются правильно.  В случае с моим примером возникает вопрос сглаживания — ракушки не должны быть с жесткими ребрами.

Во вьюпорте объекты сглаживаются  клавишей 3, а для того чтобы они сглаживались на рендере – необходимо добавить им атрибут Subdivisions

Работает этот атрибут по принципу mentalray approximation, сглаживает объекты только во время рендера. Чем значительно экономит ресурсы компьютера. Что следует помнить, что если вы измените свойства объекта, например разобъете его на части или объедините с другими – сглаживание нужно будет начать заново на каждый сформированный объект. Также subdivisions не поддерживаются рендером v-ray RT 1.5. Впрочем, что не мешает им успешно пользоваться хотя бы для быстрого представления о характере будущей картинки, скорость просчета позволяет очень быстро оценить освещение и композицию.

 Обязательно следите при моделинге за нормалями.  Если mental ray не очень чувствителен к их неправильному расположению, то v-ray будет считать некорректно объекты, где неправильные нормали (например повернуты внутрь).

 

Настройка освещения.

 1 этап.

Чтобы быстро увидить результат при минимуме усилий -- идем во вкладку Indirect Illumination (аналог глобального освещения и FG в mental ray) Включаем галку on. (включить). reflective, refractive caustics пока не трогаем. В качестве primary bounce ставим irrandiance mapsecondary bounces - off. (попозже я расскажу о них подробнее) Override environment - on. Это значит врей подставит свое окружение, которое задается цветом или текстурой, вместо того окружения, которое присутствует в сцене (в моем случае – вокруг ничего нет, поэтому по умолчанию сцену окружает кромешная тьма). Все, жмем кнопку рендер! 

Точки, которые появляются в процессе – это результат расчета первичного отскока (Primary Bounces) Irradiance Map. Это оптимальный способ просчета, так как он анализирует картинку, и добавляет точек (сэмплов) туда, где больше деталей, экономя их там, где поверхность ровная. Это видно по скоплению точек по краям.

Получилось темновато, это оттого – что у нас пока назначен серый шейдер (по умолчанию). Попробуйте задать ему белый цвет, и картинка посветлеет.  А еще лучше назначить белый vrayMtl. Это родной материал vray, который должен был появится в общем списке материалов в hypershade.

 Сейчас в сцене нет никакого освещения, кроме однотонной текстуры голубого цвета, которую мы оставили по умолчанию  в override environment.  Диффузная составляющая материалов, назначенных на объекты, отражает этот цвет -- поэтому все голубоватое.  О самих настройках  Render Settings подробнее напишу ниже, а сейчас добавим свет.

 Свет для vray  появится в секции Lights в hypershade, а также можно создать как и обычные «майские» источники света. Для этого урока я беру самый распространенный источник - VrayRectShape. Это аналог менталовского area light, но с поправкой на физическую корректность.

 То есть все настройки источника света сводятся к трем параметрам: интенсивность, sampling shadows (сэмплинг теней) и размер. Зависимость их друг от друга прямая – чем больше источник света, тем ярче он светит. Создаем источник черезCreate-->light-->vrayRectShape. Он появляется в центре координат. Расположите его так, чтобы стрелочка смотрела по направлению к освещаемым предметам.  Я оставила все настройки по умолчанию, точные значения можно посмотреть на картинке ниже.

Делаем тестовый рендер: 

 В целом динамика есть, у объектов появился объем. Осталась некоторая «компьютерность» изображения, которая в дальнейшем уйдет при использовании физически корректной камеры. А сейчас стоит заняться материалами.  Для этой сцены я использовала довольно простые настройки, основную функцию выполнили текстуры. Поэтому очень краткий обзор по vray for maya materials.

 Vray понимает и майские материалы. Но не совсем корректно. Поэтому для максимально качественного результата лучше все шейдинг-конструкции сделать на vraymtl шейдерах. Для создания более сложных материалов (например слоеных) есть vraylayerMTl. Очень удобно, слои складываются по принципу как в фотошопе.

 vrayMtl имеет целый свиток функций, основные из которых это diffuse,  reflectionrefraction и bump.  Остальное стоит рассматривать для решения специфических задач, мне же для этой картинки оказалось достаточно этих.

При работе с текстурами не нужно ничего специально подкручивать, назначать, и прочее. Создаёте file из меню textures в hypershade, и прописываете в нем путь к вашей текстуре. Мне понадобилось несколько видов материалов: для одного типа ракушек, для второго, для песка и для поверхности.

Для bump нода  не нужна, втыкаете  текстуру прямо в слот "bump".

 После того, как все настроено и назначено - можно еще раз просчитать картинку, и сравнить результат.

  Для достижения фото-реализма нужно сделать камеру "физически корректной", включается это путем добавления в свойства камеры (atribute editor) vray attribute --> physical camera.

С добавлением physical camera картинка стала выглядеть так:

 Краткое описание свойств камеры.

 Если вы пользуетесь фотоаппаратом в ручном режиме выставления экспозиции -- понять значения этих ползунков не составит труда.

Основные из них.

 f- размер диафрагмы (чем меньше число диафрагмы – тем больше света попадет на «матрицу» и светлее будет картинка)

 shutter speed – выдержка (чем меньше выдержка — в долях секунды, тем больше «затвор камеры» будет открытым, и светлее будет картинка)

 ISO - степень чувствительности матрицы (чем больше это значение, тем больше света попадет в виртуальный объектив, и тем картинка будет светлее)

 white balance - баланс белого. В случае с этим рендером работает следующая зависимость — чем холоднее цвет вы выставите, тем теплее будет картинка. И наоборот.  В реальной камере этот параметр обозначает то, как программа распознает световую температуру. Белый объект должен выглядеть белым, а не серым и не синим. Это связано с температурой источников света, где работает обратная зависимость – источники с низкой температурой дают желтый свет (лампы накаливания), а источники с высокой температурой (например отражение солнца в атмосфере, то есть небо) — дают холодный свет.

 DOF - глубина резкости.

Выбираю другой угол камеры, при котором будет хорошо видна маленькая глубина резкости.

Для подобной сцены мне подошли следующие настройки: 

 Для того, чтобы объект попал в «зону резкости», нужно выбрать камеру, из которой ведётся просчёт, и нажать клавишу T. У камеры появится два манипулятора для перемещения в пространстве. Один — для того, чтобы перемещать камеру, а второй  для перемещения точки, куда она будет «смотреть» (point of interest)

Вот этот второй «крестик» нужно переместить четко на тот объект,  который должен попасть в резкость. При этом камеру следует двигать отдельно. Если выйти из этого режима, то камера будет перемещаться в обычном режиме,  и point ofinterest сместится в другое место.

Теперь стоит более пристально взглянуть на настройки рендера, так как хочется  сделать качественную картинку в максимально короткий срок. Немного хочу уделить времени оптимизации рендера. Открываем Render Settings, пройдусь по всем настройкам в порядке очередности. 


Вкладка в Render Setting: Common vray

 

 

 

Для этого примера я использовала настройки как на картинке слева.

 

Считать лучше в exr, тогда файл сохраняется в 16 bit. Картинка c 16 битным цветовым диапазоном дает намного больше возможностей для цветокоррекции, чем обычный 8 битный jpg.

Чтобы просчитать анимацию – нужно просто включить галку Animation и задать с какого по какой кадр нужно посчитать. После чего нажать рендер во вьюпорте. Больше ничего делать не нужно, vray будет просчитывать кадры в окне и сохранять их на диск, процесс можно отсматривать.

Обязательно нужно указать с какой камеры рендерить (У меня указанаRenderCam)

 

 

 

 

Выставляем размер, и остается еще один пункт. Рекомендую включить галку Use V-Ray VFB, и нажать кнопку Show V-Ray VFB. Дополнительно к майскому render view вылезет собственный vray render view , который имеет ряд преимуществ. Он имеет встроенную гибкую систему цветокоррекции, можно подогнать экспозицию, и самое главное – отображает картинку в float формате (обычный render view показывает только 8 бит). Меню довольно интуитивно понятно. Жмем на чайник и смотрим как vray просчитывает пассы.

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

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

Для того, чтобы это окошко  появилось, нужно прописать переменную здесь: 

Жмем «Пуск»
Правой кнопкой мыши на  иконке «Мой компьютер» выбираем «Свойства» или “Properties”
Выбираем Advanced Tab (или аналог на русском)
Щелкаем на кнопке Environment Variables
Под списком переменных ждем «New» 
Создаем новую переменную как на картинке. VRAY_VFB_HISTORY и значение на 1. 
Жмем ОК и закрываем.

 При повторном открытии maya и VFB (vray frame buffer)  внизу появится буква H, нажав на которую откроется заветное окно. Если этого не произойдет, нужно прописать эту переменную также в Maya.env file, который скорее всего лежит в папкеmaya/prefs (диск С, my documents).  Путь должен выглядеть примерно так:

C:\Documents and Settings\ваш аккаунт\My Documents\maya\2011-x64\prefs\VRAY_VFB_HISTORY = 1

 Вкладка в Render Setting: Vray

 

 

 

В этой вкладке основное внимание нужно обратить на anti-aliasing filer, для качественной картинки с корректным распределением пикселей в зависимости от яркости, контраста и контуров объектов он должен быть включен. 

И еще один интересный пункт - subpixel mapping.  
Он относится к вкладке Color Mapping, которая с примерами хорошо описана ЗДЕСЬ   

Subpixel mapping позволяет в опеределенных случаях избежать артефактов и оптимизировать просчет распределения цветовых переходов, в зависимости от сцены. 
Вообще вся эта вкладка очень интересная, но у меня нет возможности все описать — места не хватит:)
 

 

 

 

 

 

 

 

 

 

 

 

 

 Вкладка в Render Setting:  Indirect illumination

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

Главным образом должны интересовать  2 списка: 

 

Primary и Secondary bounces

В списках указаны методы, которыми будет обсчитываться картинка с учетом отражения лучей от поверхности объектов.  Primary bounces – поставьтеIrradiance Map. Это самый удобный и экономный по времени способ, который дает максимально качественную картинку в минимальный срок. Стоит по умолчанию. Принцип его работы я вкратце рассказала в начале урока. Пресеты для IrradianceMap вполне удобны, по умолчанию стоит medium animation, для улучшения качества можно выбрать high. Но следует учитывать, что это увеличит время просчета и займет больше ресурсов.

 Secondary bounces  Ставим Brute force. Это самый простой алгоритм, не требующий и не подразумевающий супер тонкой настройки, просто задается количество сэмплов, которое будет использоваться для расчета вторичного отскока (или отражения?) в глобальном освещении.  Параметр называется subdivs


Можно было также использовать Light Cache,  возможно для сцен с большим разбросом мелко и крупно детализированных участков он подошел бы больше.

Очень удобная опция запекания карты вторичного освещения в файл, используется при просчете с помощью Light Cache.   (На картинке выше обведен красным – mode(single frame)). Для того, чтобы запечь в текстуру освещение нужно просчитать картинку, выбрать опцию from file, и сохранить файл туда, где его легко можно найти. Потом нажать кнопку browse, и выбрать файл, который сохранен. Дальше при просчете vray будет использовать его, а не просчитывать Light cache заново. Можно дописывать информацию к уже готовой текстуре, выбрав add to current mapиз списка.

Параметр Enchance details позволяет проработать детали и избавиться от мелких артефактов. Иногда его действие практически не меняет картинку, только увеличивая время рендера.

 

 

 

 

 

 

 

Вкладка в Render Setting: Settings

Здесь можно оставить пока все как есть, единственный пункт, на который стоит обратить внимание: 

Его стоит увеличить в зависимости от вашей оперативной памяти. Если, например, у вас 4Gb – поставьте 3500. Если 8Gb – соответственно 7500. Ну и так далее.  Это позволяет использовать больше памяти для просчета.

Вкладка в Render Setting: Passes 


Добавлять пассы легко и удобно, и делается это во вкладке «Render Elements»

Двумя кликами на каждом  выбранном элементе, переместите эти элементы в правую графу.  Можно их включать – отключать поочередно ( галка Enabled в attribute editor) или все вместе, Enable/Disable all.

 

При рендере в VFB из списка можно будет выбрать нужный пасс и сразу его посмотреть (даже в процессе рендера!) . Что конечно тоже очень удобно. Для просчета occlusion я использовала настройки, как на картинке. (подчеркнуто красным самое важное).

Увеличение параметра subdiv позволило мне избавиться от артефактов, а галка work with transparency позволяет учитывать прозрачность, но в  данном случае это не имело решающего значения, поэтому я её не включала (и для ускорения просчёта в том числе). Параметр Radius означает насколько сильно будет «распыление» черного цвета.

В мануале очень подробно и с картинками описаны все настройки vrayDirt. Отмечу только, что нужно выбрать extraTex  из списка пассов, и на нее уже повесить текстуру vrayDirt.

Посчитанные пассы выглядят так: 


Для пассов я обычно использую material ID для раздельной цветокоррекции, Occlusion для объема, depth of field для глубины резкости.  Здесь глубина резкости большая (то есть все в резкости), и этот пасс не имел смысла, поэтому добавила другие наглядные примеры – lighting это только первичное освещение, то есть сам источник света. Global Illumination —вторичное освещение, то есть тот свет, который является отраженным. На этом пассе видно, что текстура для вторичного освещения подкрашена. (имеет теплый оттенок)

   После всех уточнений можно посчитать финальную картинку (beauty pass). Поскольку глубина резкости при таком ракурсе большая,  отключаю DOF  в камере (размытия все равно видно не должно быть). Финальный рендер без цветокоррекции:

 

Я не стала делать здесь ни цветокоррекцию, ни композитинга. Сцена не сложная, поэтому такой необходимости нет. Картинку, которая была посчитана с подобными настройками, можно посмотреть ЗДЕСЬ.

 Хотелось покороче, но получилось не очень то.. и можно было бы еще столько же написать... Надеюсь эта информация пригодиться кому нибудь.  Если эта тема интересна, могу написать подробнее о чем-то конкретном.

Блог автора: scallyfox.livejournal.com
817 0 850 18
9
2011-08-23
Вирей для майки - штука хорошая, но для сложных работ он пока не подходит: интеграция с маей подкачала. Тоже начинал его использовать, очень нравилось небольшое количество универсальных шейдеров, но некоторые упущения разработчиков очень сильно расстраивают: хотел выключить галку "cast shadows" у объекта, но нет, оно не работает! Пришлось выкручиваться отдельным рендер слоем... таких неувязок полным полно, но их замечаешь не сразу.
2011-08-24
Урок мне понравился.Полезен для начинающих.Я столкнулся вот с такой проблемой,когда ставлю гамму 2,2 текстуры получаются выцветшими .В Майе новичок .Работаю в Максе.
2011-08-24
хороший толковый урок. спасибо. информации не хватает по мауа и вирею. даж кое что для себя почерпнул.
2011-09-06
[quote=александр крылов] галка в linear workflow исправит ситуацию [/quote] [quote=Фёдор Матанцев] незнаю,пользуюсь 3год, проблем с "cast shadows"у меня небыло... в рей под майку сейчас достаточно стабилен и предсказуем. есть конечно косяки, но у кого их нет [/quote]
2011-09-23
Спасибо за толковый урок. Никто не слышал: Есть VRay под Maya для Mac, ...не покупной.
2011-12-11
Можно ли рендерить V-ray'ем для майи через коммандную строку?
2011-12-11
[quote=gimmick] Можно ли рендерить V-ray'ем для майи через коммандную строку? [/quote] Несложный эксперимент показал, что да, можно ;)
2014-08-19
А где этот?? Override environment - on не могу найти(( 
2014-08-19
У меня почему-то  источник света отображается белям прямоугольником( ктонибудь знает как это решить эту проблемму?
RENDER.RU