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

Скрипт который двигает ЮВШеллый ровно на од

Тема в разделе "Maya", создана пользователем Лексей, 4 сен 2013.

Модераторы: Dark™, Skif
  1. Лексей

    Лексей Активный участник

    С нами с:
    05.09.2009
    Сообщения:
    57
    Симпатии:
    2
    Баллы:
    7
    Привет! Нужен скрипт который двигает шелл(ы) ровно на один пиксель, независимо от того, какого разрешения назначена на объект текстура.
     
  2. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    текстурные координаты никак не связаны с разрешением используемой текстуры
     
  3. Skif vip

    Skif Administrator Команда форума

    С нами с:
    26.03.2004
    Сообщения:
    6.826
    Симпатии:
    417
    Баллы:
    2.787
    на один пиксель куда?
     
  4. Лексей

    Лексей Активный участник

    С нами с:
    05.09.2009
    Сообщения:
    57
    Симпатии:
    2
    Баллы:
    7
    Владимир, но, двигать можно, проверено.

    Skif, во все стороны. Для этого у скрипта должен быть маленький интерфейс, где будет несколько кнопок.
    По-моему это очевидно.

    Например, если разрешение текстуры 2048х2048, то вычеслить шаг можно таким способом:
    1/2048=0,00048828125

    Далее подставить получившееся значение:
    polyEditUV -u 0.00048828125 -v -0 ;

    В итоге шелл будет сдвигаться ровно на один тексель, если текстура 2048х2048.

    Скрипт примерно такой должен быть:
    Команда вычесляет какого разрешения на объекте текстура и заносит в память, если их несколько, то можно выделить фэйс на объекте и тогда относительно выделенного фэйса будет происходить вычесление.

    Интерфес готов сделать сам, нужна начинка.
     
  5. Dark™ vip

    Dark™ Administrator Команда форума

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    Самая простая реализация
    Код:
    string $panels[] = `getPanel -sty polyTexturePlacementPanel`;
    int $img_sizes[] = `textureWindow -q -is $panels`;
    float $inc_v = 1.0/$img_sizes[0];
    polyEditUV -r true -v $inc_v -r 0 ;
    
     
  6. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    лексей, прежде чем меня поправлять прочитайте повнимательнее вопрос :"..независимо от того, какого разрешения назначена на объект текстура... "

    на объекте может быть вообще процедрная текстура. или плейсмент с недефолтными значениями. или неколько текстур с разными раз. или несколько юви сетов

    еще раз повторяю. текстурные координаты (это атрибут шейпа ) никак не связаны с разрешением текстур (это атрибут файловой ноды).
     
Модераторы: Dark™, Skif

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