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

как сделать табло

Тема в разделе "Maya", создана пользователем Artur Kononov 775, 2 фев 2002.

Модераторы: Dark™, Skif
  1. Artur Kononov 775

    Artur Kononov 775 Знаток

    С нами с:
    20.10.2001
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    25
    Нужно сделать некое подобие табло.
    Паясню:
    Есть табло-экран, пикселы которого представляют собой Plane. Табло - это большой плоский массив из Plane. На табло наложена текстурка с черно-белым анимированным узором. Узор естественно без полутонов. Так вот делаем копию этого табло только без материала. Задача такая :
    Если на табло с узором пиксел полностью покрыт черным цветом - тогда на копию этого пиксела накидываем черный материал
    Если на табло с узором пиксел стал полностью покрыт белым цветом- тогда на его копию кидаем белый материал.

    Короче как бы оцифровать изображение.

    С какой хоть стороны к этой задаче подойти?
     
  2. Guest

    ya tak i ne ponyal v chyom problema. tebe nado chto krasit' vo chto?Artur Kononov wrote:
    >
    > Нужно сделать некое подобие табло.
    > Паясню:
    > Есть табло-экран, пикселы которого представляют собой Plane.
    > Табло - это большой плоский массив из Plane. На табло
    > наложена текстурка с черно-белым анимированным узором. Узор
    > естественно без полутонов. Так вот делаем копию этого табло
    > только без материала. Задача такая :
    > Если на табло с узором пиксел полностью покрыт черным
    > цветом - тогда на копию этого пиксела накидываем черный
    > материал
    > Если на табло с узором пиксел стал полностью покрыт белым
    > цветом- тогда на его копию кидаем белый материал.
    >
    > Короче как бы оцифровать изображение.
    >
    > С какой хоть стороны к этой задаче подойти?
     
  3. Artur Kononov 775

    Artur Kononov 775 Знаток

    С нами с:
    20.10.2001
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    25
    хм...я думал что понятно объяснил...
    Ну представьте что есть табло 3 на 3 лампочки. Каждая из них может либо гореть, либо не гореть. Это и нужно симитировать.
    Допустим табло должно показывать выползающую с нижнего края букву T.
    Выглядеть это будет как на изначально темном табло зажгется нижний ряд ламп (табло 3 на 3 ) затем зажгется средний горизонтальный ряд ламп и одна средняя лампочка в нижнем ряду, и наконец последним этапом будет зажженый верхний горизонтальный ряд ламп и средние лампочки в среднем и нижнем ряду. Получилась выползающая снизу буква "Т".

    Рисуем черно белую маску в виде "Т". Кидаем ее на наше табло и анимируем движение маски вверх. Получается что на нижнем ряду ламп начинает плавно выползать горизонтальная палка от "Т". А мне нужно избавиться от того что на лампах видна ползучая граница черного и белого. По определению лампы могут либо гореть либо нет.

    Прошу не советовать поставить три ступенчатых ключа на движение маски "Т" вверх. Весь этот пример с "Т" - упрощенная модель для объяснения сути вопроса.
     
  4. Guest

    А не сходил бы ты на cgnation ?
     
  5. Guest

    Хорошая идея,
    там за последние 3 месяца постингов столько же сколько у нас за день

    Артур,

    По поводу твоей проблемы -
    Не обязательно делать поверхность табло из маленьких частей.
    Достаточно создать небольшую сетку в гипершейде, которая бы делала сдвиг
    UV координатам с определенным шагом (чем меньше шаг - тем меньше размер "лампочки" в табло). Это можно сделать , заложив вертикальный полосатый градиент от черного к белому в Vcoord Place2dTextur-ы твоего imageFile, и горизонтальный - в Ucoord. Тогда ты сможешь рулить всеми параметрами place2dTextur-ы и получать пикселизованную картинку на табло.
    Простейший выход - нарисовать такой градиент в фотошопе, но мне легче написать формулу чем рисовать и я сделал настраиваемый градиент благодаря выходам UVcoord у SamplerInfo.
    Достаточно взять condition ноду например, завести на ее firstTerm и secondTerm соответственно U и V координаты (из двух разных sampler-ov для надежности) и вписать в этом кондишене экспрешн (хорош русский язык ;) ) :

    // делим U или V соокдинату на 250, например, частей (маленькие лампочки)
    condition1.color1R=(((trunc(condition1.firstTerm*250))%(250)));
    // делаем так чтобы выход не зависил от условия в condition-e
    condition1.color2R=condition1.color1R;

    И так же сделать в другом кондишене для другой координаты...
    Затем выдаваемые сначения с выходов outColorR этих кондишенов
    возвращаем в диапазон 0<-->1 с помощью remap ноды.

    И с выхода ремапа (или ремапов, как сделаешь) полученные значения подаем на входы UVcoord в place2dTextur-е твоей file-ноды.
    Желательно чтобы тексты были без антиалайзинга и в ноде file тоже был отключен filter. Тогда не будет серых квадратиков (для белого текста на черном).
    Вот мы и имеем легко-настраиваемое табло из квадратиков. Правда интереснее было бы если бы это были кружочки... ;)
    Ну все, вроде все сказал... если что - пиши....

    Удачи
    Алексей Гусев
     
  6. Artur Kononov 775

    Artur Kononov 775 Знаток

    С нами с:
    20.10.2001
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    25
    Спасибо, тестовое табло работает. Правда пока с элементарным градиентом из Ramp-а. В колдовстве с кондишенами еще не разобрался.
    В. Забелин тоже подсказал интересное решение. Оно более трудоемко, потому что работает именно с плейнами-пикселами, но тоже работает на ура.
     
  7. Guest

    Если хочешь - могу выслать проект с уже настроенной сеткой? Может визуально легче разобраться чем слова мои читать. Там только картинки вставить.... :)

    удачи
    Алексей Гусев
     
  8. Artur Kononov 775

    Artur Kononov 775 Знаток

    С нами с:
    20.10.2001
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    25
    Вышли, пожалуйста, если не больше 500 кил.
     
  9. Guest

    Algous vishli pojalusta i mne.
    Interesno razobratsa.

    Best Regards...
     
  10. Guest

    Высылаю.....
    там есть hsvToRGB ноды, они не обязательны, но с их помощью можно еще и вариации по цвету делать....

    удачи
    Алексей Гусев
     
Модераторы: Dark™, Skif

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