Как сделать флаг в 3д максе
Основу 3D-дизайна составляет работа с объектами: их создание, перемещение-вращение, трансформирование и применение различных дополнительных настроек (толщины стенок, цвета, текстур и так далее). За счёт этого получаются реалистичные модели предметов, рендеры интерьеров и экстерьеров, спецэффекты, анимированные персонажи.
Мы собрали подробный гайд по всем необходимым 3D-дизайнеру действиям над объектами и решению распространенных проблем.
Содержание
Понятие объектов в 3ds Max
Из объектов создается общая сцена в 3ds Max. Большинство из них представляют собой базовые формы, которые используют для создания сложных фигур.
- Геометрия (Geometry)
- Формы (Shapes)
- Камеры (Cameras)
- Объемные деформации (Space Warps)
- Источники света (Lights)
- Системы частиц (Particles)
- Вспомогательные объекты (Helpers)
- Дополнительные инструменты (Systems)
Как работать с объектами в 3ds Max
Для работы над объектами есть ряд встроенных функций в 3ds Max, начиная от базовых инструментов вроде “Создать”, “Копировать”, “Вставить” и заканчивая сложными настройками материалов.
Кроме этого, можно скачать и установить дополнительные модификаторы, упрощающие процесс моделирования или визуализации.
Рассмотрим основные действия над объектами.
Создание объектов в 3ds Max
- стандартные (Standard) — несложные объекты в виде базовых геометрических фигур;
- расширенные (Extended) — усложненная версия многих базовых фигур.
- На командной панели (Command Panel) выберите вкладку “Создать” (Create).
- В выпадающем списке с группами объектов выберите вид примитивов, который вам нужен (стандартные или расширенные).
- В открывшемся свитке выберите нужный объект.
- Перейдите в окно проекции “Перспектива” (Perspective). Для удобства разверните его на весь экран — это можно сделать с помощью комбинации горячих клавиш Alt +W.
- Левой кнопкой мыши кликните по экрану и, не отпуская её, потяните курсор в сторону — таким образом будет вырисовываться примитив, получится плоская геометрическая фигура.
- Чтобы зафиксировать размер и положение полученного объекта, отпустите кнопку мыши.
- Для объектов с углами потяните курсор вниз или вверх, чтобы сделать фигуру объемной — так и простого примитива получится 3D-объект.
- Для объектов “Чайник” (Teapot) и “Сфера” (Sphere) задавать высоту не нужно — их рисуют в один этап.
- Второй этап в процессе добавления объекта “Труб” (Tube) — задать толщину стенок путем того же растягивания курсором. После этого курсор нужно потянуть вверх, чтобы установить высоту.
- Для добавления “Конуса” (Cone) основание рисуют дважды: сначала низ фигуры, затем тянут курсор вверх, создавая объект. Можно сузить фигуру до точки на вершине, а можно сформировать усеченный конус.
Выделение объекта в 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
- группировки объектов;
- сохранения участка пересечения объектов (остальные части объектов удаляются);
- вычитания одного объекта из другого.
- Выделите объект, который нужно оставить, и условно назовите его объектом A. Тот, который нужно удалить, условно обозначим как объект В.
- На панели создания объектов выберите “Геометрию” (Geometry), а в выпавшем после этого списке — “Сложные объекты” (Compound Objects)
- Выберите команду Boolean.
- В открывшемся справа окне настроек выберите “Вычитание” (Subtraction). Если выбрать A-B, то из объекта А (т.е. выделенного) будет вычтен объект В. Можно сделать и наоборот.
- В том же окне нажмите кнопку 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.
Очередной урок от признанного мастера своего дела — 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
Послесловие.
Наиболее трудоемкой окажется именно удачная настройка этих двух параметров. Так же попробуйте изменить длину и ширину флага.
А теперь запаситесь терпением и вперед.
С уважением работники Агенства "АРКА"
Акманов Руслан, Гасымов Самир и Агаев Имран
3. На текущем этапе каждый вводит свои значения, у всех они разные. В Lengths Segs я вписал значение 25, и то же число в Width Segs. Можете ввести те же значения, что у меня, но я не стал создавать слишком много сегментов, потому что позже собираюсь применить модификатор Turbosmooth.
4. Поместите плоскоть над столом.
5. Выберите из списка модификаторов 3d max модификатор Turbosmooth. В его настройках установите значение параметра Iterations на 2, этого будет достаточно. Или, если хотите добиться лучшего качества, введите туда 3 или 4, если потребуется. Кстати, я немного уменьшил размер плоскости. При этом количество полигонов не уменьшилось, и я просто сразу не заметил, что плоскость была слишком большой.
6. Добавьте к выделенной плоскости модификатор Cloth, выбрав его из списка модификаторов 3d max.
7. Затем, в кликнув по плоскости правой кнопкой мыши, выберите из подменю пункт Object Properties.
8. Появится небольшое окно. В левой части окна расположен список со всеми объектами в сцене, взаимодействующими в процессе просчёта ткани модификатором Cloth. На данный момент взаимодействует только сама скатерть (в данном случае "plane01", поскольку я не изменял название). Теперь кликните по кнопке Add Object и добавьте сюда модель стола (в моём случае она называется "Line01"). И да, между прочим, если вы только начали изучать 3d max и названия объектов у вас не совпадают с моими, то не стоит паниковать :)
9. Теперь оба объекта должны быть в списке. Давайте начнём со скатерти. Выделите из списка скатерть и установите флажок "Cloth". Затем, в Presets можно выбрать материал ткани, из которого должна быть сделана модель скатерти, или, если хотите, можете сами создать свой собственный материал ткани. Просто немного поиграйтесь с настройками и вы поймёте назначение каждой настройки и их функции. В этом уроке я выбрал тип материала Flannel, т.е. фланель.
10. Теперь перейдём к модели стола. Просто выделите стол в списке, поставьте галочку Collision, и кликните ОК.
11. После того как вы нажали кнопку ОК, в меню справа кликните кнопку Simulate. Если результат вам не понравится, щёлкните кнопку Erase Simulation и измените настройки, но я не думаю, что в этом будет необходимость.
Это были основы работы с модификатором Cloth для создания ткани в 3d max. На изображении показан конечный результат, где к скатерти уже была добавлена текстура:
Читайте также: