Создание занавесок
Для этого создадим источник света типа VRayLight. Параметры – как на рисунке. Установите галочку Invisible – для того, чтобы скрыть источник при рендеринге. Включенный параметр Store with irradiance map означает, что свет от этого источника будет сохранен в irradiance map (карте освещения) и дополнительного просчета теней не будет (часто ускоряет рендеринг J). Разместим источник как на скриншоте – ВНУТРИ, возле окна. Сделаем источник немного больше окна. Нажимаем F9 и ждем…
Результат! (Для оживления картинки я добавил в сцену Chamfer Box и назначил ему материал VRayMtl с небольшим отражением)
Следующие шаги будут зависеть от того, какую версию 3d Макса вы используете. Дело в том, что используемый в 6-м Максе Reactor 2 немного отличается от 1-й версси в 5-ом Максе. В частности, отличие заключается в способе применения модификатора Cloth и выделения вершин. Я приведу пример создания ткани в 6-м Максе. Если вы работаете в 4-м или 5-м Максе, то вам нужно выбирать вершины при помощи MeshSelect, а уже потом применять нужный модификатор – Cloth, AttachToRB и тд. Всё остальное выполняется так же, как и в 6–м Максе.
|
|
Для начала создадим Nurbs-плоскость для будущей шторы. Очень
важно, чтобы внешняя часть плоскости была направлена к источнику света для
получения нужного эффекта. |
Теперь объясню, зачем нам нужна Nurbs плоскость. Во-первых,
её просто создать. Во-вторых, она имеет встроенные UV-координаты. В третьих,
что самое важное, она позволяет управлять триангуляцией (разбиением на полигоны)
поверхности. Существует несколько способов триангуляции, нам же, для лучшей
симуляции ткани, нужна поверхность с нерегулярно расположенными полигонами.
Для этого перейдём в панель Modify и выберем свиток Surface Approximation.
Установите метод Spatial и значение Edge = 0.12. В Advanced Parameters установите
стиль Delaunay. Параметр Edge определяет длину ребер треугольников, на которые
подразделяется наша плоскость. Затем просто применяем модификатор rector
Cloth. Вот, что должно получиться.
|
|
|
|
Затем, выделяем Штору, переходим в панель Modify и переключаемся в режим Subobjects, выбрав Vertex. Нам нужно выбрать те вершины, за которые будет подвешена Штора. Выделим несколько нужных вершин и в свитке Constraints кликнем Fix Vertices.
Этим несложным действием мы зафиксировали вершины, а в маленьком окошке
появилась надпись Constraint to World (привязка к миру). После этого не
спешите снимать выделение с выбранных вершин, здесь есть маленький нюанс:
скриншоты сделаны сразу после фиксации вершин и видно, что выделены как
вершины, так и Constraint to World. Если сейчас снять выделения с вершин,
ткнув где-нибудь мышкой в окне, то привязка к миру останется, но она не
будет содержать ни одной точки, что в дальнейшем, при симуляции, приведет
к ошибкам. Вместо этого надо кликнуть в пустом поле окошка, в котором находится
Constraint to World, сняв выделение с Constraint to World. Выбранные вершины
станут желтыми. Все дело в том, что мы, выбрав привязку, переключаемся в
режим выбора точек, на которые воздействует эта привязка. Если снять выделение
с активной привязки, мы можем выбирать точки, для создания новой привязки.
Надеюсь, я все объяснил понятно… Еще кое-что - я обычно отключаю у объектов
режим отсечения невидимых граней (Backface Cull), т.к. это мешает при моделинге
– полигоны видны только с одной стороны. Для отключения этой опции нужно
в свойствах объекта (rightclick -> properties) скинуть флажок Backface Cull.
|
|
Осталось настроить свойства ткани для Шторы. Установим следующие
параметры:
Mass=0.5 kg;
Friction(трение)=0.5;
Relative Density(плотность относительно воды)=0.3;
Air Resistance(сопротивление воздуха)=0.1.
Force Model -> Simple Force Model:
Stiffness(жесткость ткани)=0.03;
Damping(затухание колебаний)=0.3.
Если Stiffness=1, то ткань изгибаться не будет. Это может оказаться
полезным при создании листов металла и т.д. В поле Fold Stiffness(жесткость
на изгиб) -> None. Это ускорит процесс расчета. Обязательно установим
Avoid Self-Intersections - для того, чтобы ткань не пересекалась
сама с собой. Остальные параметры оставим без изменений.
|
|
Несмотря на то, что мы применили модификатор Cloth, Reactor
еще не знает, что нужно просчитывать динамику ткани – нам необходимо добавить
в сцену Cloth Collection. А для симуляции твердых тел надо добавить RBCollection.
Для этого в панели инструментов перейдем к меню Helpers/Reactor. Кликнем
мышкой на RBCollection (Rigid Body Collection), затем кликнем мышкой в любой
точке вьюпорта за пределами комнаты. Мы увидим значок RBCollection. Выделим
его и перейдем в панель Modify. В свитке RBCollection properties нажмем
Add, чтобы добавить объекты. В появившемся окне выберем «Стены» (и пол,
если вы его сделали отдельно и др. твердые тела). Нажмем Select.
Точно так же создадим Cloth Collection и добавим туда Штору.
|
| Наш следующий шаг – настройка параметров Reactor’а. Давайте приступим к делу!
Перейдем к закладке Tools на панели инструментов. Если у вас нет копки reactor, то вам придется её сделать. Для этого нажмите на выделенную на рисунке кнопку. Появится окно Configure Button Sets. Увеличим значение Total Buttons на 1. В списке кнопок добавилась новая вакансия! Затем просто перетащите из списка Utilites утилиту reactor на пустующую кнопку. Нажмите ОК.
|
|
Двигаемся дальше. Сама утилита Reactor содержит несколько
свитков. Мы поменяем некоторые параметры и запустим просчет динамики.
В свитке World устанавливаем значение и направление силы тяжести. Пусть
в нашем случае она действует вертикально и равна силе тяжести Земли. g =
-9.81 м/с/c. Установим это значение. Знак "-" показывает на то, что сила
тяжести направлена вниз.
В свитке Preview&Animation установим те же параметры, что и на рисунке. Анимация будет длится 101 кадр. Параметр substeps/key = 12 по умолчанию равен 10, он отвечает за точность просчета динамики. Но во время симуляции у меня возникали глюки с тканью – я увеличил значение substeps/key до 12 и глюки кончились.
Теперь выделим «Стены» и перейдем в свиток Properties. В поле Simulation Geometry необходимо установить Concave->Use Mesh, т.к. «Стены» невыпуклый (Convex) объект. Если через любую точку объекта провести плоскость и все точки лежат по одну сторону от этой плоскости или на ней, то объект – выпуклый, иначе – вогнутый. Выпуклые - шар и кубик, а невыпуклые (впуклые J) – бублик и стакан. Если у вас вогнутый объект, а в параметрах он указан как выпуклый, то симуляция пройдет с ошибками.
Установите Col. Tolerance = 0.03 m, а World Scale = 1 m in MAX. Collision
Tolerance определяет точность просчета столкновений объектов, это расстояние
на котором объекты взаимодействуют друг с другом. World Scale отвечает за
масштабирование объектов при расчете динамики. Так как наши объекты сделаны
в реальном масштабе, то здесь мы установили 1. |
Страницы: << 1 2 3 >>
Если
Вы написали свой урок или перевели иностранный, мы с удовольствием
вывесим его на сайте.
|