Имитация ткани в 3D Studio Max
У каждого начинающего моделера или визуальщика вставал вопрос, а как нарисовать, допустим, реалистичную скатерть на столик в ресторане или как заправить красивым одеялом кровать, что бы было неотличимо от реальности? Для этого можно воспользоваться стандартными свойствами 3D Studio Max под названием REACTOR. REACTOR-это некий внутренний пакет, позволяющий имитировать различные физические среды, будь это жидкость в стакане, дым из трубы или как у нас, реалистичная скатерть на столике. Начнём, для начало естественно запускаем 3D Studio Max и рисуем наш столик. Особо углубляться в его моделинг не будем и создадим просто CYLINDER, который будет имитировать столешницу, так же для имитации ножек можно поставить ещё четыре цилиндра меньшего диаметра. Далее, создаём нашу будущую скатерть, для этого мы возьмём обычный PLANE, из тех же стандартных примитивов и растянем его примерно над нашим столиком. Для более реалистичной сетки ткани, не квадратной, а многогранной, можно использовать NURBS плоскость, а в её настройках поставить метод деления сетки SPATIAL, а в ADVANCED PARAMETERS поставит галку на DELAUNAY.Начальная сцена готова! Теперь обращаемся непосредственно к Реактору. Принцип действия таков, мы создали объекты для сцены, а теперь нужно задать этим объектам некую схему поведения, ведь на данный момент это только для нас цилиндр это столик, а плоскость это скатерть. Для программы это просто несколько полигональных объектов в трёхмерном пространстве. Наша задача сообщить программе где что. Так вот, выбираем наш цилиндр и заходим во вкладку REACTOR->CREATE OBJECT->RIGID BODY COLLECTION. Теперь мы показали программе, цилиндр это твёрдое тело. Тоже самое можно сделать и с ножками столика, хотя в просчёте анимации они вряд ли будут участвовать. Смотрим далее, теперь нам нужно обозначить нашу скатерть. Для этого выделим наш PLANE и в его свойствах дадим количество граней на каждую сторону где то штук по тридцать. Можно и больше, но это затруднит просчёт. Затем заходим в свиток модификаторов (MODIFY) и выбираем там REACTOR CLOTH. Далее заходим во вкладку REACTOR->CREATE OBJECT и выбираем CLOTH COLLECTION. Затем выбираем окно проекции TOP и кликаем в любое пустое место. На этом месте должен появиться значок маечки. Кликаем на него и в свойствах модификатора, во вкладке PROPERTIES жмём на кнопку ADD, там выбираем нашу плоскость и жмём PICK. Всё, таким образом мы сказали что цилиндр это столик, а плоскость это ткань. Далее, небольшой нюанс, если сейчас посмотреть на анимацию ткани, то мы заметим, что при падении ткань проходит сама сквозь себя, что бы этого избежать необходимо поставить галочку в настройках плоскости на против AVOID SELF-INTERSECTIONS. Что бы убедиться что всё сделано правильно можно зайти во вкладку REACTOR и выбрать там PREVIEW ANIMATION. Появится окно и если вы нажмёте кнопку P, то увидите просчёт анимации в реальном времени. А что же нужно сделать, что бы эту анимацию зафиксировать? Нужно зайти во вкладку REACTOR командной панели и нажать соответствующую кнопку REACTOR, в появившимся свитке PREVIEW AND ANIMATIONS поставить значение END FRAME кадров на триста и собственно можно приступить к расчёту, нажав кнопку CREATE ANIMATIONS. Через минуту другую у вас будет полностью управляемая анимация падения скатерти на столик. Вам остаётся только выбрать наиболее удачный момент соприкосновения двух объектов и реалистичная скатерть готова. Конечно, для более лучшего результата нужно ещё покопаться в настройках как Реактора, так и ткани, но в этой статье мы рассмотрели только принцип действия.

