All about web design
Суббота, 23.11.2024, 18:45
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта

Категории каталога
уроки [41]
примеры и описания моделирования
Книги [0]
Сайты [0]

Наш опрос
Оцените мой сайт
Всего ответов: 31

Главная » Статьи » 3D Max » уроки

Кружка с ложкой

Пришла пора познакомиться с одной из наиболее распространенных техник создания трехмерных моделей - лофтингом (lofting) и его вариациями. Ее принцип заключается в образовании объемной поверхности при движении формы (shape) - как правило двумерной, хотя это и не ограничение, и выполняющей функции поперечного сечения - вдоль некоего пути (path). Возможно также использование нескольких сечений, размещенных в ключевых точках пути, сечения объекта на участках между этими точками интерполируются. С помощью этого метода можно эффективно получать разнообразнейшие по конфигурации и сложности объекты, причем усилия, затраченные на изготовление элементарного конуса и изысканного чиппендейловского стула - при достаточной ловкости обращения со сплайнами, конечно - не будут слишком уж различаться в качественном плане.

В этом уроке мы, не ударяясь в крайности, сделаем простенькую кружку (и правда, чего сложного?). С ручкой (уже интереснее). В кружку поставим ложечку (не high end, конечно, но уже очень неплохое упражнение). И, чтобы не выпускть из внимания работу с материалами и светом, сделаем кружку стеклянной (чай наливать, пожалуй, не будем).

Приступая к моделированию, стоит повертеть желанный объект в руках (мысленно, если не позволяют доступность или размеры) и выявить его части, в отдельности своей поддающиеся изготовлению знакомыми нам способами. С кружкой, казалось бы, все довольно просто: она состоит из "собственно кружки" - временно обзовем ее "стаканом" - и ручки.

Поставим стакан на стол и рассмотрим 2 его сечения:
поперечное, т.е. горизонтальное; вдоль продольной (вертикальной) оси.

Получаем: в первом случае - 2 концентрические окружности, во втором - U-образную форму. Ответ напрашивается сам - стакан можно сделать, вращая "U" вдоль оси симметрии. Собственно, достаточно и половинки "U" - раз уж она симметрична. Итак, кандидаты на роли базового сечения и пути утверждены.

Приступим к реализации, начиная с половинки вертикального сечения. Ради разнообразия воспользуемся еще пока незнакомым типом сплайна - NURBS-Curve (NURBS: Non-Uniform Rational B-Splines).
Возможности при этом две: кривая "по точкам" (point curve) и "по контрольным узлам" (control vertices curve или CV-curve). Разница при этом лишь в том, проходит ли сплайн через указанные точки, или они служат лишь "объектами притяжения". В нашем примере, как заметно, был выбран второй вариант.

Напомним, что перемещать контрольные точки можно, выбрав их в качестве редактируемого элемента.


Для пущей эффективности 3DStudio Max выделяет несколько частных случаев лофтинга в виде самостоятельных инструментов. Один из них - поверхность вращения или lathe - идеально подходит для нашей текущей задачи. При этом нам не потребуется создавать путь, достаточно лишь указать направление и расположение оси вращения относительно формы.

Lathe является модификатором сплайнов. Непосредственно после его применения возникает поверхность, которую нам предстоит превратить в желанный "стакан" перемещением оси вращения в требуемом направлении (в нашем примере вправо).



Вполне возможно, что поверхность объекта после создания будет выглядеть несколько странно. Подобное нередко случается из за неправильного направления нормалей поверхности, т.е. ее "вывернутости наизнанку". Проблема эта решается достаточно просто: применением модификатора normals с опцией flip normals.



Нам наверняка захочется взглянуть на промежуточный результат наших праведных трудов. Что ж, в таком случае позаботимся об окружении и материалах. За подставку под стакан сойдет любой объект с хотя бы одной плоской стороной. Возьмем любой "нейтральный" базовый материал и в качестве diffuse-текстуры выберем... нет, не готовую картинку (bitmap), а нечто простое и процедуральное вроде клеточек (checker).
 

 
Увеличим плотность "шахматки", подняв tiling - к примеру до 6. Теперь осталось только присвоить материал нашей подставке. 
Для изготовления стекла воспользуемся способом, который хотя и задаст работы процессору при рендеринге, но потребует минимальных затрат на подгонку параметров.
 
Для рефракции выберем Raytrace, дающий достаточно реалистичный эффект, а вот для отражения воспользуемся Reflect/Refract, обладающим несколько меньшей точностью, но относительно высокой скоростью (использование Raytrace на обоих может иметь летальный исход рендеринга в качестве последствия).



Осталось расставить свет - нам потребуется один направленный источник света (spot) и пара точечных, чтобы оживить стекло бликами.

 
У всех следует отметить опцию отбрасывания тени (cast shadow).
 

 
И вот - первый рендеринг!

Для изготовления ручки нам придется воспользоваться лофтингом в его изначальном, "природном" виде, с указанием пути и сечения объекта. Требуемый объект мы можем получить, перемещая окружнось вдоль сплайна в форме ручки. Создание их не должно быть затруднительным, со сплайнами различных типов и двумерными примитивами мы уже отчасти знакомы.



Когда составляющие готовы, можно приступать к изготовлению собственно лофт-объекта. Вновь активируем путь и выберем Create/Geometry/Loft Object/Loft. Теперь мы имеем возможность распределить формы сечений по различным точкам пути. В нашем случае нам будет достаточно одной окружности. Чтобы сделать ее сечением, выберем Get Shape и активируем ее. Чтобы увидеть новую поверхность также и в наших рабочих wireframe-проекциях, отметим skin в Skin Parameters/Display.



Примерно так должно выглядеть получившееся. Сделаем несколько модификаций, которые придадут созданной ручке более реалистичный вид, а нам дадут возможность исследовать новые (в смысле "пока еще нам неизвестные") возможности лофтера: слегка расширим ручку кверху и сделаем небольшие утолщения в месте ее соединения с кружкой.



Перейдем в режим модификации лофт-объекта и в графе Deformations выберем Scale. Имеем: кривую (она, правда, пока еще прямая, но это нас не пугает) скалирования сечения по длине пути. Добавляя новые точки и видоизменяя их тип, придадим кривой примерно такой вид:
 


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



"...в руководсте ведь сказано: после сборки обработать напильником."
(фрагмент известного анекдота)

После некоторой практики с простыми вариантами лофтинга можно приняться и за задачу посложней. Для изготовления ложечки мы воспользуемся техникой "подгонки" (fit). Ее принцип в изрядной степени объясняется эпиграфом: заготовка в виде "полуфабрикатного" лофт-объекта "обрабатывается" по контуру одного или двух продольных (вдоль пути) сечений.

Нам потребуются:

  • Путь - в данном случае просто отрезок (1)
  • 2 сечения для ручки (2) и вогнутой части (3)
  • 2 контура - вид сверху (4) и сбоку (5)



Когда все сплайны готовы, выберем путь и уже знакомым способом начнем создание лофт-объекта. В качестве первого сечения назначим (2). Оно останется неизменным на протяжении 60% пути, чтобы затем постепенно (к 65%) перейти в (3). В path parameters устанавливаем требуемое расстояние в процентах от начала пути и выбираем соотвуествующее этой точке сечение. Результатом является вот такой, лишь отдаленно напоминающий ложку объект.



Самое время взять в руки "напильник" по имени fit. Найти его можно среди прочих лофт-модификаторов (недалеко от scale, который мы использовали для ручки кружки). Все формы уже готовы, то, остается - это подогнать наш текущий лофт-объект к форме ложки по сечениям сверху и сбоку. Ткнув в кнопку с соотв. названием, увидим незамысловатый редактор, дающий возможность выбрать сечения объекта по длине пути (слева направо).




 
Мы намереваемся делать подгонку по двум осям, а потому связь между ними (обозначено красным кружком) следует деактивировать (в противном случае выбранное сечение будет действительно для обоих осей). Нажав на get schape, выберем наш "вид ложки сверху", а затем, вращая сечение с помощью обозначенных синим кнопок, приведем его в правильное положение. Половина работы по подгонке завершена.

Теперь проделаем то же самое для вида сбоку.


 
Выберем вторую ось для подгонки (обозначено красным кружком). И далее по тексту: select shape, rotate etc.


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

 


Снабдим ложку подходящим материалом. Например, таким. Можно даже сделать его отражающим, назначив простенький reflect/refract на reflection map.
 

 
(Ничего, что время рендеринга возрастет, не все же время за машиной сидеть. А тут как раз кофе попить можно.)



Неплохо в заключение сделать парочку точечных источников света, освещающих только ложку (с помощью include-параметра соответствующей лампочки). После игр с освещением результат может выглядеть примерно так:
 



Источник: http://rpm-16.h11.ru
Категория: уроки | Добавил: puzzle (20.01.2008) | Автор: -
Просмотров: 899 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Поиск

Друзья сайта

реклама


Copyright MyCorp © 2024
Бесплатный конструктор сайтов - uCoz
Яндекс цитирования