Лабораторная работа № 2

Тема: Моделирование объектов на основе примитивов в 3D Studio MAX

Цель: рассмотреть моделирование объектов на основе примитивов

Практическая работа

Создание расширенных примитивов

Набор стандартных примитивов дополняется группой расширенных примитивов (Extended Primitives), часть из которых, например ChamferBox (Коробка с фаской) и ChamferCyl (Цилиндр с фаской), на первый взгляд напоминают соответствующие примитивы из группы Standard Primitives — Box (Коробка) или Cylinder (Цилиндр). Однако при внимательном рассмотрении параметров данных примитивов можно заметить, что у примитивов ChamferBox (Коробка с фаской) и ChamferCyl (Цилиндр с Фаской) их больше — имеются еще дополнительные параметры, позволяющие оформлять фаску и избавляться тем самым от острых кромок, которые отсутствуют у любых объектов в реальном мире.

Для примера создайте произвольный объект на основе примитива ChamferBox с длиной и шириной в 25 пикселов и высотой в 50 пикселов. Для лучшего обзора перейдите в режим отображения единственной проекции Perspective, щелкнув на кнопке Min/Max Toggle (Переключатель Min/Max) (рис. 1).

Рис. 1. Появление объекта ChamferBox — фаска пока отсутствует

Выделите объект, активируйте панель Modify (Редактировать) и обратите внимание на дополнительные параметры Fillet (Фаска) и Fillet Segs (Число сегментов фаски). По умолчанию первый из них равен нулю, а значит, фаска отсутствует. Начните постепенно увеличивать значение параметра Fillet (Фаска) и внимательно следите за изменением объекта, кромки граней которого начинают постепенно стачиваться. Затем, также путем перебора, подберите оптимальное, на ваш взгляд, значение параметра Fillet Segs (Число сегментов фаски) — рис. 2 и 3. Увидеть все сегменты фаски можно, временно отключив флажок Smooth (Сглаживание). Поэкспериментируйте немного с примитивами ChamferBox (Коробка с фаской) и ChamferCyl (Цилиндр с фаской) и с их параметрами, чтобы получить примерно такую же картинку, как показана на рис. 4.

Рис. 2. Результат добавления фаски к объекту ChamferBox

Рис. 3. Вид панели Modify после добавления фаски к объекту

Рис. 4. Результат создания серии объектов ChamferBox и ChamferCyl

Ознакомимся теперь в общих чертах с другими примитивами данной группы, в которую также входят:

· Hedra (Многогранник) — граненый примитив, позволяющий имитировать природные кристаллы;

· Oil Tank (Цистерна) — цилиндр, форма оснований которого может варьироваться от практически плоской до сферической;

· Spindle (Веретено) — цилиндр, форма оснований которого может варьироваться от практически плоской до конической;

· Gengon (Граненая призма) — призма, к которой можно добавить фаски по ребрам боковой поверхности;

· RingWave (Волнообразное кольцо) — примитив с круговой структурой, являющийся вариацией стандартного примитива Tube (Труба) с фигурной внутренней частью;

· Prism (Призма) — треугольная призма, для которой возможно изменение угла наклона основания к боковым граням.

· Torus Knot (Узловой тор) — примитив, предназначенный для имитации различных узлов и закручивания;

· Capsule (Капсула) — цилиндр, основания которого представляют собой полусферические поверхности;

· L-Ext (Выдавливание L-профиля) — примитив, позволяющий создавать объекты, близкие к прокатному профилю «уголок»;

· C-Ext (Выдавливание С-профиля) — примитив, обеспечивающий получение объектов, близких к прокатному профилю «швеллер»;

· Hose (Шланг) — примитив, предназначенный для имитации широкого спектра вытянутых объектов, ограниченных двумя однотипными поверхностями.

Попробуйте поэкспериментировать с названными примитивами и создать, например, несколько объектов на основании простых в настройке примитивов Hedra и Torus Knot (рис. 5 и 6).

Рис. 5. Группа кристаллов, созданная на основе примитива Hedra

Рис. 6. Набор замысловатых узлов, полученных на основе примитива Torus Knot

Обратите внимание, что практически все примитивы из группы Extended Primitives имеют довольно большое число используемых при их построении параметров, причем для каждого типа примитивов своих. Попробуем разобраться с нюансами настройки объектов на основе примитива Hose, отличающегося наиболее длинным списком параметров. Выберите примитив Hose и создайте на его основе произвольный объект — изначально он будет напоминать резьбу на болте (рис. 7).

Рис. 7. Исходный вид объекта на основе примитива Hose

Выделите объект, активируйте панель Modify (Редактировать) и обратите внимание на не помещающийся на экране список параметров (рис. 8). Уменьшите значение параметра Cycles (Циклы) до 1, и вместо резьбы болта вы увидите что-то наподобие заготовки для вазы (рис. 9). Отрегулируйте значения параметров в блоке Common Hose Parameters (Общие параметры шланга), как показано на рис. 10, переверните объект и для получения более гладкой поверхности увеличьте значение параметра Sides (Стороны) в блоке Hose Shape (Форма шланга) — перед вами появится изображение обычной гири, используемой для взвешивания на ручных весах (рис. 11). Измените параметры в соответствии с рис. 12, и вы получите заготовку для рюмки (рис. 13) и т.д.

Рис. 8. Окно параметров для примитива Hose

Рис. 9. Заготовка для вазы

Рис. 10. Настройка параметров в блоке Common Hose Parameters

Рис. 11. Гиря для взвешивания

Рис. 12. Настройка параметров для создания рюмки

Рис. 13. Заготовка для рюмки

Создание и редактирование конструкций из примитивов

Выравнивание объектов

Для выравнивания объектов используется команда Align (Выровнять), вызываемая из командного меню Tools (Инструменты), или набор кнопок на панели инструментов Main Tools. Познакомимся с выравниванием на примере создания модели простого трехмерного логотипа ювелирной компании на основе примитивов Hedra и Torus Knot. Естественно, после создания объекты из примитивов нужно выровнять и откорректировать положение объектов во всех трех проекциях, так как изначально их размещение вряд ли будет идеальным (рис. 14). В данном случае нам нужно выровнять три ограненных кристалла в левой части логотипа. Для этого выделите данные объекты, заключив их в прямоугольный контейнер инструментом Select Object (Выделить объекты), и вызовите команду Tools=>Align (Инструменты=>Выровнять). Обратите внимание, что после вызова данной команды внешний вид маркера мыши изменится, а в нижней части экрана появится приглашение выделить объект, по которому следует произвести выравнивание. Поэтому щелкните на задающем центр выравнивания объекте (в данном случае был выбран объект Hedra3, соответствующий среднему кристаллу). В результате откроется диалоговое окно Align Selection (Выровнять выделенные объекты), где необходимо задать параметры выравнивания (рис. 15). Возможно, результат будет напоминать рис. 16. Сохраните созданный логотип.

Рис. 14. Исходный вид логотипа

Рис. 15. Настройка параметров выравнивания

Рис. 16. Вид логотипа после выравнивания кристаллов

Объединение объектов в группы

Любая сцена состоит из огромного числа объектов, и для удобства работы с ними используют различные варианты их объединения. Самое простое — объединить объекты в группы, что позволит в дальнейшем выполнять ряд действий, таких как выбор, клонирование, присвоение материалов, трансформация и пр., одновременно в отношении всей группы объектов. Обычно в группы объединяют составные элементы сложного объекта, а также наиболее часто повторяющиеся наборы однотипных объектов и т.п. Группы могут быть как одноуровневыми, так и иметь многоуровневую архитектуру.

Для работы с группами предназначено командное меню Group (Группировать), группировка объектов осуществляется выбором одноименной команды из данного меню, а для работы с определенными объектами группы используются команды:

· Open (Открыть) — позволяет частично снять группировку, что дает возможность выбирать, модифицировать и трансформировать любой объект открытой группы;

· Close (Закрыть) — предназначена для восстановления частично снятой группировки;

· Ungroup (Разгруппировать) — удаляет один уровень группировки объектов;

· Explode (Полностью разгруппировать) — отвечает за полное удаление группировки объектов независимо от уровня вложенности групп;

· Detach (Отсоединить) — позволяет исключить выбранный объект из состава предварительно открытой при помощи команды Open (Открыть) группы;

· Attach (Присоединить) — предназначена для включения выбранных объектов в группу.

Создадим группу из объектов только что полученного логотипа. Выделите все объекты, заключив их в прямоугольный контейнер инструментом Select Object (Выделить объекты), вызовите команду Group=>Group (Группировать=>Группировать) и введите имя группы (рис. 17). После этого можно будет работать с группой как с единым целым — все объекты группы будут выделяться щелчком на любом из них и их можно будет все вместе перемещать, поворачивать, масштабировать, копировать и пр.

Рис. 17. Ввод имени группы объектов

А теперь исключите из группы ранее выровненные кристаллы. Для этого выделите и откройте группу при помощи команды Group=>Open (Группировать=>Открыть). Выделите первый исключаемый из группы кристалл и примените команду Group=>Detach (Группировать=>Отсоединить), затем проведите аналогичную операцию для двух других кристаллов и закройте группу командой Group=>Close (Группировать=>Закрыть). Щелкните по любому элементу группы инструментом Select Object (Выделить объект), и вы увидите, что исключенные объекты окажутся невыделенными, а значит, они больше не входят в группу. А теперь проведите обратную операцию: сформируйте пару новых объектов и добавьте их в ранее созданную группу. Выделите первый из созданных объектов, выберите из меню Group (Группировать) команду Attach (Присоединить) и щелкните мышью на группе (рис. 18) — объект окажется включенным в группу, в чем несложно убедиться, например, при попытке одновременного перемещения всех объектов группы. Аналогичную операцию проведите и в отношении второго включаемого в группу объекта.

Рис. 18. Указание группы в процессе включения в нее нового объекта

Клонирование объектов

В 3D Studio Max существует несколько способов клонирования объектов. Наиболее часто используемыми являются выделение копируемого объекта или группы объектов и применение одной из команд трансформации: Move (Переместить), Rotate (Повернуть) или Scale (Масштабировать) при нажатой клавише Shift. После завершения выполнения команды происходит вызов окна Clone Options (Режимы клонирования) (рис. 19), где необходимо указать тип создаваемого объекта или группы объектов и количество копий. Всего существует три типа создаваемых при клонировании объектов:

· Copy (Копия) — новый объект, наследующий все свойства исходного: геометрию, материалы, режимы отображения и пр., однако любые изменения, которые будут произведены в дальнейшем с копией или с оригиналом, уникальны и будут применяться только к модифицируемому объекту;

· Instance (Экземпляр) — новый объект является полной копией исходного, и между ними создается двусторонняя логическая связь: любые изменения оригинала отображаются во всех его клонах, и наоборот;

· Reference (Ссылка) — новый объект является полной копией исходного, но с односторонней связью: изменения оригинала будут вызывать изменения его клонов.

Рис. 19. Определение параметров клонирования

Обратите внимание, что при создании более одного клона с трансформацией промежуточные клоны имеют средние характеристики, вычисляемые программой автоматически. Например, при создании пяти клонов с масштабированием при масштабировании указывается размер максимального или минимального из клонов, а для всех остальных клонов группы размер вычисляется автоматически.

Можно клонировать объекты непосредственно при помощи команды Clone (Клонировать) из меню Edit (Редактировать) или из контекстного меню. Данный вариант создания клонов объектов удобен, если клоны должны иметь те же координаты, что и исходное изображение.

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

Рис. 20. Вид изображения после клонирования с масштабированием

А теперь проведем еще один эксперимент с клонированием и попробуем создать имитацию резьбы на каменной поверхности. Вначале создайте исходные объекты: каменную плиту на основе примитива ChamferBox и заготовку для резьбы на основе примитива RingWave (рис. 21 и 22). Не забудьте выровнять объекты по центру относительно осей X и Y при помощи команды Align (Выровнять). Выделите объект RingWave01 и воспользуйтесь командой Scale (Масштабировать) при нажатой клавише Shift, создавая два клона волнообразного кольца (рис. 23). В итоге каменная плита преобразится и станет напоминать рис. 24. Конечно, для полной имитации следовало бы подобрать подходящую текстуру, но к этой задаче мы еще вернемся на одном из следующих уроков.

Рис. 21. Исходный вид изображения — плита и декоративная заготовка для резьбы

Рис. 22. Параметры настройки примитива RingWave

Рис. 23. Изображение в процессе масштабирования

Рис. 24. Каменная плита с резьбой

Зеркальное отображение объектов

Существует другой способ клонирования объектов — путем создания их зеркальных копий, что можно осуществить при помощи команды Mirror (Зеркало) из меню Tools (Инструменты) или щелчком на кнопке Mirror Selected Objects (Создать зеркальное отражение объектов) из панели Main Toolbar. Данное действие приводит к открытию дополнительного диалогового окна Mirror (Зеркало), где определяется ось копирования — X, Y или Z или плоскость копирования — XY, YZ или ZX. При желании можно отказаться от создания копии зеркального отражения, установив переключатель Clone Selection (Клонировать выделение) в положение No Clone (Не клонировать).

Рассмотрим технологию получения зеркального отражения объектов на примере создания разноцветной детской юлы. Предположим, что юла будет состоять из четырех разноцветных конусов: два конуса в верхней ее части и два другие конуса, являющиеся зеркальными отражениями первых двух. Создайте верхние два конуса и выровняйте их по отношению друг друга (рис. 25, 26 и 27). Вызовите команду Tools=>Mirror (Инструменты=>Зеркало) и настройте ее параметры, как показано на рис. 28. Возможно, результат будет напоминать рис. 29.

Рис. 25. Верхние два конуса юлы

Рис. 26. Параметры первого конуса

Рис. 27. Параметры второго конуса

Рис. 28. Настройка параметров зеркального отражения

Рис. 29. Разноцветная юла

Создание массивов объектов

Самый быстрый способ создания серии однотипных объектов, расположенных по тому или иному закону, — использование массивов, что, по сути, представляет собой разновидность клонирования. Для работы с массивами предназначена команда Array (Массив) из командного меню Tools (Инструменты). Благодаря этой команде можно формировать одномерные, двумерные и трехмерные массивы объектов, в которых следующие элементы массива смещены относительно предыдущих на некоторую величину и (или) повернуты на некоторый градус.

Попробуйте для начала сформировать одномерный массив на основе обычной сферы. Создайте исходный примитив-сферу (рис. 30), выделите сферу, откройте команду Tools=>Array (Инструменты=>Массив) и настройте параметры преобразования в соответствии с рис. 31. В итоге из одной сферы вы получите семь вытянувшихся в один ряд по оси X сфер (рис. 32). Обратите внимание, что тип массива — одномерный, двумерный или трехмерный — определяется указанием соответствующих флажков: 1D, 2D или 3D, а закон размещения объектов регулируется координатами X, Y и Z — в нашем случае сферы смещены относительно друг друга по оси X на 20 единиц.

Рис. 30. Исходная сфера

Рис. 31. Настройка параметров окна Array для одномерного массива

Рис. 32. Одномерный массив сфер

Чуть усложним задачу и на основе другого примитива (в нашем случае конуса — рис. 33) создадим двумерный массив, расположив объекты друг за другом ровными рядами. Выделите созданный объект-конус и откройте команду Tools=>Array (Инструменты=>Массив). Для варианта 1D все оставьте без изменения, исходя из предположения, что число конусов в ряду будет равно числу сфер. Активизируйте флажок 2D и определите число рядов и смещение их относительно друг друга (рис. 34 и 35).

Рис. 33. Появление конуса

Рис. 34. Настройка параметров окна Array для двумерного массива

Рис. 35. Появление двумерного массива конусов

А теперь воспользуемся командой Array (Массив) для создания имитации кубика-рубика, исходя из того, что в самом простом случае кубик-рубик представляет собой куб, в котором на каждой его плоскости помещается набор из 25 объединенных в квадрат разноцветных кубиков. Создайте образец кубика из тех, которые нужно будет объединять в трехмерный массив, — для этого лучше воспользоваться примитивом ChamferBox, чтобы за счет фаски придать кубику более естественный вид и задать длину, ширину и высоту кубика вручную на панели Modify (рис. 36 и 37). Выделите кубик и примените команду Tools=>Array (Инструменты=>Массив) с параметрами, как показано на рис. 38. В результате получите примерно такой же массив кубиков, как представлен на рис. 39. Осталось перекрасить отдельные составляющие кубика-рубика в разные цвета, что можно сделать как по очереди выделяя отдельные кубики и меняя их цвет, так и корректируя цвет для нескольких кубиков одновременно. Во втором случае необходимо разобраться со способами выделения объектов более тщательно, поэтому для начала просто сохраните созданный кубик-рубик в файле.

Рис. 36. Исходный кубик

Рис. 37. Настройка параметров кубика на панели Modify

Рис. 38. Настройка параметров окна Array для трехмерного массива

Рис. 39. Трехмерный массив кубиков

Другие методы выделения объектов

Существует несколько дублирующих друг друга приемов, предназначенных для выделения объектов. Помимо самого простого варианта выделения щелчком мыши по объекту можно выделять объекты по цвету при помощи команды Select By Color (Выбрать по цвету) или по имени командой Select By Name (Выбрать по имени), а также выделять области определенной формы, применяя команду Selection Region (Форма области выделения). Все команды выделения доступны из командного меню Edit (Редактировать), кроме того, большинство из них продублированы на панели Main Toolbar. Стоит отметить, что выделение по цвету и имени очень удобно при большом количестве объектов, так как выделить нужные из них обычным способом часто бывает непросто.

Попробуем выделить группу объектов по имени в созданном ранее кубике-рубике. Щелкните на панели Main Toolbar по кнопке Select By Name (Выбрать по имени) — это приведет к открытию диалогового окна Select Objects (Выбор объектов), где представлен отсортированный список всех объектов (при желании принцип сортировки объектов в списке несложно изменить). Выберите нужные объекты мышью, удерживая в нажатом состоянии клавишу Shift (при выделении последовательно расположенных в списке объектов) или Ctrl (при выделении объектов, не следующих в списке друг за другом). В нашем случае нужно последовательно окрасить в разные цвета отдельные плоскости кубика. Это означает, что вначале требуется выделить объекты с 1-го по 25-й, затем с 26-го по 50-й и т.д. Выделите при нажатой клавише Shift первую группу объектов списка (рис. 40) и щелкните на кнопке Select (Выделить) — нужные объекты окажутся выделенными. Измените их цвет, например, на красный (рис. 41). Затем аналогичным образом выделите вторую группу объектов и измените их цвет и т.д. — в конечном счете кубик будет напоминать представленный на рис. 42.

Рис. 40. Выделение объектов в окне Select Objects

Рис. 41. Результат изменения цвета у первой группы объектов

Рис. 42. Окончательный вид кубика-рубика

Можно выделять объекты как по имени, так и иным способом, задав принцип для их автоматического выбора. Попробуем выделять те составляющие элементы кубика-рубика, имя которых закачивается, например, на 5, предварительно вновь окрасив все объекты в один цвет. Щелкните на кнопке Select By Name (Выбрать по имени), в самом верхнем поле окна Select Objects (Выбор объектов) введите имя в общем виде (рис. 43) и щелкните на кнопке Select (Выделить). Измените цвет выделенных объектов (рис. 44). Обратите внимание на то, что данный вариант выделения очень удобен для выделения всех объектов, имя которых начинается с определенной комбинации букв, — например объектов, созданных на основе того или иного примитива.

Рис. 43. Определение в окне Select Objects имени объектов в общем виде

Рис. 44. Результат смены цвета автоматически выделенных объектов

Очень удобно также выделение объектов по их цвету. Чтобы опробовать данный способ выделения, вернитесь к нормальному разноцветному варианту кубика-рубика, отменив последние действия. Из меню Edit (Редактировать) откройте команду Select By Color (Выбрать по цвету) — обратите внимание, что данное действие приведет к изменению внешнего вида указателя мыши. Щелкните на любом из объектов интересующего вас цвета — в итоге все объекты сцены указанного цвета окажутся выделенными.

Кроме того, существует возможность выделения областей. Области могут иметь прямоугольную форму (Rectangular) — данный вариант мы уже использовали на первом уроке, заключая интересующие нас объекты в прямоугольный контейнер. Помимо прямоугольной формы области также могут быть круглыми (Circular), иметь контур в виде замкнутой ломаной (Fence) или произвольный контур (Lasso), который напоминает простейший вариант «лассо», используемый в двумерных графических пакетах. Соответствующие данным командам кнопки находятся на панели Mail Toolbar, при этом по умолчанию видна кнопка Rectangular Selection Region (Прямоугольная форма области выделения), а все остальные скрыты под ней и выбираются обычным для скрытых кнопок образом. Стоит признать, что помимо ранее использовавшегося нами варианта выделения прямоугольных областей все остальные больше подходят для выделения более сложных объектов, чем объекты, созданные на основе примитивов. Поэтому на данном этапе освоения программы просто поэкспериментируйте и попробуйте выделить отдельные группы кубиков кубика-рубика при помощи каждого из названных инструментов.

Создание именованных наборов объектов

С учетом того, что общее количество объектов в любой сцене очень велико, для упрощения управлением объектов очень удобно объединять их в именованные наборы. В этом случае в дальнейшем можно будет производить ряд операций не над отдельными объектами, а сразу над их наборами — получится гораздо быстрее и удобнее.

Создадим на основе кубика-рубика пять наборов объектов в соответствии с цветовым признаком. Для этого выделите все красные кубики командой Select By Color (Выбрать по цвету), а затем объедините их в набор Set1, введя имя набора в текстовом поле списка имен на панели Main Toolbar (рис. 45). Точно так же выделите все зеленые кубики и объедините их в набор Set2, а затем проведите аналогичные операции в отношении кубиков всех остальных цветов. В итоге будет сформировано пять именованных наборов объектов: Set1, Set2, Set3, Set4 и Set5 (рис. 46).

Рис. 45. Ввод имени именованного набора

Рис. 46. Список сформированных именованных наборов объектов

Для работы с именованными наборами объектов служит команда Named Selection Sets (Именованные наборы), которую можно вызвать из меню Edit (Редактировать) или щелчком по соответствующей кнопке на панели Main Toolbar. Это приведет к открытию окна Named Selection Set (рис. 47), позволяющего применить в отношении целых наборов или отдельных входящих в них объектов следующие действия:

· создать новый набор;

· удалить весь набор или только выбранный из него объект;

· дополнительно добавить к набору объект, выбранный в любом из окон проекций;

· удалить из набора объект, выбранный в любом из окон проекций;

· выделить объекты, которые входят в указанный в диалоговом окне набор;

· выбрать объекты по их имени с помощью дополнительно открываемого диалогового окна Select Objects.

Рис. 47. Окно Named Selection Set

Попробуйте применить команду Named Selection Sets (Именованные наборы) для быстрого выделения набора объектов, чтобы в дальнейшем осуществить перекрашивание входящих в него объектов. Для этого выделите нужный набор в окне Named Selection Sets и щелкните на кнопке Select Objects In Set (Выделение объектов в наборе — рис. 48) — все объекты набора окажутся выделенными. Затем измените цвет объектов (обратите внимание: данную операцию можно осуществить даже не закрывая окна Named Selection Sets).

Рис. 48. Выделение всех объектов набора

Комплексное использование различных вариантов выделения выравнивания и клонирования объектов при создании сцен

Для закрепления материала рассмотрим задачу создания набора разноцветных кубиков на некоторой поверхности (рис. 49). Исходным материалом для данной конструкции станет кубик, построенный на основе примитива ChamferBox (рис. 50). На первом этапе необходимо создать на его основе двумерный массив кубиков размером 5x5 — выделите кубик и примените команду Tools=>Array (Инструменты=>Массив), настроив ее параметры в соответствии с рис. 51. Результат данной операции представлен на рис. 52.

Рис. 49. Кубики на поверхности

Рис. 50. Исходный кубик

Рис. 51. Настройка параметров окна Array для первого массива кубиков

Рис. 52. Вид изображения после создания первого одномерного массива кубиков

Выделите кубик, указанный на рис. 53, и создайте его копию путем зеркального отражения, применив команду Tools=>Mirror (Инструменты=>Зеркало) с параметрами, показанными на рис. 54. Вновь обратитесь к команде Tools=>Array (Инструменты=>Массив), создав массив объектов на основе только что полученной зеркальной копии кубика (рис. 55 и 56). Выделите во втором массиве центральный кубик и создайте его копию в виде зеркального отражения, указав для команды Tools=>Mirror (Инструменты=>Зеркало) те же параметры, что и в предыдущем случае. Щелкните на кнопке Select By Name (Выбрать по имени), выберите по именам кубики в средней плоскости (это будут объекты с номерами от 26 по 34) и измените их цвет на какой-нибудь другой. По окончании смените цвет и у самого верхнего кубика (рис. 57). Объедините все кубики в группу — так удобнее для дальнейшей корректировки их положения на плоскости.

Рис. 53. Выделенный кубик для создания первой копии

Рис. 54. Настройка параметров зеркального отражения

Рис. 55. Настройка параметров окна Array для второго массива кубиков

Рис. 56. Вид изображения после создания второго одномерного массива кубиков

Рис. 57. Набор разноцветных кубиков

Дополните изображение плоской поверхностью, на которой по замыслу и должны быть расположены кубики. Такую поверхность можно смоделировать также на основе примитива ChamferBox. Скорее всего, изначальное положение кубиков и плоскости не будет оптимальным, например кубики могут оказаться утопленными в плоскость, как на рис. 58. Да и без выравнивания объектов по отношению друг к другу тоже не обойдется. Выделите группу кубиков, щелкнув на любом из объектов группы инструментом Select Object (Выделить объект), — здесь сразу будет заметно преимущество группы (если бы кубики не были объединены в группу, то выделять их при наличии плоскости было бы менее удобно). Активизируйте проекцию Front и добейтесь того, чтобы набор кубиков был выровнен по осям X и Y — для этого удобнее всего просто ввести нулевые значения в соответствующих полях в нижней части экрана (рис. 59). Аналогичную операцию проведите для проекции Left. Затем вновь вернитесь в проекцию Front и отрегулируйте значение координаты Z таким образом, чтобы кубики находились точно на поверхности, а не внутри нее, как это было изначально. Проверьте и при необходимости подкорректируйте положение плоскости. Конечный вид изображения в четырех проекциях представлен на рис. 60.

Рис. 58. Неудачный вариант положения плоскости и кубиков

Рис. 59. Корректировка положения кубиков по осям X и Y в проекции Front

Рис. 60. Окончательный вид кубиков на плоскости в разных проекциях