Render.ru

Снятие lightmap через custom map

Yaroslav Abramov

Активный участник
Рейтинг
15
#1
наверное олдфаги помнят тему на коготке.ру
тогда результатом усилий получился способ снятия лайтмапа через кастом мап менталреем.
http://abramovyar.narod.ru/Tutorial_Light_map.html
но время идет, кривые ручки автодеска добираются до самых заветных уголков майки.
в результате смены интерфейса с 2011 вышеуказанный способ не работает.
сломали кнопку Hide в шейпе объекта.
Теперь ментал при расчете видит энвелоп и учитывает его как черную тень.
я так думаю что не очень сложно прописать этот параметр вручную в свойствах объекта, только как и где?
 

Вложения

warezyohead

Пользователь сайта
Рейтинг
4
#2
Параметры/атрибуты любой ноды можно получить через python команду maya.cmds.listAttr()

атрибуты, которые менялись в туториале:
Shape Node:
"miFinalGatherCast"
"miFinalGatherReceive"
"miTransparencyCast"
"miTransparencyReceive"
"miReflectionReceive"
"miRefractionReceive"

TransformNode:
"miDeriveFromMaya",
"miHide",
"miVisible",
"miTrace",
"miShadow",
"miCaustic",
"miGlobillum"

В общем, чтобы поставить галочку для атрибута "Hide" через script editor надо выполнить maya.cmds.setAttr("name_of_envelope_transform_node.miHide",1)

Если есть необходимость, можно будет по-быстренькому "завернуть" в скрипт шаги с 5 по 7, а может и больше, просто дальше я не читал:)

И кстати да, в Maya 2012 кнопка Hide на месте
 
Последнее редактирование:

Yaroslav Abramov

Активный участник
Рейтинг
15
#3
Параметры/атрибуты любой ноды можно получить через python команду maya.cmds.listAttr()

атрибуты, которые менялись в туториале:
Shape Node:
"miFinalGatherCast"
"miFinalGatherReceive"
"miTransparencyCast"
"miTransparencyReceive"
"miReflectionReceive"
"miRefractionReceive"

TransformNode:
"miDeriveFromMaya",
"miHide",
"miVisible",
"miTrace",
"miShadow",
"miCaustic",
"miGlobillum"

В общем, чтобы поставить галочку для атрибута "Hide" через script editor надо выполнить maya.cmds.setAttr("name_of_envelope_transform_node", miHide = 0)

Если есть необходимость, можно будет по-быстренькому "завернуть" в скрипт шаги с 5 по 7, а может и больше, просто дальше я не читал:)

И кстати да, в Maya 2012 кнопка Hide на месте
ОК, шас поэкстперементирую, да кнопочка там есть но не работает больше.
идея насчет скрипта интересна.
 

warezyohead

Пользователь сайта
Рейтинг
4
#4
Код:
import maya.cmds as cmds

attrTransformNodeList = [
                          "miDeriveFromMaya",
                          "miHide",
                          "miVisible",
                          "miTrace",
                          "miShadow",
                          "miCaustic",
                          "miGlobillum"                    
                         ]
                                             
                     
attrShapeNodeList = [
                      "miFinalGatherCast",
                      "miFinalGatherReceive",
                      "miTransparencyCast",
                      "miTransparencyReceive",
                      "miReflectionReceive",
                      "miRefractionReceive"
                     ]

for item in cmds.ls(selection=True):
    for attr in attrTransformNodeList: cmds.setAttr("{0}.{1}".format(item, attr), 0)
    for attr in attrShapeNodeList: cmds.setAttr("{0}.{1}".format(cmds.listRelatives(item,shapes=True)[0], attr), 0)
 
    if "Envelope" in item:
        cmds.setAttr("{0}.{1}".format(item, "miHide"), 1)
Вот этот какой-никакой кусок кода вроде как будет выставлять нужные значения для нод согласно туториалу (шаги 5-7)
Для корректной работы надо выбрать в Outliner lowpoly mesh и его envelope (либо выделить эти два объекта любым другим способом... только не надо переименовывать ноды Envelope и убирать префикс "Envelope" из имени)
 
Последнее редактирование:

Yaroslav Abramov

Активный участник
Рейтинг
15
#5
спасибо за код, работает.
но результата не получается, к сожалению, видимо кривые руки пробрались гораздо глубже.
самое поганое, что результат рендера и бейка-через-трансфер отличается на одних и тех же настройках, чего раньше не было на старых майках.
копаю дальше, там капец.
 

Yaroslav Abramov

Активный участник
Рейтинг
15
#6
ну в общем там как я и сказал - капец.
меду настройками энвелопа и лоупольки появилась обратная связь, IBL не работает,
а Defаult light наоборот светят зачем то, Visible in Transparency в сочетании с Caustic выдают непредсказуемые результаты(((
mib_amb_occlusion в режиме output mode 1 не работает в принципе.
главное, что не удается сделать, это исключить лоупольку и энвелоп из расчетов менталрея.
либо видит и включает в расчеты, или при нажатой кнопке хайд не считает в принципе.

может быть все таки у кого-то есть наработки по трансферу лайтмапа в майке?
 
Последнее редактирование:

Yaroslav Abramov

Активный участник
Рейтинг
15
#8
По идеи, он хорошо справляется с лайтмапами
нене речь не о бейке а о трансфере.
то есть, запекании с переносом на лоупольку.
до 2010 майка отлично это умела делать, вот только лицензии на старые майки не продаются больше.
ну и тартл никуда не встороен а продается отдельно.
или я что-то уже пропустил?
 
Последнее редактирование:
Сверху