Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по 3D №2.doc
Скачиваний:
13
Добавлен:
27.08.2019
Размер:
24.12 Mб
Скачать

Модель дивана №1.

1. Создадим основу для дивана:

- На виде Top строим Box с размерами Length – 80cм, Width – 200 cм, Height – 20см.

Зададим сегменты Length Segs – 4, Width Segs – 12, Height Segs – 2. Сегменты необходимо увеличить для лучшего сглаживания.

- Применим к Box модификатор Turbosmooth: Iteration – 2.

Более короткий путь – воспользоваться Chamferbox в разделе Extended Primitives

2. Создаем сиденье дивана.

- На виде Top строим Box с размерами Length – 80cм, Width – 200 cм, Height – 24см.

Зададим сегменты: Length Segs – 4, Width Segs – 18 (кратно 3-м, т.к. сиденье состоит из трех частей), Height Segs – 2.

- Выделяем наш Box и конвертируем его в полигональную модель: ПКМ Convert to  Editable Poly.

- В Editable Poly заходим в подобъект Edge (ребра). Выделяем 2 поперечных ребра по всему периметру сиденья.

- К выделенным ребрам применить Extrude с параметрами (рис. 2):

Extrusion Height – -1,5 см,

Eztrusion Base Width – 2,0см  Apply (применить) и еще раз Extrude с параметрами:

Extrusion Height – -1,0 см,

Eztrusion Base Width – 0,6см

Выходим из режима работы с ребрами (отжимаем Edge)!

рис. 2

- Применим к нашему объекту модификатор Turbosmooth: Iteration – 2.

- Теперь используем модификатор Push, чтобы поддуть наш объект. (рис. 4).

3. Создадим имитацию швов сиденья. Перед тем как создавать швы конвертируем сглаженное и надутое сиденье в Editable Poly. Это необходимо для того, чтобы зафиксировать сглаженный объект. Выделяем ребра по периметру сиденья там, где будем формировать шов, и применяем операцию Extrude c параметрами: Extrusion Height – 0.4, Extrusion Base Width – 0,2. По задней стороне сиденья лучше не делать шва.

4. Снова применяем операцию Turbosmooth, Iteration – 1 и сглаживаем швы.

5. Созданное сиденье можно скопировать и сделать из него спинку.

6. С помощью раздела Soft Selection можно немного «поддуть» сиденья, выделив центральные точки и расширив область выделения параметром Falloff.

7. При помощи мягкого выделения можно изменить также форму спинки дивана.

8. Создадим боковины дивана. Для этого построим бокс размерами: Length – 23cм, Width – 18 cм, Height – 100см. Количество сегментов: Length Segs – 3, Width Segs – 3, Height Segs – 9. Конвертируем бокс в Editable Poly.

9. В режиме работы с полигонами используем операцию Extrude.

10. Добавим модификатор Turbosmooth для сглаживания формы.

11. В режиме работы с вершинами перемещением вершин сформируем более интересную форму, можно также воспользоваться свитком Soft Selection.

12. Можно сформировать шов на боковинах дивана. Для этого конвертируем боковину в Editable Poly, чтобы зафиксировать сглаженную модификатором Turbosmooth форму. Выделяем необходимые для шва ребра и применяем к ним операцию Extrude. Затем снова применяем модификатор Turbosmooth.

12. Дублируем вторую боковину.

13. Назначим материал дивану. В редакторе материалов создадим необходимый материал. Выделим все составляющие дивана и назначим им созданный материал. Используем модификатор UVW map также для всех частей дивана одновременно (так материал точнее ляжет и его точнее можно настроить по размеру), тип наложения выберем – box, затем с помощью Profil Gizmo отмасштабируем материал, ориентируясь на размеры элементов рисунка.

14. Создадим подушки и назначим им также материалы.

Модель дивана №2.

Моделлинг дивана Baxter Casper

Урок представляет собой реинкарнацию подобного урока 4-х летней давности, там из одного готового модуля(пуговицы) клонировали все остальные, важно другое – принципы те же, только в этот раз я постараюсь максимально упростить урок, и сделать акцент на ходе построения. В уроке применяются базовые принципы полигонального моделирования по имеющимся фотографиям, в основном располагая стандартными средствами 3ds max.

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

Открывая оригинальные картинки урока вы можете двигать их мышкой в пределах текущего окна, отодвигать в сторон

будем ориентироваться на 4 части, из которых "состоит" обьект:

нижняя боковая подушки и самая для нас важная часть – обивка с

пуговицами.

  1. Чаще всего фотографии среднего качества в 2-3 ракурсах - это максимум чем располагаешь. если повезет, будут еще и габаритные размеры, у нас они есть 2450х1000х800. Создаем бокс заданных размеров (1000мм глубина).

  1. Cтроим замкнутый сплайн по форме. Определяем, каким образом нам нужно расположить точки, для этого внимательно изучаем имеющиеся фотографии и выясняем, что идут 3 ряда пуговиц на спинке и четвертый ряд сверху на подлокотниках. Точек не должно быть много, их должно быть ровно столько, сколько нам нужно для качественной low-poly болванки.

Обратите внимание на 4 показанных точки, это те самые по которым пойдут выше названые 4 ряда пуговиц.

  1. Для того что бы правильно рассчитать их положение нужно определить высоту сидения(от пола) она ~ 450 мм(поставьте себе вспомогательные габаритные боксы).

Зная высоту, располагаем первую (1) точку ровно так, чтобы она была чуть выше подушки.

Рекомендую несколько раз перепроверить положение точек, потом на болванке редактировать их уже будет сложнее.

  1. Строим сплайн – путь, по которому будем выдавливать нашу спинку дивана.

  1. Строить будем лофтингом. Выделяем путь  заходим в Compound Objects  Loft  Get shape. В настройках нужно уменьшить количество сегментов, чтобы они нам не мешались в последующем (раздел Skin Parameters):

  1. Конвертируем получившийся объект в Editable Poly.

  1. Connect‘ом связываем точки на торце спинки дивана.

Далее подставим несколько габаритных боксов вместо подушек и основы дивана.

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

  1. Выделяем полигоны, которые нам нужны для мягкой части. С зажатым Shift ‘ом смещаем полигоны для того чтобы скопировать, указываем что копируем в отдельный обьект. Не забываем галочку Ignore Backfacing, чтобы не выделялись полигоны с изнаночной стороны.

  1. Закрываем "дно": выделяем ребра, зажимаем Shift, тянем и Weld ‘им открытые вершины.

  1. Модификатор Shell наружу, ставим Straighten Corners в настройках для правильных углов. Толщина мягкой части ~ соответствует толщине основы подлокотника. Смотрим на результат после настройки Shell ‘а

  1. К онвертируем в Editable Poly , и начинаем работать с формой болванки, пока на уровне вершин.

  1. Дальше я насчитал 6 радов пуговиц, которые находится на боковом подлокотнике, для нарезки ребер выделим на боковой стороне поперечные ребра и нажимаем Connect, соединяем ребра поперечными ребрами, ставим количество сегментов – 5.

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

  1. Сейчас нужно сделать тестовый Extrude вершин, для того чтобы убедится что пуговицы с заданным шагом будут располагаться правильно.

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

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

Так это выглядит.

  1. Немного поработаем с торцевой частью.

Ring поперечным ребрам торцевой части.

после чего Connect и получившиеся ребра немного выдвинем вперед.

Незабываем что пока нам нужно лишь немного уточнить форму. В конце видно что должен показать TurboSmooth.

Еще раз посмотрим как это выглядит с подушками и основой дивана.

15. Операцией Champher создадим поддержку для основных несущих ребер.

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

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

16. Из одной вершины(пуговицы) будут выходить по 8 ребер, начинаем резать диагонали, можно воспользоваться Cut ‘ом или Connect ‘ом.

17. Выбираем все вершины, относящиеся к пуговицам, применяем Extrude, задаем глубину и ширину (большие соединяющиеся окружности вокруг пуговиц).

18. Командой Weld спаиваем вершины, соприкасающихся окружностей, настраивая параметр Weld Threshold.

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

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

22. Обратите внимание на сетку, казалось бы она состоит исключительно из 4-х угольников, при этом есть вершины из которой выходит аж 8 ребер, это не позволит правильно сгладить сетку.

23. Пришло время настроить Symmetry, и посмотреть, как все смотрится в целом.

После настройки Symmetry, можем его просто отключить и продолжать работать с половиной. Смотрим что готово на этом этапе, и тестовое сглаживание.

24. Делаем копирование полигонов предназначенных для пуговиц, в отдельный обьект.

25. Выделяем ребра относящиеся к стежкам. Операцией Extrude вдавливаем ребра на отрицательную высоту с небольшим основанием.

26. Повторно применяем Extrude к ребрам, но уже на положительную высоту и с чуть меньшим основанием. Посмотрим результат после сглаживания.

27. Создаем обьем пуговиц – Bevel Polygons.

Смотрим итог со сглаживанием.

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

28. Перейдем к основе подлокотника, дополнительный Bevel Polygons а также Chamfer для жесткости углов.

29. Занимаемся основой дивана, тут нужно нарезать 12 пуговиц.

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

Если мягкая часть не вызвала больших проблем, думаю тут уже можно действовать свободно, вариантов масса, тем не менее использую Extrude Vertices для пуговиц, Chamfer Edges для жесткости углов и Slice Plane.

Дальше смотрим на MeshSmooth и действуем по ситуации.

Двигая ребра придаем больше мягкости.

30. По методу описанному для мягкой части, нарезаем стежки в два прохода

Приводя в более аккуратный вид, можно сделать Weld или Сollapse лишних вершин.

31. Также настроим Symmetry для основы дивана.

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

Пользуемся операцией Bevel для верхнего и боковых полигонов (где нужно установить параметр by normal).

33. Операцией Champher поддерживаем несущие ребра

34. Командой Extrude формируем шов, выдавливая сначала на отрицательную, а потом на положительную величину.

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

35. Занимаемся декором торцевой части подлокотника. Нам нужен будет сплайн-путь по которому можно размножить объекты, повесим поверх стека модификатор Edit Poly (над MeshSmooth), в нем воспользуемся функцией Create Shape, преобразовав выделенные ребра по кругу в замкнутый сплайн.

Теперь можно удалить модификатор Edit Poly, и работать со сплайном. Создаем сферу с минимумом необходимых полигонов, применяем Scale, заднюю невидимую часть можно удалить.

Привязываем сферу к сплайну через контроллер Path Constraint, после чего идем в Tools -> Snapshot, тут ставим галку Range, метод копирования Instance, количество копий подбирается индивидуально.

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

К примеру я обнаружил что не сделаны торцевые стежки, я их просто пропустил, конвертировать рано. Направляющие под них у нас есть, все та же процедура с AsimmetricScaleChamfer.

Тоже самое со второй чуть ниже. Ну и с третьей в низу.

37. Основная мягкая часть полностью готова перейти в более многополигональное состояние. Для этого применяем MeshSmooth с 1-й итерацией и обратно конвертируем в Editable Poly.

Для тех кто не понял, 1 итерация дала нам в 4-ро больше полигонов а значит и столько же дополнительных ребер, по которым мы теперь можем резать множественные складки. Начнем с подлокотника. Способ с применением AsimmetricScaleChamfer и дополнительно Chamfer ‘ом в силе. Параметры AsimmetricScaleChamfer‘ а указаны.

После этого нужно правильно закончить складку, используем Target Weld и ручное смещение вершин на конце складок.

MeshSmooth показывает не плохой результат, продолжаем с остальными.

38. Такой же доработке подвергаем напряженные участки вокруг пуговиц, до сих пор работаем только с половиной модели, не составит труда на каждую или через одну пуговицу рандомно добавить по 2-3 складки с разной длинной. Использую AsimmetricScaleChamfer в один проход, после чего Collapse окончаний.

Смотрим на сколько это оживляет кожу, глубина и длинна складок зависит от мягкости материала, сильно толстая кожа не дает практически никаких складок. Финальный MeshSmooth с 1-й итерацией ложится поверх Symmetry, таким образом вы всегда можете вернутся на уровень ниже, редактируя только одну половину модели.

39. Если вы добрались сюда и вам еще нужны ножки – no comments :)

Подушки и основу теперь можно доработать самостоятельно, и вообще много чего можно теперь "доработать" ;)

Создание подушки.

рис.1

В этом уроке я расскажу как смоделировать подушку для дивана (рис. 1).

1. На виде Тор создайте Вох с параметрами (150, 150, 70) сегменты (10, 10, 1). Чтобы была видна сегментация в окне перспективного вида включите отображение ребер (клавиша F4) рис.2. рис.2

2. Примените к Вох-у модификатор Edit Mesh. Включите уровень подобъектов Vertex и на виде Тор захватом выделите все точки по периметру рис.3. рис.3

3. Возьмите инструмент масштабирования Select&Scale и на виде Front отмасштабируйте точки по оси Y таким образом, чтобы они поместились в одну плоскость. рис.4.   рис.4

4. Не снимая выделения спаяйте точки. Для этого в свитке Edit Geometry найдите кнопку Weld и прежде чем её нажать установите небольшой порог (радиус поиска точек для спаивания) рис.5. рис.5

5. Снимите выделение и выделите только 4 угловых точки на виде Top рис.6. рис.6

6. В свитке Soft Selection (Мягкое выделение) включите флажок Use (Использовать) и настройте параметры охвата выделения таким образом, чтобы Вох выглядел как на рис.7.   рис.7

7. Возьмите инструмент масштабирования Select&Scale и на виде Тор отмасштабируйте точки по таким образом, чтобы они вытянулись в стороны (как крылья бабочки). Чем дальше вытянуты углы, тем очевиднее они будут у подушки, поэтому смелее оттаскивайте их в стороны, не стесняйтесь. рис.8. рис.8

8. Выключите уровень подобъектов и примените модификатор Relax с числом итераций Iterations от 10 до 20, и смотрите на результат. Получится подушка как на рис.9. рис.9

9. В дополнение, если вы хотите подушку немного помять, примените к ней модификатор Noise. Настройте параметры Strength (50, 50, 50). Меняйте случайное число Seed, чтобы подобрать форму. Можно менять масштаб Scale для увеличения или уменьшения неровностей. В итоге получится подушка как на рис.10. рис.10 Помните, гладкость подушки зависит от начального количества сегментов Вох-а.

Создание текстурной развертки.

Если в качестве материала установить какую либо текстуру, после чего назначить ее объекту, то текстура просто "натягивается" на объект, располагаясь с учетом текстурных координат. Но иногда необходимо расположить некоторые части текстуры в определенных местах объекта. Например, чтобы нарисованные глаза на текстуре совпадали с геометрией глаз на 3d модели. Теоретически (как и практически) это возможно и довольно просто, ведь всем вершинам 3d модели назначены текстурные координаты, следовательно, если определенным текстурным координатам назначить определенную часть изображения, то данная часть изображения расположется именно там, где нам нужно.

Текстура, с расчитанными координатами для опереденных ее частей называется текстурной разверткой.

Сейчас мы познакомимся с методом создания текстурной развертки, а именно с модификатором Unwrap UVW.

Мы создадим простую модель книги и протекстурируем ее.

Для этого сначала создайте модель книги.

Теперь необходимо применить к данному объекту модификатор EditMesh. После этого перейдите в ре-жим выделения граней и выделить все грани объекта (комбинация клавиш Ctrl + A - выделить все).

Теперь, не снимая выделение, примените к объекту модификатор Unwrap UVW. В открывшихся наст-ройках модификатора нажмите на кнопке Edit для редактирования развертки и создания текстурных координат.

Настройки модификатора Uwrap UVW программы 3d studio max.

Откроется окно Edit UVWs, предназначенное для создания текстурной развертки.

Существуют разные способы создания текстурных развёрток. В нашем случае мы имеем объект в виде книги, поэтому легко представить себе развертку в виде 6 фотографий книги с разных сторон, следовательно нам оптимально подойдет метод Flatten Mapping. Нажмите комбинацию клавиш Ctrl + A, что бы выделить все, затем выберите меню Select (выделение) и в открывшемся списке выполните опцию Convert vertex to face.Теперь мы можем применить к нашему объекту метод Flatten Mapping. Для этого откройте меню Mapping -> Flatten Mapping

В открывшемся окне параметров нажмите кнопку OK.

Теперь мы можем увидеть разметку для всех наших граней

Темно-синяя линия указывает на границу текстуры, зелеными линиями указаны границы граней нашей книги. Для визуализации текстуры откройте меню Tools и выберите опцию Render UVW Template.

В открывшемся окне настроек рендера текстурной развертки вы можете установить цвета для изображения и размер создаваемой текстуры. Установите разрешение 512 пикселей и визуализируйте изображение, нажав на кнопку Render UV Template.

Сохраните полученное изображение на жесткий диск, после чего откройте его с помощью любого графического редактора, например Adobe PhotoShop.

Откройте редактор материалов и назначьте новому материалу в качестве карту Diffuse данное изображение. Полученный материал будет выглядеть следующем образом.

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

Переверните вторую книгу, чтобы увидеть ее заднюю грань.

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

. Сохраните новую текстуру, и установите ее в качестве карты Diffuse нового материала. После этого создайте еще одну книгу методом копирования и назначьте данный материал всем книгам.

Второй вариант текстурирования.

  1. Сперва создадим новую сцену в 3d max. На командной панели активируйте вкладку Create (Создать) и щёлкните кнопку Box (Бокс). В окне проекции Top (Сверху) создайте бокс. Затем щёлкните вкладку Modify (Изменение) и измените его параметры: Length=80, Width=200 и Height=300. Оставьте значения Segs (Кол-во сегментов) равными 1.

  1. Теперь откройте Material Editor (Редактор материалов), просто нажав М на клавиатуре. Сделайте активным один из свободных слотов материалов. Щёлкните и перетащите слот материала на бокс в окне проекции, чтобы применить к нему этот материал. Не забудьте щёлкнуть Show Map in Viewport (Отображать карту в окне проекции), чтобы видеть применённый материал в окне проекции. На канал Diffuse назначте текстуру с изображением раскладки по граням.

3. В раскрывающемся списке модификаторов выберите модификатор Unwrap UVW. В свитке Parameters (Пара-метры) щёлкните кнопку Edit (Редактировать). Поя-вится окно Edit UVWs (Редактирование координат).

4. В окне Edit UVWs установите вместо CheckerPattern (Checker) (Шашечки) в раскрывающемся списке - Pick Texture (Взять текстуру). В открывшемся окне Material/Map Browser выберите Browse From: Mtl Editor (Просматривать из: редактора материалов). Наконец, выберите сохранённую ранее карту (juicemap.jpg). Теперь вы можете видеть juicemap.jpg фоновым изображением, но оно отображается мозаикой.

5. В окне Edit UVWs перейдите в Options > Advanced Options (Опции > Расширенные опции). Найдите Display Preferences (Параметры отображения) и отключите Tile Bitmap (Тайлинг изображения). После этого нажмите кнопку ОК. Теперь juicemap.jpg не будет тайлиться.

6. В стеке модификаторов щёлкните значок "+" с левой стороны строки Unwrap UVW, чтобы открыть уровень подобъектов. Выделите Face (Грани). В окне проекции выделите переднюю грань коробки. Теперь, после того как мы выделили грань, нам нужно выбрать тип маппинга (проецирования) для данной грани. В свитке Map Parameters (Параметры карты) щёлкните Planar (Плоское), а затем щёлкните Align Y (Выровнять по Y) или Best Align (Лучшее выравнивание). (Примечание: как правило, Best Align подходит в большинстве случаев). Как вы можете видеть, выделенная в окне проекции грань представлена в окне Edit UVWs в виде прямоугольника с небольшой сеткой.

7. Далее в окне Edit UVWs нам нужно настроить отображение координат путём масштабирования и перемещения вершин. В вашем распоряжении несколько инструментов в левом верхнем углу. Вам, возможно, подойдёт инструмент для масштабирования прямоугольника Freeform Mode (Режим произвольной формы). Отмасштабируйте прямоугольник, чтобы он соответствовал изображению вида спереди (посмотрите на изображение внизу). Вы также можете изменить режим выделения подобъектов на Vertex (Вершины) и перемещать вершины в нужном направлении.

8. Повторяйте пункт 7 с другими гранями, применяя другой маппинг. После того как все координаты будут правильно установлены по каждому изображению, ваша коробка будет выглядеть следующим образом.

Системы частиц (PARTICLE SYSTEMS)

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

Теоретические аспекты

Системы частиц (Particle Systems) — это совокупность управляемых с помощью параметров малоразмерных объектов, количество и вид которых различны в каждом кадре анимации. В 3D Studio MAX предусмотрено семь видов систем частиц:

  • Spray (Брызги) и Super Spray (Супербрызги) — обеспечивают эф-фект водяных брызг;

  • Snow (Снег) и Blizzard (Метель) — создают эффект падающего сне-га и даже настоящей метели;

  • PCloud (Облако час-тиц), РАrrау (Массив частиц) и PF Source (Источник Particle Flow) — предназначе-ны для моделирования широкого спектра эффектов.

 

За создание систем частиц отвечает категория ParticleSystems (Системы частиц) панели Create (Создать), при выборе которой становятся доступными все типы систем частиц.

Технология их создания напоминает создание других объектов геометрии. Например, при формировании систем Spray, Snow, Blizzard и Super Spray достаточно просто выбрать тип системы частиц и перетащить мышь при нажатой левой кнопке по диагонали, а затем на панели Modify откорректировать параметры системы объектов. При создании любого типа частиц создается генерирующий их объект — эмиттер. Он определяет площадь, с которой будут падать частицы, и направление их перемещения (задается направлением вектора, выходящим из центра эмиттера). Эмиттер не визуализируется и в самом простом случае является двумерным. В окнах проекций он отображается в виде прямоугольника. Частицы, в отличие от эмиттера, визуализируются, хотя в нулевом кадре их не видно, но они прекрасно отображаются в любом кадре, отличном от нулевого.

Для большей части систем частиц эмиттер не только генерирует частицы, но и сам их испускает. Исключение составляют системы ParticleArray и ParticleCloud, в которых испускание частиц производится с другого (предварительно выбранного пользователем) объекта сцены, а за эмиттером сохраняется функция генерирования частиц в соответствии с указанными параметрами.

Spray

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

Для примера создайте систему частиц типа Spray (Брызги). Выберите Create=>Geometry=>ParticleSystems (в открывающемся списке, где по умолчанию выбрано Standart Primitivs), щелкните на кнопке Spray и в окне проекции Top нарисуйте прямоугольный эмиттер — никаких частиц при этом видно не будет, но это лишь потому, что кадр нулевой. Нажмите на панели анимации кнопку Play, и частицы тут же появятся, причем их количество и положение в каждом кадре будет меняться.

Вид проекции Top Вид проекций со Spray-частицами в одном из

со Spray-эмиттером промежуточных кадров

в нулевом кадре

При необходимости несложно отрегулировать положение частиц, их количество и характер движения через свитки параметров на панели Modify. Так, в области Particles можно определить следующие параметры:

  • ViewportCount — максимальное число частиц, отображаемых в окне проекций в любой момент времени;

  • RenderCount — максимальное число частиц, видимых в каждом отдельном кадре итоговой визуализации; как правило, для окончательной визуализации сцены следует задавать достаточно большую величину этого параметра — порядка 1000;

  • DropSize — размер частиц;

  • Speed — средняя начальная скорость каждой частицы в момент отрыва от источника, в дальнейшем, если на частицы не действует какая-либо из объемных деформаций (например, гравитация), то они движутся с этой же скоростью, в противном случае скорость меняется в зависимости от вида и настроек гравитации;

  • Variation — разброс значений начальных скоростей и направлений распространения частиц, от значения которого зависит область их распространения — чем больше значение данного параметра, тем шире область распространения.

Кроме того, здесь же выбирается вариант отображения частиц в окнах проекций — Drops (Лучи), Dots (Точки) и Ticks (Крестики).

Вид частиц при рендеринге задается в области Render, где предусмотрено два варианта отображения:

  • Tetrahedron — частицы визуализируются в виде вытянутых тетраэдров, длина которых равна значению параметра DropSize, напоминая дождевые капли;

  • Facing — частицы визуализируются в виде квадратных полигонов, размеры которых совпадают с размерами частицы; форму данных полигонов можно изменять посредством наложения материалов на основе текстурных карт с масками непрозрачности.

В области Timing регулируется время жизни частиц:

  • Start — номер кадра, в котором начнется испускание частиц; по умолчанию данный параметр равен 0, в результате чего в 0-м кадре частицы не видны; если же требуется, чтобы все частицы, задаваемые полями счетчиков, присутствовали уже в 0-м кадре, то в данном поле устанавливается отрицательное значение;

  • Life — продолжительность жизни частицы в кадрах; чем больше значение данного параметра, тем дольше виден след, оставляемый частицами; если Life = 0, то частицы следа за собой не оставляют;

  • BirthRate — число новых частиц, появляющихся в каж-дом следующем кадре анимации. Если значение данного параметра превышает максимально допустимое значение — MaxSustainableRate,вычисляемое как частное параметров RenderCount и Life, то генерация частиц производится прерывисто. Для получения устойчивого потока частиц значение BirthRate должно быть меньше или равно MaxSustainableRate. Данный параметр можно изменять только при сброшенном флажке Constant.

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

 Чтобы разобраться с особенностями настройки названных параметров, активируйте созданную систему Spray-частиц, включите режим анимации с автоматическим созданием ключей, переключитесь на последний кадр и на панели Modify увеличьте размер частиц (DropSize) до 5, а скорость их движения (Speed) до 20. Отключите режим автоматического создания колючей, вернитесь в 0-й кадр и проиграйте анимацию в окне проекции Perspective и увидите, что при увеличении номера кадра размер частиц увеличивается, равно как и скорость их падения.

 

Создание ключей анимации для параметров DropSize и Speed

 

Вид частиц в 20-м (слева) и 100-м кадрах

Установите вариант ото-бражения частиц в окнах проекций в виде точек (Dots) — обратите внима-ние, что теперь изменение размеров частиц не будет фиксироваться в окнах проекций. Уменьшите вре-мя их жизни (Life) до пяти кадров и проиграйте ани-мацию, где сразу станет заметно, что уменьшилось не только время, в течение которого виден след от частиц, но и область их распространения.

 

Верните первоначаль-ное значение параметра Life. Отключите флажок Constant, а затем уве-личьте значение пара-метра BirthRate до 10. Это приведет к порции-онной генерации час-тиц, где на некоторых кадрах на экране одно-временно будут нахо-диться не одно, а сразу 2 облака частиц. Вклю-чите флажок Constant — частицы вновь станут испускаться эмиттером равномерно.

Вид частиц в 5-м (сверху) и 100-м кадрах — в обоих случаях четко видна граница максимального распространения частиц

Удалите для параметров DropSize и Speed созданные ранее ключи анимации, увеличьте размер частиц до 4 и проведите рендеринг для одного из промежуточных кадров анимации. Обратите внимание, что все частицы движутся одинаково. Увеличьте разброс значений начальных скоростей и направлений частиц (Variation) до 3 — частицы станут разлетаться не в одном, а сразу в нескольких направлениях (рис. 12). Создайте AVI-файл — примените команду Rendering=>Render, на вкладке CommonParameters активизируйте переключатель ActiveTimeSegment (Активный сегмент времени), укажите имя файла и щелкните на кнопке Render. Просмотрите созданную анимацию в окне встроенного проигрывателя — частицы будут хаотично перемещаться, но количество их окажется невелико. Поэтому увеличьте значение параметра RenderCount примерно до 1000-1500 и вновь проведите визуализацию — поток частиц станет гораздо мощнее (рис. 13).

Вид сцены при одинаковом Вид сцены при хаотичном движении частиц и

движении частиц соответствующие ему настройки базовых параметров

Демонстрация анимации в окне Windows-проигрывателя и соответствующие настройки базовых параметров анимации частиц

Огни фейерверка

Попробуем превратить разлетающиеся частицы в настоящий фейерверк — для этого достаточно подобрать оптимальный для данного случая разброс частиц (мы остановились на 6) и назначить частицам светящийся и отливающий разными цветами материал.

Поскольку речь идет о получении разноцветных огней, то в качестве материала может быть использована специально созданная, например в генераторе фрактальной графики, и установленная на канале Diffuse разноцветная Bitmap-текстура, многослойный Composite-материал (в котором сквозь один материал будут просвечивать другие) либо материал Multi/Sub-Object. Мы остановимся на последнем варианте, так как он позволяет назначать материал не всем частицам сразу, а каждой следующей частице отдельно — очередная частица принимает материал на основе собственного номера (0-я получает 1-й материал, 1-я — 2-й и т.д.).

Создайте материал Multi/Sub-Object и ограничьте число входящих в него подматериалов, например, пятью (кнопка Set Number). Последовательно назначьте в качестве подматериалов стандартные материалы с разными цветами на канале Diffuse и большим значением Specular Level для получения эффекта свечения. Один из кадров полученной в результате анимации представлен на рисунке ниже.

Разноцветное конфетти

Теперь на основе Spray-частиц создадим разно-цветное конфетти. Сформи-руйте систему частиц с большим по размеру эмит-тером, разместите эмиттер в верхней части окна проек-ции Perspective, а затем на панели Modify в области Render включите вариант Facing. Проведите ренде-ринг — частицы станут квадратными, причем раз-мер квадратов будет напря-мую зависеть от значения DropSize.

Как правило, вариант ото-бражения Facing использу-ется не напрямую (когда частицы представлены обычными квадратами), а в сочетании с полупрозрач-ным материалом, имеющим маску, — тогда можно при-дать частицам произволь-ную форму. Поскольку мы создаем конфетти, то нам потребуется маска в виде обычного белого круга на черном фоне, которую мож-но создать в любом раст-ровом редакторе.

Материал конфетти: Создайте новый материал типа Multi/Sub-Object с тремя подматериалами. В каждом из подматериалов нужно установить цветв Diffuse, а в Opacity поставить растровую карту с изображением белого круга на черном фоне