Массивы объектов
Создание массивов (array) — еще один способ копирования объектов. Применяется он в тех случаях, когда необходимо создать множество копий объекта и сразу рас-положить их определенным образом в пространстве. Массивы бывают одномерными , двухмерными , трехмерными . Мы рассмотрим порядок работы со всеми видами массивов.
Создайте примитив Teapot (Чайник) в окне Perspective (Перспектива). На примере данного чайника мы рассмотрим порядок применения инструмента Array (Массив) . Выделите созданный чайник и выберите пункт меню Tools | Array (Инструменты | Массив). Появится окно Array (Массив) — рис. 1.79. Параметры создаваемого мас-сива делятся на несколько групп: Array Transformation (Трансформация массива) , Type of Object (Тип объекта), Array Dimensions (Размерность массива) , Preview (Предварительный просмотр).
Рис. 1.79. Окно Array
Одномерные массивы
Одномерный массив представляет собой ряд копий объекта, каждая из которых определенным образом перемещена, повернута или масштабирована по отношению к предыдущей.
В группе параметров Array Dimensions (Размерность массива) выберите вариант 1D (Одномерный). Далее, при помощи параметра Count (Количество) , задайте ко-личество объектов в создаваемом ряду (или оставьте стандартное значение — 10). Таким образом, мы задали одномерный массив из 10 объектов. Теперь необходимо сформировать направление ряда. В группе Preview (Предвари-тельный просмотр) нажмите кнопку Preview , чтобы все изменения свойств массива сразу отображались в окне проекций. В группе параметров Array Transformation (Трансформация массива) перед нами таблица, строки которой — возможные ма-нипуляции (движение, вращение и масштабирование), а столбцы — направления манипуляций. Оперируя данными этой таблицы, мы задаем направление и действие изменения. (Обратите внимание, что таблица состоит из двух частей: слева — Incremental (Наращивание), а справа — Totals (Всего). Нас интересует левая часть.) Например, если необходим ряд объектов, направленный в отношении век-тора x , чтобы расстояние между объектами составляло 100 единиц, задайте значе-ние 100 в поле пересечения Move и X .
Задайте значение 45 в поле пересечения Rotate (Вращать) и Z . Теперь каждый по-следующий элемент ряда будет повернут на 45 по отношению к предыдущему элементу.
Задайте значения всех полей Scale (Масштабирование) равными 90. В таком слу-чае, каждый последующий элемент ряда станет меньше предыдущего на 10%. Таким образом, данная таблица позволяет вносить изменения, отражающиеся на каждом последующем элементе одномерного массива. В группе Type of Object (Тип объекта) можно выбрать один из уже известных нам типов создаваемых копий.
На рис. 1.80 показан образец одномерного массива.
Рис. 1.80. Одномерный массив
Двухмерный массив
Двухмерный массив — это совокупность расположенных в определенном порядке копий объекта на плоскости. Для изучения создания и свойств двухмерного масси-ва продолжим работу в окне Array (Массив).
1. Если у вас уже есть ряд объектов (одномерный массив), то выполняйте следую-щее действие, если ряда нет, создайте его.
2. В группе параметров Array Dimensions (Размерность массива) включите режим 2D ( Двухмерный).
3. Двухмерный массив создается за счет дублирования рядов. Правее опции включе-ния двухмерного массива расположена опция Count (Количество). Задайте здесь значение больше 1, например — 4. Визуально изменений не произошло, однако новые ряды добавились. Их позиция совпадает с позицией ряда - оригинала .
4. Для отображения множества рядов на плоскости необходимо задать направле-ние их сдвига, а это делается при помощи группы параметров Incremental Row (Увеличение ряда), расположенной правее параметра Count (Количество). Здесь можно задать направление сдвига при помощи полей X , Y и Z . Например, уве-личьте значение параметра Z , и ряды сдвинутся вверх (если активное окно — Perspective (Перспектива)).
На рис. 1.81 показан образец двухмерного массива.
Рис. 1.81. Двухмерный массив
Трехмерный массив
Трехмерный массив — это совокупность копий объекта, распределенных по всем трем направлениям виртуального пространства. Вернемся к нашему примеру и продолжим работу.
1. В группе параметров Array Dimensions (Размерность массива) включите режим 3D (Трехмерный).
2. Трехмерный массив образуется путем дублирования существующих двухмер-ных массивов. Для его создания увеличьте значение соответствующего парамет-ра Count (Количество), задавая тем самым количество создаваемых плоскостей.
3. Задайте направление сдвига дубликатов плоскостей при помощи параметров Incremental Row (Увеличение ряда). Например, если увеличить лишь значение параметра Y , то трехмерный массив будет иметь форму параллелепипеда.
4. При работе с трехмерным массивом используются все параметры группы Array Dimensions (Размерность массива), которые позволяют редактировать отдель-ные направления такого массива.
П РИМЕЧАНИЕ
Если во время работы с параметрами массива в окне Array (Массив) производимые изменения не отражаются в сцене сразу, значит, вы забыли нажать кнопку Preview (Предварительный просмотр) в одноименной группе параметров данного окна.
5. Над группой параметров Preview (Предварительный просмотр) расположена опция Total in Array (Всего в массиве), которая отображает общее количество объектов, составляющих массив.
6. Опция Display as Box (Отображать как контейнер), расположенная в группе Preview (Предварительный просмотр), позволяет отображать копии объекта как габаритные контейнеры. Это бывает полезно в случае создания массива копий сложного по форме объекта, т. к. некоторые компьютеры могут потерять дина-мику обработки сцены в такой ситуации. Переключение в режим отображения лишь габаритных контейнеров позволит сэкономить ресурсы компьютера.
7. По окончании работы с параметрами массива нажимаем в окне Array (Массив) кнопку OK . Образец трехмерного массива показан на рис. 1.82.
Рис. 1.82. Трехмерный массив
Опорные точки объектов
У любого объекта есть опорная точка (pivot ). Опорная точка позволяет передавать позицию объекта с максимальной точностью. Задавая точные координаты объекта, мы, на самом деле, задаем координаты его опорой точки. Любые манипуляции так-же происходят в отношении опорной точки объекта. Например, применяя в отно-шении объекта манипулятор вращения ( Select and Rotate ), мы поворачиваем его именно в отношении опорной точки.
Чтобы обнаружить опорную точку конкретного объекта, достаточно лишь выде-лить его. У любого выделенного объекта имеются векторы, указывающие направ-ления в трехмерном пространстве (при использовании любого манипулятора эти векторы становятся активными). Точка, из которой исходят эти векторы, и есть опорная точка объекта.
Опорная точка может быть не только у одного объекта, но и у группы выделенных объектов. Чтобы убедиться в этом, создайте в сцене несколько произвольных объ-ектов и выделите их при помощи рамки выделения. Опорный центр окажется лишь один, и если сейчас применить к выделенной группе манипулятор вращения, то все объекты будут вращаться именно в отношении этой опорной точки. Автоматическое расположение опорной точки объекта в большинстве случаев за-висит от того, в каком именно окне проекций был создан объект. Очистите сцену и создайте два куба: один — в окне проекций Top (Вид сверху), второй — в окне Front (Вид спереди). Обратите внимание, что у первого куба опорный центр распо-ложен на нижней грани, а у второго — на боковой. Дело в том, что в случае с кубом опорный центр располагается в центре той грани, которая при создании рисуется первой.