1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

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

Тема в разделе "Maya", создана пользователем Yaroslav Abramov, 11 мар 2015.

Модераторы: Dark™, Skif
  1. Yaroslav Abramov

    Yaroslav Abramov Активный участник

    С нами с:
    25.10.2008
    Сообщения:
    219
    Симпатии:
    4
    Баллы:
    14
    наверное олдфаги помнят тему на коготке.ру
    тогда результатом усилий получился способ снятия лайтмапа через кастом мап менталреем.
    http://abramovyar.narod.ru/Tutorial_Light_map.html
    но время идет, кривые ручки автодеска добираются до самых заветных уголков майки.
    в результате смены интерфейса с 2011 вышеуказанный способ не работает.
    сломали кнопку Hide в шейпе объекта.
    Теперь ментал при расчете видит энвелоп и учитывает его как черную тень.
    я так думаю что не очень сложно прописать этот параметр вручную в свойствах объекта, только как и где?
     

    Вложения:

    • image008.jpg
      image008.jpg
      Размер файла:
      53,4 КБ
      Просмотров:
      85
  2. warezyohead

    warezyohead Пользователь сайта

    С нами с:
    08.09.2012
    Сообщения:
    11
    Симпатии:
    4
    Баллы:
    4
    Параметры/атрибуты любой ноды можно получить через 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 на месте
     
    Последнее редактирование: 12 мар 2015
  3. Yaroslav Abramov

    Yaroslav Abramov Активный участник

    С нами с:
    25.10.2008
    Сообщения:
    219
    Симпатии:
    4
    Баллы:
    14
    ОК, шас поэкстперементирую, да кнопочка там есть но не работает больше.
    идея насчет скрипта интересна.
     
  4. warezyohead

    warezyohead Пользователь сайта

    С нами с:
    08.09.2012
    Сообщения:
    11
    Симпатии:
    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" из имени)
     
    Последнее редактирование: 12 мар 2015
  5. Yaroslav Abramov

    Yaroslav Abramov Активный участник

    С нами с:
    25.10.2008
    Сообщения:
    219
    Симпатии:
    4
    Баллы:
    14
    спасибо за код, работает.
    но результата не получается, к сожалению, видимо кривые руки пробрались гораздо глубже.
    самое поганое, что результат рендера и бейка-через-трансфер отличается на одних и тех же настройках, чего раньше не было на старых майках.
    копаю дальше, там капец.
     
  6. Yaroslav Abramov

    Yaroslav Abramov Активный участник

    С нами с:
    25.10.2008
    Сообщения:
    219
    Симпатии:
    4
    Баллы:
    14
    ну в общем там как я и сказал - капец.
    меду настройками энвелопа и лоупольки появилась обратная связь, IBL не работает,
    а Defаult light наоборот светят зачем то, Visible in Transparency в сочетании с Caustic выдают непредсказуемые результаты(((
    mib_amb_occlusion в режиме output mode 1 не работает в принципе.
    главное, что не удается сделать, это исключить лоупольку и энвелоп из расчетов менталрея.
    либо видит и включает в расчеты, или при нажатой кнопке хайд не считает в принципе.

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

    Александр Чернега Знаток

    С нами с:
    24.12.2009
    Сообщения:
    1.058
    Симпатии:
    56
    Баллы:
    53
    Вроде бы, в составе 2012-ой, уже есть встроенный "Turtle"
    По идеи, он хорошо справляется с лайтмапами
     
  8. Yaroslav Abramov

    Yaroslav Abramov Активный участник

    С нами с:
    25.10.2008
    Сообщения:
    219
    Симпатии:
    4
    Баллы:
    14
    нене речь не о бейке а о трансфере.
    то есть, запекании с переносом на лоупольку.
    до 2010 майка отлично это умела делать, вот только лицензии на старые майки не продаются больше.
    ну и тартл никуда не встороен а продается отдельно.
    или я что-то уже пропустил?
     
    Последнее редактирование: 16 мар 2015
Модераторы: Dark™, Skif

Поделиться этой страницей