В отличии от обычных редакторов в Houdini каждой точке или полигону можно присвоить любые атрибуты (переменные) на этом строится вся философия редактора. Но кроме точек и полигонов, есть еще один уровень - Details - самый верхний. В нем обычно хранятся параметры всего объекта. Но также в нем можно хранить глобальные переменные для работы на нижних уровнях. Чтобы было интереснее решим задачу: Необходимо заданный прямоугольник заполнить плитками 2х2, 1х2 и 1х1.
Алгоритм: Эту задачу можно сделать в одном Attribute Wrangle. Но мы вспомним правило рефакторинга: одна функция - одно действие. Поместим в Details переменные. setdetailattrib(0,"blocktype","block2x2","set");
setdetailattrib(0,"maxx",chi("MaxX"),"set");
setdetailattrib(0,"maxy",chi("MaxY"),"set");
setdetailattrib(0,"seed",chf("Seed"),"set");
setdetailattrib(0,"status","init","set"); После этого можно получать и обновлять переменные. Здесь мы берем случайные координаты точки на поле и узнаем номер полигона, на который попадает то