Академия компьютерной графики №4

 | 17.39

Мой Компьютер, №01 (505), 19.05.2008

Пример 1. Швабра у стенки

Рассмотрим пример сложного выравнивания — покажем, как поставить швабру возле стены. Создадим простую сцену, в которой два объекта: швабра, состоящая из цилиндра и параллелепипеда, а также примитив L-Ext, при помощи которого создан угол пола и стена.

Поставить швабру в угол, используя инструмент Align, вряд ли удастся — она будет висеть над полом, проходить сквозь стену и т.д. В данном случае нам нужно поставить швабру таким образом, чтобы она касалась поверхности стены и поверхности пола.

В подобных случаях можно использовать метод выравнивания, основанный на привязке к подобъектам, например, к ребрам или полигонам. Преобразуем объект L-Ext в Editable Poly. Включим режим Edged Faces, чтобы видеть ребра объекта.

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

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

Перейдем в режим Рolygon, выделим полигон, образующий пол, и нажмем кнопку Detach. Мы получим отдельный объект.

Перейдем в режим Edge (Ребро) и выделим ребро, по которому можно будет выполнить выравнивание. Нажмем кнопку Create Shape From Selection. В результате мы получим сплайн, положение которого совпадет с положением ребра.

Теперь переходим к выравниванию. Выделим швабру и выравняем ее относительно полигона, отделенного от объекта Editable Poly. Выполним выравнивание по оси Z, указав для швабры минимальную координату, а для полигона — любую, кроме Pivot Point. Полигон не имеет толщины, но его опорная точка совпадает с опорной точкой объекта, от которого он был отделен.

Выровняем швабру относительно сплайна, созданного из ребра. Выполним выравнивание по оси Y, указав для швабры максимальную координату, а для сплайна — минимальную. Требуемый результат получен — швабра стоит у стены.

Пример 2. Книга на подставке

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

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

Модель подставки намеренно упрощена, поскольку целью урока является не создание точной модели, а изучение случаев сложного выравнивания.

Задача, которая стоит перед нами, — выравнять книгу таким образом, чтобы она стояла на подставке. Иными словами, книга должна быть наклонена под тем же углом, что и проволочный каркас и, должна находиться по центру каркаса и, кроме этого, должна быть выравнена по основе подставки.

В этом случае инструмент Align придется использовать многократно. Для начала необходимо разместить книгу под тем же углом, под которым размещен проволочный каркас. Это можно сделать двумя способами. Во-первых, можно выделить каркас, выбрать инструмент Rotate и в нижней части окна 3ds Max посмотреть градус, на который отклонен каркас.

Если скопировать это значение, выбрать инструмент Rotate для книги и вставить число в то же поле, то книга будет сориентирована правильно.

Но есть гораздо более удобный способ, позволяющий сориентировать книгу относительно каркаса. Выделите ее и примените инструмент выравнивания относительно каркаса. В группе настроек Align Orientation (Local) установите флажок напротив нужной оси (в нашем случае это Z Axis или Y Axis). В результате книга будет повернута таким образом, что локальная система координат книги будет сориентирована с локальной системой координат каркаса. Иными словами, мы получим тот же результат, как если бы повернули книгу на тот же градус, на который повернут каркас.

Теперь выравняем книгу относительно основы подставки. Для этого достаточно вызвать окно Align (Выравнивание) и, не забыв снять флажок в группе Align Orientation (Local), выравнять объекты по оси Z (для книги нужно указать минимальную координату, а для основы подставки — максимальную).

Осталось выполнить выравнивание относительно каркаса. Но прежде нужно преобразовать каркас в объект типа Editable Poly. Это необходимо, ведь для того, чтобы поставить книгу на подставку, нужно выполнять выравнивание по максимальной и минимальной координатам. Поскольку каркас является сплайном, то при таком выравнивании его толщина не учитывается. Преобразовав его в объект типа Editable Poly, мы решим эту проблему.

Если попытаться выравнять объекты в той системе координат, которая используется по умолчанию, нужного результата достичь не получится. Поэтому нужно выравнивать объекты, используя их локальные системы координат. Для этого перед вызовом окна Align необходимо выбрать в выпадающем списке Reference Coordinate System вариант Local.

Вызовем окно Align и выполним выравнивание. Сначала выравняем объекты по оси X, указав для обоих расположение по центру.

Затем выполним выравнивание по оси Z, указав для книги минимальную координату, а для каркаса — максимальную. Наша цель достигнута — книга стоит на подставке.

Контрольная

А теперь, собственно, контрольная работа. Она состоит из пяти небольших заданий.

Скачать исходную сцену можно по адресу http://www.cgliberty.com/cgliberty/30/zadanie.rar. Сцена создана в 3ds Max 2008 и не откроется в более ранних версиях 3ds Max.

Задание 1. Положить тройной объект плашмя на плоскость так, чтобы стороны этого объекта были параллельны сторонам плоскости. Необходимое условие: плоскость перемещать нельзя. Исходная сцена, и результат, который вы должны получить.

Задание 2. Выравнять тор так, чтобы он опирался о стенки. Необходимое условие: уголок перемещать нельзя. Исходная сцена, и результат, который вы должны получить.

Задание 3. Положить белый тор на розовый. Необходимое условие: розовый тор двигать нельзя. Исходная сцена, и результат, который вы должны получить.

Задание 4. Поставить сферу на подставку. Необходимое условие: подставку двигать нельзя. Исходная сцена, и результат, который вы должны получить.

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

Поскольку все пять заданий находятся в одной сцене, имеет смысл сохранять ее копию после решения каждого «ребуса». Если вы будете это делать, то вам не придется переделывать задания «с нуля» в случае ошибки (например, если вы переместите объект, который, по условиям задания, не должен изменять положение). Желаем успехов!

(Продолжение следует)

Сергей и Марина БОНДАРЕНКО

Robo User
Web-droid editor

Додати коментар

Ваша email адреса не буде опублікована.