» Ударим Спредом по бездорожью
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Ударим Спредом по бездорожью

English | French | Japanese | Italian | Korean | Mandarin

Этот урок подразумевает, что вы выполнили упражнения из урока 4: Подробнее об IOBoxes.

Повторение - мать учения!

Теперь, когда мы разобрались с IOBoxes, пришло время еще раз взглянуть на то, как можно работать со спредами.

Эти два примера показывают нам, как интерпретируются значения двух спредов с разным количеством слайсов. Обратите внимание что в первых двух и последних двух результат оказался одинаковым, несмотря на разные входные данные.

Все ноды сначала проверяют количество слайсов всех входящих спредов. Из спреда с максимальным количеством слайсов определяется количество слайсов для выходного спреда. Затем остальные спреды последовательно повторяются пока количество слайсов не совпадет.

Предыдущий параграф может обескуражить больше, чем помочь в понимании предмета. Ничего страшного. Это из серии тех вещей, которые проще показать, чем объяснить.

  • И правда все очень просто.

Давайте просто взглянем на следующие примеры. Все должно встать на свои места.

Удобство использования нескольких спредов

Предположим, вам понадобился RoundRect (GDI), линейно распределенный по оси X, и теперь вы хотите, чтобы квадраты были поочередно зеленого и красного цвета.

А теперь попробуем сделать сетку из 25 квадратов 5х5? Первое что приходит в голову, просто подцепить еще один LinearSpread (Spreads) ко входу Y на RoundRect (GDI). Но вот что получится:

RoundRect (GDI) по-прежнему рисует себя только 5 раз. Это проиходит потому что максимальное количество слайсов в спреде = 5. Слайсы по оси X совпадают со слайсами по оси Y.

Благо в vvvv уже есть нод, специально написанный для создания сетчатых структур. Поставьте Cross (2D) так же, как показано на скриншоте.

Cross (2D) генерирует все возможные сочетания входных слайсов и выдает по 25 слайсов для осей X и Y. Обратите внимание, что расстояние между квадратами можно регулировать вторым входом в LinearSpread (Spreads).

В заключение давайте снова добавим немного интерактива. Скажем, мы хотим знать расстояние от каждого квадрата до курсора мышки. И снова находится нод для подобных вещей: Points2Vector (2D) считает расстояние между 2 точками. Соедините ноды как показано ниже и подумайте, чо означают эти 25 цифр в нижнем справа IOBox.

Верно. Points2Vector (2D) показывает нам расстояние от курсора для всех 25 квадратов. Теперь масштабируем эти расстояния до разумных размеров и привязываем к размеру RoundRect (GDI). Это и называется мультимедиа.

Теперь увеличьте количество слайсов в LinearSpread (Spreads) и вы все поймете. Не важно, сколько у вас объектов на экране - патч остается таким же простым как в самом начале.

Конечно, это далеко не все, что можно рассказать о спредах, но на сегодня вы свободны. К тому же вы всегда можете изучить help-патчи категории Spreads самостоятельно.

anonymous user login

Shoutbox

~1d ago

joreg: But first: This Friday in Berlin: Join our full day "Getting started with Generative Design Algorithms" workshop https://nodeforum.org/announcements/workshop-getting-started-with-generative-design/

~1d ago

joreg: In #Linz for #ArsElectronica? Join us for a free 2 days #vvvv workshop sponsored by businesses/responsive-spaces-gmbh Apply here: 2-day-gamma-vvvvorkshop-at-responsive-spaces-in-linz

~3d ago

joreg: Need your custom dose of #vvvv training? Join us at our studio in #berlin: vvvv-training-at-the-source

~8d ago

~13d ago

~13d ago

domj: Dev stream: Painting with light with a Vive controller, developing using VL and Schéma. Start at 17:00 https://www.twitch.tv/dominikjancik

~14d ago

joreg: July as it happened: vvvvhat-happened-in-july-2019 #vvvv

~15d ago

levi: @mrboni thanks mrboner. solved it by turning all the lights to strobe mode so framerate drops were actually a relief :P . love

~16d ago

joreg: reminder: this thursday, just before the patching circle, there is a free 2h intro to #vvvv gamma: free-vvvv-intro-workshops-this-summer-in-berlin