Render.ru

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

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

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

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

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

Прошу не советовать поставить три ступенчатых ключа на движение маски "Т" вверх. Весь этот пример с "Т" - упрощенная модель для объяснения сути вопроса.
 
#5
Хорошая идея,
там за последние 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. Тогда не будет серых квадратиков (для белого текста на черном).
Вот мы и имеем легко-настраиваемое табло из квадратиков. Правда интереснее было бы если бы это были кружочки... ;)
Ну все, вроде все сказал... если что - пиши....

Удачи
Алексей Гусев
 
Рейтинг
25
#6
Спасибо, тестовое табло работает. Правда пока с элементарным градиентом из Ramp-а. В колдовстве с кондишенами еще не разобрался.
В. Забелин тоже подсказал интересное решение. Оно более трудоемко, потому что работает именно с плейнами-пикселами, но тоже работает на ура.
 
#7
Если хочешь - могу выслать проект с уже настроенной сеткой? Может визуально легче разобраться чем слова мои читать. Там только картинки вставить.... :)

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

удачи
Алексей Гусев
 
Сверху