Справка Houdini на русском VEX

Работа с группами геометрии в VEX

Вы можете читать содержимое групп примитивов/точек/вершин в VEX, как будто это атрибуты.

On this page

Основные функции

VEX имеет ряд функций для работы с группами геометрии:

Получают количество элементов в группе

Проверяют нахождение указанного элемента в группе

Преобразуют группу по имени или шаблону в список номеров точек/примитивов

Изменяют содержимое группы по имени

Добавление элемента в несуществующую группу создаст группу.

Получение существующих групп

Вы можете получить массив имен существующих групп, читая "intrinsic" detail атрибуты edgegroups, pointgroups, primitivegroups или vertexgroups.

string groups[] = detailintrinsic(0, "pointgroups")

Чтение групп в качестве атрибутов

Общая функция чтения атрибута attrib принимает аргумент attribclass, который позволяет указать, с какого уровня геометрии (detail, primitive, point или vertex) необходимо считать атрибут.

Вместо этого вы можете указать "primgroup", "pointgroup" или "vertexgroup" в качестве класса для чтения содержимого группы, будто это обычный атрибут.

Когда вы указываете эти классы, "номер элемента" является индексом в списке групп, а "значение атрибута" является номером точки/примитива/вершины в указанном индексе в списке.

Получение номеров примитивов в группе примитивов foo

int group_size = attriblen()
int prim_num;
for (int i = 0; i < group_size; i++) {
    // При использовании класса "*group", номер элемента является индексом в списке групп
    prim_num = attrib(0, "primgroup", "foo", i)
    // ...делаем что-нибудь с примитивом...
}

VEX

Язык

Следующие шаги

Справочная информация