Ткани в интерьере

Довольно часто при моделировании интерьера возникает необходимость оживить его интересными деталями, создать эффект присутствия человека. Чашка кофе на столе, раскрытая книга, женские туфельки у шкафа лишат интерьер скуки и однообразия, придадут дополнительное настроение и желание рассматривать в нем каждую деталь. Интересными элементами являются ткани на кроватях и диванах. Удачно расположенные драпировки создают впечатление, что человек только что вышел из комнаты, предоставив нам возможность спокойно рассмотреть обстановку, в которой он живет. При моделировании тканей подобного рода помимо традиционных средств моделирования вам могут помочь несколько специализированных инструментов, а именно имеющиеся в программе 3ds Мах модификатор Cloth (Ткань), а также подключаемый модуль SimCloth3. Именно их мы и рассмотрим.

Модификатор Cloth (Ткань)

Модификатор Cloth (Ткань) позволяет выполнить симуляцию ткани. Данный модификатор имеет достаточно большое количество настроек как свойств ткани, так и симуляции (рис.1).

Рис.1. Настройки модификатора Cloth (Ткань)

Модификатор Cloth (Ткань) предназначен в основном для создания одежды и облачения в нее персонажей. Но его с успехом можно использовать и для создания всевозможных тканевых элементов интерьера, например, занавесок, штор, скатертей, покрывал и т.д. Обычно он используется в совокупности с модификатором Garment Maker (Моделирование одежды).
Чтобы использовать модификатор Cloth (Ткань), необходимо создать отдельный объект из сплайна Rectangle (Прямоугольник).

1. Откройте 3d max. В качестве системных единиц установите метры. В новом файле в окне проекции Тор (Вид сверху) создайте объект Rectangle (Прямоугольник) величиной 1,8 х 1,8 м. Назовите его Скатерть и расположите в центре координатной сетки. В том же окне проекции сделайте объект Box (Параллелепипед) длиной и шириной 0,8 м и высотой 0,01 м. Поместите параллелепипед ниже прямоугольника на 0,03 м (рис. 2).

Рис.2. Расположение объектов для создание скатертей

2. Выделите объект Скатерть и примените к нему модификатор Garment Maker (Моделирование одежды). Сплайновый прямоугольник автоматически обретет поверхность из множества треугольников, число которых определяется параметром Density (Плотность). В данном случае единичная плотность сетки будет оптимальным вариантом, чтобы получился приемлемый результат и не пришлось ждать его слишком долго (рис. 3). Кнопку Mesh it! (Создать сетку) нажимать не обязательно, так как сетка будет создана автоматически.

Рис.3. Сетчатая поверхность будущей скатерти

3. Пришло время применить к объекту модификатор Cloth (Ткань). В свитке Object (Объект) модификатора Cloth (Ткань) нажмите кнопку Object Properties (Свойства объекта), в результате чего появится окно со свойствами (рис.4), в левой части которого будет указано имя объекта, подготавливаемого к симуляции. Сделайте активным переключатель Cloth (Ткань). Из списка Presets (Предустановки) выберите тип ткани Cotton (Хлопок) (см.рис.4). в том же окне свойств нажмите кнопку Add objects (Добавить объекты) и добавьте в симуляцию ранее созданный параллелепипед – в данном случае он будет твердым телом, форму которого будет принимать ткань. Для участия параллелепипеда в симуляции необходимо выделить его название в списке объектов симуляции и выбрать переключатель Collision Object (Объект столкновения) (см.рис.4). Все остальные настройки в окне оставьте без изменений и нажмите кнопку ОК.

Рис.4. Настройки объектов симуляции ткани.

4. Параметры симуляции на панели модификации установите согласно рис.5. Осталось нажать кнопку Simulate (Симуляция), чтобы в окнах проекции отображался процесс симуляции, или Simulate Local (Локальная симуляция) – в этом случае отобразится только конечный результат. Во время выполнения расчетов можно нажать кнопку Cancel (Отмена) для остановки симуляции, а для того, чтобы привести объекты в первоначальное состояние, нужно нажать кнопку Erase Simulation (Очистить симуляцию). После симуляции можно выбрать любой кадр, который будет считаться наиболее подходящим для статического положения скатерти на столе, и преобразовать объект в редактируемую сетку. В результате редактирования объект примет форму скатерти, наброшенной на стол. Сохраните файл.

Рис.5. Настройки симуляции ткани

5. Предположим, для квадратного стола нам нужна еще одна скатерть меньшего размера, которая будет располагаться поверх первой большой скатерти, в данном случае объектом столкновений будет ранее симулированная скатерть, преобразованная в редактируемую сетку. Для второй скатерти понадобится прямоугольник размером 1,3 х 1,3 м. Назовите его СкатертьМал. Симуляцию проведите по вышеописанной методике. В данном случае будет достаточно 30 кадров (рис. 6). Сохраните файл как КвадратСкатерть.max и закройте программу. Скатерти для прямоугольного стола размером 180 х 80 см смоделируйте самостоятельно, пользуясь описанной выше методикой.
6. Далее нам понадобится круглая скатерть для стола радиусом 0,6 м. Ее можно изготовить из сплайна Circle (Окружность) радиусом 1,3 м. Причем способ моделирования круглой скатерти полностью совпадает с описанной выше методикой создания прямоугольной. Поверх круглой скатерти должна располагаться квадратная скатерть размером 1,5 х 1,5 м (рис. 6). Сохраните файл с круглой скатертью как КруглаяСкатерть.max и завершите работу с этим файлом.

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

Рис.6.

Модуль SimCloth

Модуль SimCloth представляет собой подключаемый модификатор, который нужно применять для каждого элемента сцены, тем или иным образом участвующего в просчете динамики ткани. Эти элементы делятся на две группы — объекты-ткани (Cloth) и объекты-отражатели (Deflectors), то есть объекты, с которыми ткань будет взаимодействовать во время просчета.
Сам просчет происходит в виде анимационного действия, в каждом кадре которого ткань постепенно меняет свою форму. Естественно, чем больше объектов задействовано в этом процессе, тем больше ресурсов компьютера потребляется и тем дольше длится процесс. Возможно, оптимальным решением будет такое: смоделировать покрывало в отдельной сцене, используя при этом простые объекты-примитивы, а затем просто добавить его в сложную сцену. Рассмотрим пример.
Допустим, у нас есть несложная модель кровати с матрацем, подушками и прикроватными тумбочками, и мы хотим застелить кровать покрывалом или даже несколькими (рис. 7). Сохраним копию этой сцены, в которой создадим ткань.

Рис. 7. Модель кровати без покрывала

В данной сцене прикроватные тумбочки не будут участвовать в просчете ткани, поэтому сразу удалим их. Теперь сцена состоит из пола, матраца, плоскости кровати, спинки, трех подушек и четырех ножек. Это достаточно большое количество объектов для быстрого просчета динамики ткани. Оптимизируем просчет и создадим единый объект-отражатель. Создайте объект Plane (Плоскость) из набора стандартных примитивов с размерами 300 х 300 см. Количество сегментов уменьшите до 1, задав соответствующее значение параметрам Length Segs (Количество сегментов по длине) и Width Segs (Количество сегментов по ширине) (рис 8).

Рис. 8. Создание объекта-отражателя

Преобразуйте полученную форму в Editable Poly (Редактируемая полигональная поверхность). В режиме редактирования Polygon (Полигон) выделите единственный центральный полигон, в свитке Edit Polygons (Правка полигонов) щелкните на маленькой кнопке Settings (Параметры), которая находится рядом с кнопкой Inset (Вставить). В открывшемся окне задайте параметру Inset Amount (Величина вставки) значение 60 см (рис. 9).

Рис. 9. Создание вставки в поверхности полигона

В режиме редактирования Polygon (Полигон) откорректируйте размер внутреннего полигона так, чтобы он был равен внешнему контуру кровати. Выдавите внутренний полигон по оси Y инструментом Extrude (Выдавить) до высоты 44 см (уровня верхней плоскости кровати) (рис. 10).

Рис. 10. Выдавливание внутренней вставки полигона

Спрячьте командой Hide Unselected (Скрыть невыделенное) контекстного меню все объекты, кроме объекта-отражателя и подушек. Объедините все подушки в одну форму командой Attach (Присоединить) свитка Edit Geometry (Правка геометрия), при необходимости преобразовав их в Editable Poly (Редактируемая полигональная поверхность). Теперь у вас есть два объекта — объект-отражатель, сочетающий в себе плоскость пола и верхнюю плоскость кровати, и объект-подушки (рис. 11).
При желании можно сделать объект-отражатель более сложным — с имитацией характерных выступов спинки или ножек кровати или других индивидуальных особенностей. Важно, чтобы это было выполнено в пределах одной формы. В противном случае придется применять модификатор SimCloth ко всем отдельным объектам, а это сильно усложнит расчет динамики.
Теперь создайте в окне проекции Тор (Сверху) объект Plane (Плоскость) из набора стандартных примитивов с размерами 230 х 230 см и количеством сегментов по длине и ширине 20. Задавать слишком много сегментов на данном этапе не рекомендуется — вы сделаете это несколько позднее. Расположите объект-плоскость согласно рис. 12. Созданный объект и будет покрывалом.
Как вы видите, покрывало расположено несколько выше кровати и подушек, а по размеру несколько меньше плоскости пола. Важно, чтобы при просчете динамики покрывало не сползало с плоскости пола. В принципе внешние границы плоскости пола можно увеличить. Теперь пришло время расстелить покрывало на кровати. Поочередно примените плагин SimCloth3 к объекту-дефлектору, состоящему из построенной вами плоскости кровати, к подушкам и плоскости объекта-покрывала. Перейдите к настройкам плоскости-покрывала и в свитке General (Общие) установите переключатель Object type (Тип объекта) в положение Cloth (Ткань). Для объектов отражателей установите переключатель Object type (Тип объекта) в положение Deflector (Отражатель). Чтобы сделать просчет более точным, увеличьте время, отведенное на этот процесс, втрое. Для этого в области Simulation extent (Продолжительность симуляции) свитка Globals (Глобальные) увеличьте значение параметра End rame (Последний кадр) со 100 кадров до 300. Щелкните на кнопке Time Configuration (Конфигурация времени), которая находится в правом нижнем углу окна программы 3ds Мах 2009. В появившемся окне также задайте параметру End Time (Время окончания) значение 300 (рис. 13).

Рис. 11. Группы объектов-отражателей

Рис. 12. Расположение объекта-покрывала

Рис. 13. Изменение продолжительности анимации

Рис. 14. Просчет динамики ткани модуля SimCloth3

Не забудьте нажать кнопку Re-scale Time (Пересчитать время) и подтвердить произведенные изменения. Теперь время просчета динамики ткани будет длиться не 100 кадров, установленных по умолчанию, а 300, что позволит сделать сам просчет хоть и более длительным, зато более точным и интересным. Тем более что остановить просчет можно в любое время, когда результат вас устроит, не дожидаясь конца анимации.
Теперь можно нажимать кнопку начала просчета динамики START CALCULATION (Начать просчет), которая находится в свитке Globals (Глобальные), и наблюдать, как покрывало ложится на кровать, облегая складками подушки и углы (рис. 14).
Пока все выглядит достаточно неинтересно, и покрывало больше напоминает лист оцинкованного железа. Это связано с тем, что количество сегментов, которое мы выбрали для плоскости покрывала невелико, и объекту не хватает «мягкости». С помощью свойств модуля SimCloth3 можно компенсировать это, установив в свитке General (Общие) флажок Smooth result (Сгладить результат).
Плотность создаваемой сетки управляется параметром Iterations (Повторение). Кроме того, на свойства объекта-ткани влияют параметры областей Stretch forces (Степень растяжения) и Bend forces (Степень изгиба). Измените значения параметров плагина SimCloth, как показано на рис. 15.

Рис. 15. Значения параметров модуля SimCloth3

Опять нажмите кнопку начала просчета динамики START CALCULATION (Начало просчета), в результате чего анимация сцены будет просчитана заново. Теперь покрывало намного больше похоже на настоящее и лучше облегает складками подушки и края кровати (рис. 16).
Попробуйте поэкспериментировать с настройками модуля, так вы лучше поймете влияние разных параметров на свойства объектов и их взаимодействие. Обратите внимание на параметр Amount (Величина) в области Air drag (Плотность воздуха) — он отвечает за плотность воздуха, в котором трансформируется ткань, а также на параметры Stretch (Натяжение) и Stiffness (Жесткость). Изменяя значения этих параметров, вы можете задать ткани такие свойства, которые вам нужны.
Полученную форму обязательно отредактируйте с помощью инструмента Paint Deformation (Художественная деформация) полигонального моделирования (не забудьте преобразовать объект в Editable Poly (Редактируемая полигональная поверхность)).
Инструмент Relax (Расслабление) свитка Edit Geometry (Правка геометрии) позволит вам сделать складки более мягкими и живописными.

Рис. 16. Покрывало после изменения параметров просчета динамики

Уникальность модуля SimCloth3 заключается в том, что наблюдать за процессом деформации и воздействовать на него можно интерактивно — результат виден в окне проекции. Можно вращать объект и, передвигая вершины или грани объектов-отражателей, воздействовать на процесс непосредственно во время просчета. При этом складки можно буквально «лепить», как скульптор создает скульптуру из глины. Рассмотрим эти возможности подробнее и сделаем покрывало более интересным. Нажмите кнопку Clear cache (Очистить память) — это позволит обнулить в памяти все примененные к объектам действия. Поверните покрывало так, чтобы оно стало перпендикулярным плоскости кровати. Нажмите кнопку START CALCULATION (Начало просчета) и просчитайте анимацию примерно до 26-го кадра. Остановите просчет. Должна получиться форма, показанная на рис. 17.
Преобразуйте объект в Editable Poly (Редактируемая полигональная поверхность) и еще раз примените модификатор SimCloth3. Не забудьте проконтролировать, чтобы был установлен флажок Check for intersections (Предотвратить пересечение) — он предотвращает появление самопересечений полигонов ткани. Если при просчете динамики программа остановится и выдаст предупреждение об ограничении пересечений, увеличьте значение параметра Substeps (Дополнительные шаги) в свитке Globais (Глобальные). Расположите покрывало так, как показано на рис. 18.

Рис. 17. Покрывало, трансформированное вертикально

Рис. 18. Положение покрывала после вращения

Нажмите кнопку просчета динамики START CALCULATION (Начало просчета). Теперь покрывало стало значительно более живописным. Но проявился один недостаток — неудачный изгиб сетки на грани кровати. Это связано с тем, что встроенный в SimCloth механизм сглаживания (который активизируется установкой флажка Smooth Result (Сгладить результат)) разбивает четырехугольные грани сетки на треугольные только по одной диагонали и полученные ребра не всегда корректно совпадают с плоскостью изгиба.
Исправим этот недостаток. Вернитесь в стеке модификаторов к первоначальному положению покрывала в сцене (до применения инструмента SimCloth3), перейдите на уровень редактирования Border (Граница), выделите все грани и примените инструмент Tessellate (Разбиение) свитка Edit Geometry (Правка геометрии).
Повторите заново весь цикл просчета динамики. Теперь ткань более корректно облегает углы кровати и выпуклости подушек. Однако когда она достигает уровня пола, то складки загибаются внутрь и выглядят не очень эффектно. Попробуем исправить это следующим образом. Выделите вершины плоскости, образующей пол, и немного переместите их вниз по оси X. Это необходимо для того, чтобы ткань скользила по плоскости во время просчета и вы могли формировать складки интерактивно непосредственно в окне проекции. Когда результат вас устроит (примерно в середине просчета динамики), верните положение вершин плоскости в первоначальное положение.
После окончания просчета динамики преобразуйте полученную форму в Editable Poly (Редактируемая полигональная поверхность) и удалите больше не нужные объекты-отражатели. Выполните команду Unhide All (Отобразить все) контекстного меню, в результате чего отобразятся все ранее спрятанные объекты. Окончательно доработайте полученную ткань с помощью инструмента Paint Deformation (Художественная деформация), который находится в одноименном свитке настроек полигонального объекта. При желании можно придать ткани небольшую толщину, применив модификатор Shell (Оболочка). Теперь покрывало выглядит намного живописнее, чем после первой попытки просчета. Комбинируя приведенные приемы и меняя настройки, а главное, относясь к задаче творчески, можно создать хорошую коллекцию живописных, интересных драпировок.

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

Если что-то было непонятно, пишите.

Быстрых Вам и чистых рендеров!

(использованы материалы из книг Д.Рябцева и А.Шишанова)

 


 

Хотите узнать больше?
diski
«Моделирование интерьерного наполнения»
Интерьер без наполнения не интерьер. Так, стены... Понятно, что интерьер нужно наполнять всеми атрибутами этого самого интерьера. Двери, окна, принтусы, молдинги, карнизы, мебель, техника, ткани и т.д. и т.п. Создание всех этих объектов, от простых до самых сложных рассматривается в предлагаемом видеокурсе.

Кликните здесь, чтобы узнать подробнее

Один комментарий

  • Галина

    1 декабря 2013

    Если не изменить в параметрах твердого объекта Depth и Offset, ткань рвется.

    Ответить

Оставить комментарий