Здравствуйте! Меня интересует вопрос можно ли задать параметры рендера VRAY при помощи скрипта? Стоит следующая задача: отрендерить картинку на маленьком разрешении 640х480 и сохранить карту освещения(Irradiance map) в файл, потом отрендерить эту же картинку но сбольшим разрешением, используя ранее сохраненную карту освещения, затем повторить это для других камер.
Буду очень благодарен если поможете, потому что ойкак неохота сидеть на работе всю ночь и проделывать эти манипуляции вручную.
На самом деле, на эту тему можно вообще не заморачиваться ))
В доке на VRay сказано, что подобный финт с предварительным расчетом IR-мапы в малом разрешении эквивалентен обычному рендерингу с пониженными параметрами Min/Max rate для IR-мапы.
Предпоследний вопрос в разделе FAQ официальной on-line документации по VRay.
Не знаю. Пробовал я этими min/max rate заморачиваться, результат совсем не понравился, а так (когда просчитываешь освещение на маленькой картинке) весьма достойно получается.
Здравствуйте! Вот появился еще вопрос, собственно этот глюк был и раньше с самого начала, но я на него закрывал глаза, а тут нужно вдруг стало чтоб все корректно было.
-----------------------------------------------------
renderers.current = RendererClass.classes[4]()
vr = renderers.current
vr.gi_on = true vr.gi_irradmap_preset = 1 -- эта строчка делает very low
vr.adv_irradmap_mode = 0
------------------------------------------------------------
Так вот, выделенная строчка делает пресет very low, но начинаешь рендерить, а он рендерит как будто high т.е. считает ирмапу в 4 прохода, а должен то в 2.
если зайти в настройки рендера, и в ручную поменять на другой пресет, а потом вернуть так же вручную very low, то все становится нормально.
Тот же глюк заметил когда начинаешь менять материалы через скрипт, в частности текстуру tiles.
-------------------------------------------------------------------
meditMaterials[1] = VRayMtl ()
meditMaterials[1].Diffuse = color 239 226 198
meditMaterials[1].name = "brick_yellow_uvw400x1040"
meditMaterials[1].texmap_diffuse = Bricks () meditMaterials[1].texmap_diffuse.Tile_Type = 1 -- эта строчка делает running bond
---------------------------------------------------------------------
на самом деле он не делает running bond, а только пишет что сделал, нужно заходить и вручную повторять операцию.
Кто-нибудь может ли что-нибудь посоветовать?
С прессетами там через одно место сделано, у меня работает такая конструкция :
MatEditor.Open() --open the material editor.
medit.SetActiveMtlSlot 1 true --set slot 3 as the active
m = Standard()
t = Bricks()
m.diffuseMap = t
meditMaterials[1] = t
activeMeditSlot = 1
t.Tile_Type = 5
activeMeditSlot = 1
activeMeditSlot = 2
activeMeditSlot = 1
Спасибо, интересная идея, по сути тоже, только через переменные. Все работает в данном случае.
Попробовал перебить на виреевский мат, и снова по старому. Пишет одно, а на самом деле другое.
-----------------------------------------------------
MatEditor.Open() --open the material editor.
medit.SetActiveMtlSlot 1 true --set slot 3 as the active
m = VRAYMTL()
t = Bricks()
m.TEXMAP_DIFFUSE = t
meditMaterials[1] = m
activeMeditSlot = 1
t.Tile_Type = 1
activeMeditSlot = 1
----------------------------------------------------------
Блин, чёж он хочет то?
1. Да
2. Это шаманство чтобы проклясть криворуких програмистов автодеска, еще помогает обновить параметры, не пытайся понять его умом.
3. Vray не стоит, поэтому тут помочь не могу, нужно пробовать.
Если там перессет просто выставляет параметры до корых можно добрасться через скрипт, то просто установи их сам.
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
Di_di_0
Буду очень благодарен если поможете, потому что ойкак неохота сидеть на работе всю ночь и проделывать эти манипуляции вручную.
Savin Denis
Как отрендерить читай в хелпе по скрипту.
Для примера можно глянуть готовые скрипты на эту тему:
VrayMultiStageRender ( VrayMultiCamRender )
V-Ray Irradiance Map Pre Calc
Di_di_0
Немного поразбиравшись сообразил следующее:
vr = renderers.current
vr.gi_on = true
vr.gi_irradmap_preset = 1
vr.adv_irradmap_mode = 0
vr.adv_irradmap_autoSave = on
vr.adv_irradmap_switchToSavedMap = on
vr.adv_irradmap_autoSaveFileName = "d:/irmap_cam02.vrmap"
render camera:$camera01 outputwidth:640 outputheight:480 outputfile🙁"D:/testrender_camera02.png"😉 vfb😮n
vr.adv_irradmap_mode = 2
vr.adv_irradmap_loadFileName = "d:/irmap_cam02.vrmap"
render camera:$camera01 outputwidth:1600 outputheight:1200 outputfile🙁"D:/testrender_camera02.png"😉 vfb😮n
Вроде делает то что нужно. Достаточно просто менять номер камеры
и имя выходного файла.
Может кому пригодится. )
Готовые скрипты поизучаю еще, может еще интерфейс какой сделаю. Спасибо еще раз!
Savin Denis
Sphinx Black (Black Sphinx)
В доке на VRay сказано, что подобный финт с предварительным расчетом IR-мапы в малом разрешении эквивалентен обычному рендерингу с пониженными параметрами Min/Max rate для IR-мапы.
Предпоследний вопрос в разделе FAQ официальной on-line документации по VRay.
Savin Denis
Di_di_0
Di_di_0
for nf in 1685 to 1687 do
(
sliderTime = nf
vr = renderers.current
vr.gi_on = true
vr.gi_irradmap_preset = 4
vr.adv_irradmap_mode = 0
vr.adv_irradmap_autoSave = on
vr.adv_irradmap_switchToSavedMap = on
vr.options_dontRenderImage = on
vr.adv_irradmap_autoSaveFileName = "d:/temp/irmap_cam02.vrmap"
render camera:$camera01 outputwidth:240 outputheight:192 vfb😮ff
vr.options_dontRenderImage = off
vr.adv_irradmap_mode = 2
vr.adv_irradmap_loadFileName = "d:/temp/irmap_cam02.vrmap"
render camera:$camera01 outputwidth:720 outputheight:576 outputfile🙁"D:/temp/testrender_camera01"+nf+".jpg"😉 vfb😮n
)
но он выдает, что не может nf в string конвертировать. Подскажите пожалуйста, как можно еще номер кадра в имя выходного файла засунуть!
Di_di_0
Di_di_0
-----------------------------------------------------
renderers.current = RendererClass.classes[4]()
vr = renderers.current
vr.gi_on = true
vr.gi_irradmap_preset = 1 -- эта строчка делает very low
vr.adv_irradmap_mode = 0
------------------------------------------------------------
Так вот, выделенная строчка делает пресет very low, но начинаешь рендерить, а он рендерит как будто high т.е. считает ирмапу в 4 прохода, а должен то в 2.
если зайти в настройки рендера, и в ручную поменять на другой пресет, а потом вернуть так же вручную very low, то все становится нормально.
Тот же глюк заметил когда начинаешь менять материалы через скрипт, в частности текстуру tiles.
-------------------------------------------------------------------
meditMaterials[1] = VRayMtl ()
meditMaterials[1].Diffuse = color 239 226 198
meditMaterials[1].name = "brick_yellow_uvw400x1040"
meditMaterials[1].texmap_diffuse = Bricks ()
meditMaterials[1].texmap_diffuse.Tile_Type = 1 -- эта строчка делает running bond
---------------------------------------------------------------------
на самом деле он не делает running bond, а только пишет что сделал, нужно заходить и вручную повторять операцию.
Кто-нибудь может ли что-нибудь посоветовать?
Savin Denis
Di_di_0
Попробовал перебить на виреевский мат, и снова по старому. Пишет одно, а на самом деле другое.
-----------------------------------------------------
MatEditor.Open() --open the material editor.
medit.SetActiveMtlSlot 1 true --set slot 3 as the active
m = VRAYMTL()
t = Bricks()
m.TEXMAP_DIFFUSE = t
meditMaterials[1] = m
activeMeditSlot = 1
t.Tile_Type = 1
activeMeditSlot = 1
----------------------------------------------------------
Блин, чёж он хочет то?
Savin Denis
И ниже трюк переключением слотов также нужен.
Если нужно посмотреть, назнач материал в другой слот.
Di_di_0
meditMaterials[1] = t
meditMaterials[2] =m
Слушай, а для чего слоты переключать? я так понял что это просто выделение их.
А в настройках рендера с переменными проканает или там уже ничего не сделаешь?
Savin Denis
2. Это шаманство чтобы проклясть криворуких програмистов автодеска, еще помогает обновить параметры, не пытайся понять его умом.
3. Vray не стоит, поэтому тут помочь не могу, нужно пробовать.
Если там перессет просто выставляет параметры до корых можно добрасться через скрипт, то просто установи их сам.