Центральный Дом Знаний - Моделирование объектов с помощью примитивов

Информационный центр "Центральный Дом Знаний"

Заказать учебную работу! Жми!



ЖМИ: ТУТ ТЫСЯЧИ КУРСОВЫХ РАБОТ ДЛЯ ТЕБЯ

      cendomzn@yandex.ru  

Наш опрос

Как Вы планируете отдохнуть летом?
Всего ответов: 895



Моделирование объектов с помощью примитивов

На первом уроке мы немного разобрались с интерфейсом программы 3D Studio Max, экспериментируя со стандартными примитивами (Standard Primitives). А теперь сделаем следующий шаг и попытаемся освоить чуть более сложный вид примитивов — Extended Primitives (Расширенные примитивы) — и одновременно более подробно изучим допустимые в их отношении операции. Сразу оговоримся, что все рассматриваемые ниже операции можно применять к самым разным объектам 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 — фаска пока отсутствует

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

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

 

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

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

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

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

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

Рис. 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

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

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

 

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

В началоВ начало

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

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

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

 

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

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

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

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

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

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

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

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

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

  • Open (Открыть) — позволяет частично снять группировку, что дает возможность выбирать, модифицировать и трансформировать любой объект открытой группы;
  • Close (Закрыть) — предназначена для восстановления частично снятой группировки;
  • Ungroup (Разгруппировать) — удаляет один уровень группировки объектов;
  • Explode (Полностью разгруппировать) — отвечает за полное удаление группировки объектов независимо от уровня вложенности групп;
  • Detach (Отсоединить) — позволяет исключить выбранный объект из состава предварительно открытой при помощи команды Open (Открыть) группы;
  • Attach (Присоединить) — предназначена для включения выбранных объектов в группу.

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

 

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

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

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

 

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

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

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

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

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

 

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

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

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

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

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

 

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

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

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

 

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

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

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

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

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

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

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

Рис. 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. Верхние два конуса юлы

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

 

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

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

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

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

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

Рис. 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

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

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

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

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

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

Можно выделять объекты как по имени, так и иным способом, задав принцип для их автоматического выбора.

                                                                                                                                                                                           [ 1 ]

Loading

Календарь

«  Июнь 2018  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930

Архив записей

Друзья сайта

  • Заказать курсовую работу!
  • Выполнение любых чертежей
  • Новый фриланс 24