Читайте также:
|
|
Функция
clearSelection ()
снимает со всех выделенных объектов признак выделения. Набор selection после вызова данной функции становится пуст. Чтобы получить все выделенные объекты в виде массива, используется функция
getCurrentSelection ()
Фактически обращение к ней эквивалентно следующему скрипту
selection as array
но, при большом количестве объектов в сцене, функция работает значительно быстрее.
Дополнительные сведения
Наборы объектов динамичны. При создании пользователем нового примитива, набор geometry расширяется, при работе с выделением объектов изменяется набор selections. Чтобы зафиксировать текущее состояние набора, лучше всего запомнить его в переменной, преобразовав в массив. Например
MyHelpers = helpers as array
Наборы объектов можно использовать при записи шаблонов имен. Например, шаблон
$cameras/c*
выберет все камеры, имена которых начинаются с c.
При работе с наборами камер и источников света следует учитывать тот факт, что нацеленные камеры и источники света включают в себя целевой объект-пустышку. При организации цикла по объектам наборов lights и cameras следует, в случае необходимости, проверять тип объекта с помощью функции isKindOf. Например, скрипт
for obj in lights do if isKindOf obj lights do obj.multiplier * = 1.3
корректно увеличит яркость всех световых источников сцены на 30%.
Массив именованных наборов
Класс Массив именованных наборов (SelectionSetArray) представлен только одним экземпляром – глобальным массивом selectionSets. Он содержит те же наборы элементов, что находятся в выпадающем списке Named Selection Sets инструментальной панели 3ds max
Конструкторы
Получить ссылку на массив именованных наборов можно, поставив в правой части оператора присвоения глобальный массив selectionSets. Например
c = selectionSets
Следует помнить, однако, что изменения, сделанные в массиве с помощью такой ссылки, в полной мере отразятся и на массиве selectionSet, и на списке в инструментальной панели.
Свойства
С помощью свойства
Массив_именованных_наборов. count
можно получить количество имеющихся именованных наборов
Операторы
Для массива именованных наборов определена только операция индексирования.
Массив_именованных_наборов [ Индекс ]
Индексом может быть целое число, начиная с 1, либо имя набора, либо текстовая строка, задающая имя набора. Например
selectionSets[2]
selectionSets[#Set1]
selectionSets[“My named set 2”]
С помощью индексирования можно не только получить именованный набор объектов, но и занести объекты в существующий или создать новый. Например
selectionSets[#Set1] = # ($Sphere01, $Sphere02, $Sphere03)
Если набор с именем #Set1 уже существует, то он заменяется указанным набором из трех сфер, в противном случае создается новый именованный набор с таким именем.
Методы
Чтобы удалить набор из массива применяется функция
deleteItem Массив_именованных_наборов Имя
Набор с именем, указанным вторым параметром, удаляется из массива. Имя может быть указано обычным образом или в виде строки.
Дата добавления: 2015-10-31; просмотров: 88 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Массив параметров | | | Прочие функции |