Как сделать флаг в 3д максе

Обновлено: 04.07.2024

Основу 3D-дизайна составляет работа с объектами: их создание, перемещение-вращение, трансформирование и применение различных дополнительных настроек (толщины стенок, цвета, текстур и так далее). За счёт этого получаются реалистичные модели предметов, рендеры интерьеров и экстерьеров, спецэффекты, анимированные персонажи.

Мы собрали подробный гайд по всем необходимым 3D-дизайнеру действиям над объектами и решению распространенных проблем.

Содержание

Понятие объектов в 3ds Max

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

  1. Геометрия (Geometry)
  2. Формы (Shapes)
  3. Камеры (Cameras)
  4. Объемные деформации (Space Warps)
  5. Источники света (Lights)
  6. Системы частиц (Particles)
  7. Вспомогательные объекты (Helpers)
  8. Дополнительные инструменты (Systems)

Как работать с объектами в 3ds Max

Для работы над объектами есть ряд встроенных функций в 3ds Max, начиная от базовых инструментов вроде “Создать”, “Копировать”, “Вставить” и заканчивая сложными настройками материалов.
Кроме этого, можно скачать и установить дополнительные модификаторы, упрощающие процесс моделирования или визуализации.

Рассмотрим основные действия над объектами.

Создание объектов в 3ds Max

  • стандартные (Standard) — несложные объекты в виде базовых геометрических фигур;
  • расширенные (Extended) — усложненная версия многих базовых фигур.
  1. На командной панели (Command Panel) выберите вкладку “Создать” (Create).
  2. В выпадающем списке с группами объектов выберите вид примитивов, который вам нужен (стандартные или расширенные).
  3. В открывшемся свитке выберите нужный объект.
  4. Перейдите в окно проекции “Перспектива” (Perspective). Для удобства разверните его на весь экран — это можно сделать с помощью комбинации горячих клавиш Alt +W.
  5. Левой кнопкой мыши кликните по экрану и, не отпуская её, потяните курсор в сторону — таким образом будет вырисовываться примитив, получится плоская геометрическая фигура.
  6. Чтобы зафиксировать размер и положение полученного объекта, отпустите кнопку мыши.

Процесс добавления параллелепипеда

  1. Для объектов с углами потяните курсор вниз или вверх, чтобы сделать фигуру объемной — так и простого примитива получится 3D-объект.
  2. Для объектов “Чайник” (Teapot) и “Сфера” (Sphere) задавать высоту не нужно — их рисуют в один этап.
  3. Второй этап в процессе добавления объекта “Труб” (Tube) — задать толщину стенок путем того же растягивания курсором. После этого курсор нужно потянуть вверх, чтобы установить высоту.
  4. Для добавления “Конуса” (Cone) основание рисуют дважды: сначала низ фигуры, затем тянут курсор вверх, создавая объект. Можно сузить фигуру до точки на вершине, а можно сформировать усеченный конус.

Так добавляют конус

Если нужно нарисовать квадрат или круг (не прямоугольник или овал), то при растягивании фигуры дополнительно зажмите клавишу Ctrl.

Выделение объекта в 3ds Max

  • в сглаженном режиме отображения (Smooth and Highlights) объект будет заключен с квадратные белые скобки;
  • в режиме “Каркас” (Wireframe) сетка объект станет белой.
  • прямоугольная область выделения (Rectangular Selection Region);
  • круглая (Circular Selection Region);
  • произвольная (Fence Selection Region);
  • лассо (Lasso Selection Region);
  • выделение кистью (Paint Selection Region).

Как повернуть объект на 90о в 3ds Max

Действия над объектом осуществляются с помощью инструментов, расположенных на основной панели.
Для вращения выберите Select and Rotate (“Выбрать и повернуть”), она обозначена круглой стрелкой. Горячая клавиша для этой команды — E.

Вращайте фигуру с помощью курсора по “орбитам”.

Орбиты появятся после выбора команды и выделения объекта

Орбиты появятся после выбора команды и выделения объекта

Как вырезать объект из объекта 3ds Max

  • группировки объектов;
  • сохранения участка пересечения объектов (остальные части объектов удаляются);
  • вычитания одного объекта из другого.
  1. Выделите объект, который нужно оставить, и условно назовите его объектом A. Тот, который нужно удалить, условно обозначим как объект В.
  2. На панели создания объектов выберите “Геометрию” (Geometry), а в выпавшем после этого списке — “Сложные объекты” (Compound Objects)
  3. Выберите команду Boolean.
  4. В открывшемся справа окне настроек выберите “Вычитание” (Subtraction). Если выбрать A-B, то из объекта А (т.е. выделенного) будет вычтен объект В. Можно сделать и наоборот.
  5. В том же окне нажмите кнопку Pick Operand B.

Отверстие в объекте в 3ds Max

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

Круглые отверстия можно создать так:

1. ProCutter. Выберите объект, в котором нужно создать отверстия, и дополнительно дорисуйте еще один круглый объект на месте, где это отверстие должно быть (можно несколько). Примените инструмент ProCutter (она находится в свитке Compound, а свиток — на панели меню Create). В списке настроек справа нужно выбрать, какие именно объекты нужно удалить. Нажмите Pick Stock Object.

С помощью цилиндров поменьше обозначили, где будут отверстия

С помощью цилиндров поменьше обозначили, где будут отверстия

2. Loop Regulizer — скрипт, который нужно устанавливать отдельно. Он применяется в работе с Editable Poly с квадратными или прямоугольными полигонами, и, как и инструмент из предыдущего пункта, создаёт только круглые отверстия. На уровне редактирования Polygon выберите все полигоны, которые будут участвовать в создании отверстия. Кликните правой кнопкой мышки по экрану и в появившемся списке выберите Regulize. Таким образом, получается круг. При необходимости можно применять модификатор Chamfer для большего сглаживания. В настройках справа нажмите Bridge — после этого вместо только что сформированного круга получится сквозное отверстие.

3. Вручную. Сформируйте из полигонов форму будущего отверстия. Затем в режиме Vertex выберите точки, из которых оно состоит, и примените модификатор Spherify.

simcloth

Очередной урок от признанного мастера своего дела — vitsly. В своем живом журнале он довольно редко выкладывает интересные уроки к своим работам. Они всегда очень увлекательны и поучительны.

В этом уроке он расскажет и покажет как сделать зацикленную анимацию флага используя модификатор Cloth.

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

1. Симуляция

Сделаем плейн формата 2:1 разрешением побольше, навесим на него Edit poly и добавим геометрии на месте швов.

Выберем настройки ткани для полотнища флага (silk, satin или кастомные).

Второй группе изменим настройки ткани на более жесткие (например burlap или rubber).

Поставим небольшую гравитацию и ветер с турбуленцией и анимацией направления и силы. Чтобы проще контролировать настройки турбуленции я сделал простую систему частиц и прибиндил ее к ветру.

Можно запускать симуляцию. Еще можно выставить time scale чтобы поторжественнее было.

2. Пойнткэш

Поверх cloth накидываем модификатор point cache.

Сохраним его на диск, перепишем в сеть для дистрибутивного рендера или бэкбернера (сразу в сетку кэш почему-то не хочет экспортироваться).

Теперь можно убрать из стека модификатор cloth, для экономии веса файла сцены.

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

3. Морфинг

Для этого к одному из флагов ниже пойнткэша применим модификатор vol.select. Гизмо модификатора анимируем так, чтобы оно наползало на флаг по ветру и выставим софт-селекшен побольше.

4. Морщинки

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

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

Отрендерим сканлайном полоску из фронтального вида с градиентом поперек самосветящегося материала. Получим морщинки для дисплейса.

В афтерэффектс соберем из них зацикленную конструкцию на сером фоне, и повесим на флаг после turbosmooth.

5. Текстуринг и рендер

В фотошопе из фоток налепим текстуры на диффуз, бамп и опасити.

Уроки по иммитации развевающейся ткани или флага достаточно часто встречаются в Интернете. Но попыток сделать это с помощью модуля Cloth нам еще не встречалось. Поэтому мы хотели бы поделиться своим опытом, полученным при изучении сцен из примеров к модулю Cloth еще в Maya 2.0. Хотя сцена с развевающимся флагом входила в комплект поставки Maya, описания того как сделать эту сцену нам не встречалось.

Шаг 1.

Создайте новую сцену, а лучше всего проект под любым названием. Например: flag.
Убедитесь, что модуль Cloth у Вас подгружен. Для этого откройте окно Window > Settings/Preferences > Plug-In Manager и проверьте включен ли plug-in CpClothPlugin.mll. Если нет, то включите его.

Шаг 2.

Создайте Polygonal Plane с параметрами:

Width - 7
Height - 14
Subdiv.Width - 5
Subdiv.Height - 10

Переместите его на 7 единиц по оси Y и на 9 единиц по оси Z, также поверните на -90 градусов по оси X. Переименуйте в "windSourse".

Создайте Polygonal Cylinder с параметрами:

Radius - 0.1
Height - 12

Остальные параметры по умолчанию. Также переместите его на 6 единиц по оси Y и на 5 единиц по оси Z. Переименуйте во "flagshtok".

Создайте 4 кривые с Curve Degree - 1 Linear, так чтобы они пересекались в конечных и начальных точках (согласно требованиям модуля Cloth) и описывали прямоугольник с вершинами в точках:

1 вершина - (0, 11, 4.5)
2 вершина - (0, 11, -9)
3 вершина - (0, 5, -9)
4 вершина - (0, 5, 4.5)



Сгруппируйте эти кривые в группу "curves_for_Flag" и временно сделайте эту группу невидимой.

Шаг 3.

Выделите план windSourse и сделайте его источником частиц. Для этого, выделив windSourse, перейдите в Меню Dynamics, выберите Particles > Emit from Object. После этого у windSourse появится потомок emitter1. Выберите его и в Channel Box измените следующие параметры:

Emitter Type - Surface
Rate - 2
Scale Rate by Object - on
Speed - 0.05

Переименуйте emitter1 в emitterWind.
Проиграйте анимацию и убедитесь что частицы двигаются в отрицательном направлении оси Z. Выделите созданные при этом частицы particle1 переименуйте в "particleWind", вызовите Attribute Editor, откройте закладку Per Particle (Array) Attributes и, если отсутствует раздел lifespanPP, добавьте этот атрибут. Для этого выполните команду меню Attributes > Add Atributes, в появившемся окне выберите закладку Particle, найдите параметр lifespanPP и нажмите кнопку Add. Закройте окно Add Attributes.
В появившемся поле lifespanPP нажмите Правую Кнопку Мыши (ПрКМ) и удерживая ее в контекстном меню выберите Creation Expression. В появившемся окне Expression Editor в поле Expression наберите следующее:

particleWindShape.lifespanPP = 5;

и нажмите Create.

Затем переключите закладку Particle на Runtime и введите следующее:

vector $pos = particleWindShape.position;

if ( ($pos.y > 14) || ($pos.y < 3) || ($pos.z < -5) )
particleWindShape.lifespanPP = 0;
>

нажмите кнопку Create.
Данный Expression будет уничтожать частицы если их позиция больше 14 единиц по оси Y, меньше 3 единиц по оси Y и меньше чем на -5 единиц по оси Z. В Channel Box измените параметр Lifespan Mode на lifespanPP only.
Проиграйте анимацию и убедитесь что частици испускаются из windSourse не ниже 3 единиц и не выше 14 удиниц по оси Y и двигаются в отрицательном направлении оси Z.

Шаг 4.

При выделенных частицах particleWind создайте два поля:

airField1
turbulenceField1

(Меню Dynamics, закладка Fields, разделы Air и Turbulence, а выделение частиц необходимо для автоматической привязки воздействия этих полей на частицы particleWind).
Выделите airField1 и измените следующие параметры в Channel Box:

Magnitude - 7
Attenuation - 1
Max Distance - 20
Apply Per Vertex - off
Use Max Distance - on
Direction X - 0
Direction Y - 0
Direction Z - -1

Переименуйте airField1 в airField_Particles.

Выделите turbulenceField1 и измените следующие параметры в Channel Box:

Magnitude - 11
Attenuation - 1
Max Distance - -1
Apply Per Vertex - off
Use Max Distance - off

Щелкните в Channel Box на поле атрибута Phaze Z ПрКм и во всплывающем меню выберите Expressions, в появивщемся окне Expression Editor наберите следующее:

turbulenceField1.phaseZ = time;

Шаг 5.

Щелкните Левой Кнопкой Мыши (ЛКМ) в любом окне видов для отмены выделения. Создайте непривязанное к чему-либо radialField (Dynamics > Fields > Radial). Измените в Channel Box следующие параметры:

Magnitude - 250
Attenuation - 0.33
Max Distance - 3.3
Apply Per Vertex - on
Use Max Distance - on

Переименуйте radialField1 в "radialField_Wind". Теперь необходимо выполнить несколько связей. Мы предпочитаем использовать для этого Hypershade и его Work Area. Но можно настроить связи и не прибегая к его помощи.
Во-первых вызовите окно Connection Editor (Window > General Editors > Connection Editor).
Во-вторых вызовите окно Outliner (Window > Outliner) и в меню Display включите Shapes. В поле Outliner найдите и выделите particleWindShape. Перейдите в окно Connection Editor и нажмите кнопку Reload Left. Затем в Outliner выберите radialField_Wind, перейдите опять в окно Connection Editor и нажмите кнопку Reload Right. В меню Left Side Filters окна Connection Editor включите Show Hidden и затем аналогично в меню Right Side Filters окна Connection Editor включите Show Hidden. Теперь вы готовы для установки связей. В левом поле Connection Editor найдите и выделите параметр Centroid, затем найдите и выделите в правом окне параметр Translate. Таким образом Вы установили связь между параметрами:

particleWindShape.centroid > radialFieldWind.translate

Аналогично создайте связи:

particleWindShape.cachedWorldCentroid >
> radialFieldWind.ownerCentroid



Проиграйте анимацию. Поcле первого кадра иконка radialFieldWind должна находиться в центре частиц particleWind и совершать небольшое хаотическое движение. Теперь можете отменить режим Shapes в Outliner.
Выделите windSourse, particleWind, radialFieldWind, airField_Particles, turbField_Particles и сгруппируйте их в группу "wind_Group" (это только для удобства работу, можно не выполнять этого).

Шаг 6.

В Outliner выделите группу "curves_for_Flag" и сделайте ее видимой. Затем выделите все 4 кривые в группе "curves_for_Flag", перейдиле в меню Cloth и создайте Garment (Cloth > Create Garment). При этом будет автоматически создана и панель panel1. Выделите panel1 и переименуйте на "panel_Flag". Теперь Channel Box в разделе INPUTS > cpDefaultProperty измените следующие параметры:

U Bend Resistance - 3.3
V Bend Resistance - 3.3
U Bend Rate - 0
V Bend Rate - 0
U Stretch Resistance - 210
V Stretch Resistance - 210
Shear Resistance - 99
U Scale - 1
V Scale - 1
Density - 0.007
Thickness - 0.2
Thickness Forse - 3
Cloth Friction - 0.1
Cloth Damping - 0.01
Air Damping - 0.05
Static Friction - 0.6
Dynamic Friction - 0.1

Затем в разделе OUTPUTS > cpStitcher измените параметр:

Base Resolution - 150

В разделе OUTPUTS > cpSolver измените параметры:

Start Frame - 0
Frame Samples - 1
Relax Frame Length - 0

Шаг 7.

Выделите созданный модулем меш cloth1. В любом окне видов нажмите ПрКМ и удерживая ее из Pop-up меню выберите Vertex, выделите 2 верхние и 2 нижние, ближайшие к flagshtok вершины, затем, удерживая клавишу "Shift", выделите сам flagshtok и выберите Cloth > Constrains > Transform. Данная операция создаст эффект привязки флага к флагштоку. Проиграйте анимацию. Вы должны видеть как cloth1 спадает вниз и повисает на флагштоке.

Аналогично при выбранном cloth1 из Pop-up меню выберите Vertex, выделите все вершины и, удерживая "Shift", выделите radialField_Wind и выберите Cloth > Constrains > Field. Данная операция создаст воздействие поля radialField_Wind на cloth1.
Выберите частицы particleWind, удерживая "Shift" выделите Cloth1 и выполните Dynamics > Particles > Make Collide. Выделите particleWind и в Channel Box в закладке INPUTS > geoConnector2 измените параметры:

Tessellation Factor - 200
Resilience - 0.5
Friction - 0.1

Переименуйте cloth1 на "flag".

Шаг 8.

Выберите Cloth > Simulation > Delete Cache и проиграйте анимацию. В зависимости от ресурсов Вашей машины расчет Cache может занять от 30 секунд до 3 минут для 300 кадров анимации.

Шаг 9.

При проигрывании Вы можете заметить, что флаг колышется достаточно нереально. Решить эту проблему можно варьируя параметры panel_Flag в Channel Box > OUTPUTS > cpSolver1. Наиболее действенными будут изменения параметров Solver Scale в пределах 1-50 и Gravity1 в пределах -100 - -900. На одним из наших компьютеров удачными оказались значения:

Time Step Size - 0.02
Solver Scale - 21
Gravity1 - -330

А при проверке данного урока на второй машине подошли значения

Solver Scale - 17
Gravity1 - -100


Послесловие.

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

С уважением работники Агенства "АРКА"
Акманов Руслан, Гасымов Самир и Агаев Имран

Создание ткани в 3d max модификатором Cloth

3. На текущем этапе каждый вводит свои значения, у всех они разные. В Lengths Segs я вписал значение 25, и то же число в Width Segs. Можете ввести те же значения, что у меня, но я не стал создавать слишком много сегментов, потому что позже собираюсь применить модификатор Turbosmooth.

Создание ткани в 3d max модификатором Cloth

4. Поместите плоскоть над столом.

Создание ткани в 3d max модификатором Cloth

5. Выберите из списка модификаторов 3d max модификатор Turbosmooth. В его настройках установите значение параметра Iterations на 2, этого будет достаточно. Или, если хотите добиться лучшего качества, введите туда 3 или 4, если потребуется. Кстати, я немного уменьшил размер плоскости. При этом количество полигонов не уменьшилось, и я просто сразу не заметил, что плоскость была слишком большой.

Создание ткани в 3d max модификатором Cloth

6. Добавьте к выделенной плоскости модификатор Cloth, выбрав его из списка модификаторов 3d max.

Создание ткани в 3d max модификатором Cloth

7. Затем, в кликнув по плоскости правой кнопкой мыши, выберите из подменю пункт Object Properties.

Создание ткани в 3d max модификатором Cloth

8. Появится небольшое окно. В левой части окна расположен список со всеми объектами в сцене, взаимодействующими в процессе просчёта ткани модификатором Cloth. На данный момент взаимодействует только сама скатерть (в данном случае "plane01", поскольку я не изменял название). Теперь кликните по кнопке Add Object и добавьте сюда модель стола (в моём случае она называется "Line01"). И да, между прочим, если вы только начали изучать 3d max и названия объектов у вас не совпадают с моими, то не стоит паниковать :)

Создание ткани в 3d max модификатором Cloth

9. Теперь оба объекта должны быть в списке. Давайте начнём со скатерти. Выделите из списка скатерть и установите флажок "Cloth". Затем, в Presets можно выбрать материал ткани, из которого должна быть сделана модель скатерти, или, если хотите, можете сами создать свой собственный материал ткани. Просто немного поиграйтесь с настройками и вы поймёте назначение каждой настройки и их функции. В этом уроке я выбрал тип материала Flannel, т.е. фланель.

Создание ткани в 3d max модификатором Cloth

10. Теперь перейдём к модели стола. Просто выделите стол в списке, поставьте галочку Collision, и кликните ОК.

Создание ткани в 3d max модификатором Cloth

11. После того как вы нажали кнопку ОК, в меню справа кликните кнопку Simulate. Если результат вам не понравится, щёлкните кнопку Erase Simulation и измените настройки, но я не думаю, что в этом будет необходимость.

Создание ткани в 3d max модификатором Cloth

Это были основы работы с модификатором Cloth для создания ткани в 3d max. На изображении показан конечный результат, где к скатерти уже была добавлена текстура:

Читайте также: