07_Свои узлы в песочнице.

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

Здесь инструкции от создателя узла, zeffii, он всё услужливо расписал. Спасибо ему.

Так же есть пара серий экранов про шаблоны и где они находятся, а также первая инструкция, и про шаблоны и как ими пользоваться. Есть примеры тут.

Достаём узел песочницы, Scripted Node, который находится в генераторах и позволит нам делать операции которые трудно реализовать множеством узлов, также можно объединить функционал нескольких узлов для оперативности просчёта. Писать будем на языке python. Затем достаём шаблон из выпадающего меню, который бы вписывал нам в треугольник круг.

на рисунке 5 и 6 мы активируем достатый шаблон, выбирая уже из второго выпадающего меню - это текстовые файлы блендера, среди них может быть сверчковый текстовой просмотрщик.

Строим треугольник и вставляем его в сверчка, учтите что матрица не присвоена, если объект подвинут - у нас не совпадёт, надо применять узел apply matrix во вкладке векторов.

Видим, что шабюлонный узел выдаёт нам точку центра окружности и радиус. Нам понадобятся нормаль полигона для задавания матрицы. Matrix in узел берёт точку из шаблонного узла как положение, location, а вращение мы задаём разницей между вектором Z, и вторым вектором - нормалью, который вставляем вместо значения угла вращения матрицы. Это уловка, которая задокументирована и не сразу очевидна, но в Wiki сверчка есть.

Двигаем точки и смотрим что получается пр нажатии обновить в сверчке.

Меняем параметры, смотрим и обнуляем чистим свой узел, чтобы создать свой узел. Для начала нам понадобится шаблон, пустой шаблон с которого следует начать, в нём есть подсказки для начинающих.

Сделаем окно текста на весь экран и редактируем текст скрипта. Для начала определим входные значения, для этого в дефиниции def sv_main(): вставим строчку number=10, впрочем можно написать count=50, здесь никто вас не ограничивает. Затем нажимаем Ctrl+I, чтобы сформировать автоматически вводные узлы, это список in_sockets.

Затем нам надо удалить дублирующие вводные, просто их удаляем.

Вводим наш текст, который представляет собой формирование списка [] из тьюплсов (0,0,i) что представляют собой векторы, x, y, z соответственно. Вписываем переменную нашего списка в выходные сокеты, не забываем указать тип сокета, один из трёх v,s,m, то есть вершины, пеолигоны и матрицы. Возвращаемся в обычный оконный режим и перезагружаем шаблон.

Теперь нам не надо столько узлов, мы делаем серию точек, а значит нам нужно целое число, integer из вкладки numbers, а также просмотрщик. Мы сразу видим столько точек, сколько мы указали в целом числе.

Можно поиграться с нашим единственным параметром. Если надо, можно добавить вводные паарметры списков, для этого number=[], а также поменять тип сокета ввода и ввода соответственно v,s,m. Для примеров - смотрите шаблоны, благо их масса. Самый наверное закрученый там мой Box ordered, что значит упорядоченый короб. В чём его преимущество - все полигоны, грани куба упорядочены и идут по рядам и по столбцам, а затем по граням куба, что прощает вам выборку из его граней. Единственный минус - x,y должны быть одинаковыми, это его отличает от Box, который сделал zeffii, где решено при помощи bmesh инструментария, но тогда грани хаотично распределены. Есть интересные решения по цветочкам и паутинке, в общем, поле деятельности огромное, есть пример работы с частицами блендера, но пока шаблоны не упорядочены и не сведены.

Дерзайте ныне ободрены уменьем вашим доказать...

Да пребудет с вами сила Сверчка.

  • Development!
  • Development!!
  • Development!!!
  • /Steven Anthony Ballmer/
  • Архитектор, дизайнер и Человек...
  • Все права защищены (с)
    • Земля
    • 2013 г.