Разрушение предметов при помощи 3DS MAX и ProBoolean

Меня зовут Алексей Милицин, я из Иркутска, мне 17 лет, занимаюсь графикой уже 3 года. Владею такими программами как, 3D Studio MAX, PhotoShop, Premiere PRO, и др.
Я хочу рассказать, как можно сломать (разрезать) предмет с помощью 3DS MAX. Эта техника очень экономична, в смысле занимает очень мало времени, и технических затрат.
В уроке будут задействованы: 3D Studio MAX 8.0, RealFlow 4, ProBoolean (подробную информацию о “RroBoolean” можно найти на сайте www.AutoDesk.com)
По задумке это должно выглядеть как крынка (или амфора кому как удобнее) наполненная молоком, которая упадёт на пол, разобьется вдребезги, и из неё выльется всё молоко на пол.
Итак, начнём с создания с помощью инструмента Line, сплайнового профиля для крынки. Нарисуйте сплайн с несколькими вершинами, создав приблизительный профиль крынки.
Перейдите на вкладку Modify командной панели, переключитесь в режим редактирования вершин (Vertex) и подкорректируйте положение каждой из вершин. Для изменения формы сплайна вы можете использовать операции перемещения, вращения и масштабирования. При необходимости измените тип излома в каждой точке кривой. Для этого выделите необходимые вершины, щелкните правой кнопкой мыши в окне проекции и выберите характер излома в контекстном меню: Linear, Bezier, Smooth или Bezier Corner.
Перед тем как применить модификатор, нужно поменять опору следующим
образом как показано на рисунке ниже.
После чего применяем модификатор Lethe
Теперь самое интересное, конвертируем editable mesh, это очень важно именно editable mesh, потому что если использовать полигоны, то ни чего не получится.
Если остались недоработки то надо «довести до ума», то есть подкорректировать положение некоторых вершин. Используйте инструмент Weld Selected для «сшивания вершин»
до сшивания:
после сшивания:
Перейдите в окно проекции Front и нарисуйте несколько сплайнов Line, так, чтобы они пересекали модель. С помощью этих кривых мы создадим поверхности, которыми и разрежем крынку.
Потом идём в окно проекции left, и делаем то же самое. Теперь выделяем все сплайны, которыми мы «разрезали модель», и применяем модификатор Extrude, не забывая контролировать значение Amount, чтобы поверхности пересекали модели. Выровняйте положение созданных поверхностей так, чтобы амфора была в центре, данного “построения”.
По желанию, для удобства можно применить к плоскостям материал с включенным флажком 2-Sided, чтобы было видно все плоскости. В результате получается следующее:
Теперь, не снимая выделения, конвертируем в Editable Mesh. Выделяем одну плоскость и нажимаем Attach List, выделяем все плоскости, нажимаем attach.
Теперь, все плоскости стали одной моделью, и можно начать самое интересное. Идите во вкладку Create командной панели, выберите в категории Geometry строку Compound Objects и там есть кнопка ProCutter, нажав на которую отроется вкладка, установим флажки напротив опций Stock Outside Cutter и Stock Inside Cutter в свитке Cutter Parameters, выглядит это так:
Теперь нажимаем кнопку Pick Stock Objects, и выделяем крынку. Если всё правильно, то получится это:
Теперь, надо конвертировать модель в Editable Mesh, и разделить на «куски», это делается так, выделяем какой-нибудь элемент и нажимаем Detach, даём имя, нажимаем OK, и так пока все элементы не отделятся, (в некоторых случаях можно воспользоваться кнопкой Explode, но в данном случае это не подойдёт). Проверяем, что все куски отдельно, и идём дальше.
Сей час надо создать куб, под крынкой куб должен быть широкий и низкий, он будет участвовать в качестве пола, о который будет разбиваться крынка, теперь нажимаем RBCollection, нажимаем Add, из списка выбираем все предметы, которые будут участвовать в сцене.
Выглядеть это будет так:
Теперь, выделяем все кусочки крынки, идём во вкладку утилиты, и нажимаем на кнопку reactor, открываем свиток.
World:
Ставим gravity Z= -250
World scale:
1m. = 1.0
Col. Tolerance = 0.430
Открываем свиток properties:
Physical properties ставим такие настройки:
Mass = 1,0 kg
Elasticity = 1,0
Fraction = 1,0
Но, настройки можно корректировать, поскольку это зависит от масштаба и других факторов.
Ещё, можно чуть-чуть повернуть нашу модель, чтобы она разлеталась более реалистично
И в конце создаем анимацию. Проверяем, всё работает правильно. Ставим на прорисовку, убеждаемся что всё красиво, и идём дальше.
Если у вас есть RealFlow, то надо импортировать нашу анимацию в формат *.sd, для этого, надо пойти во вкладку утилиты, и запустить SceneData Saver, как всё делается, вы наверное знаете, по этому, сохраняем файл, и переходим к работе с RealFlow.
Запускаем RealFlow, импортируем нашу анимацию, сделать это не трудно, щёлкаем правой кнопкой мыши в одном из окон, в появившемся меню нажимаем: Add > Objects > Import (или сочетание клавиш Ctrl+i), выбираем нашу анимацию (возможные проблемы-при открытии: иногда когда имя или путь к файлу содержат латинские буквы, то файл не открывается тогда надо просто проверить, и если надо поменять имя или расположение файла).
Но постольку, поскольку модель была сделана с помощью макса, то надо изменить масштаб или (scale). Я ставлю scale равное 0.100. Как показывает практика это оптимальный масштаб, потому что получаются не очень большие «объёмы работ», под этим термином я подразумеваю то, сколько воды надо налить в крынку, ведь чем больше наливаешь жидкости, тем больше времени, это занимает.
Начнём, сей час, надо создать эмиттер. Я создаю Emitters > Circle, потому что, но оптимально подходит по форме.
Настройки у эмиттера, выбирайте по своему вкусу, что до меня то я поставил следующие:
Resolution = 0.8
Max particle = 11000
После чего, надо “уложить” эмиттер внутри крынки, и блокировать анимацию, для того чтобы с начала вода налилась, а потом упала вмести с крынкой. Блокируется анимация так:
После чего, надо создать гравитацию (Gravity), создаётся она почти также как эмиттер, только надо его искать в Add > Daemons > Gravity. В настройках нечего менять не надо (менять мы будем настройки во время симуляции).
Ещё, чуть не забыл, надо создать Surface Tension это, для того чтобы вода не превращалась в шарики, а была лужицей, для этого надо пойти в настройки только что созданного нами Surface Tension, и во вкладке Balance поставить значение ON.
И завершение построения, надо сделать плоскость. Делается это так, отматываем на кадр которым завершается анимация, и подгоняется так чтобы, казалось что крынка бьется об неё, после чего можно настроить саму плоскость, а настройки надо выставить такие:
Particle Interaction
Collision Distance = 0.02
Distance Tolerance = 0.25
Fraction = 0.01
И нажимаем Simulate, теперь ждём, пока не нальётся полвина крынки, если вы не ставили Max particle, то надо остановить симуляцию, и поставить выше упомянутое значение в 0.
Но надо дождаться пока жидкость не успокоится. Но, перед тем как снимать блок надо открыть меню Export Central (F12), и снять там все флажки, кроме *.bin анимации.
Выглядит это так:
Теперь, надо поставить на симуляцию. Лично у меня, это заняло около 3 часов. Что относительно гравитации, её надо контролировать во время симуляции, то есть менять её силу это, надо для того чтобы жидкость двигалась вместе с сосудом. Но, если всё сделано правильно, то это не понадобится. Самое главное, чтобы значение strength, во время столкновения с поверхностью, было равно 9.8.
Ну, а когда вы дойдёте до завершения анимации, и всё будет правильно, значит самое трудное позади.
Теперь, можно очистить сцену, поскольку работу свою она сделала. После чего, надо создать Binary Loader, в который надо загрузить нашу *.bin анимацию. Проверить, что всё работает правильно, после чего надо создать mesh делается это кнопочкой на верхней панели:
Настройки надо определять опытным путём, поскольку это зависит от многих факторов таких как масштаб и то, какой вы задумали конечный результат.
Когда вы закончите с настройками, нажимаем на кнопку build и ждём, когда построение закончится, проверяем что всё работает правильно, то есть можно отмотать ползунок времени, поставить на Play и посмотреть.
После чего надо запустить Макс, открыть наш файл, где крынка бьётся об пол и в тот же файл импортировать нашу *.bin анимацию, если всё правильно, то жидкость будет прямо внутри крынки, и ничего подгонять не надо.
Теперь можно построить сцену, то есть создать пару источников света и применить материалы, которые будут имитировать молоко и глину, и можно поставить на RENDER.
Вот и всё, а в завершение хочу сказать, что этим же методом, можно создавать очень интересные эффекты.
Здесь готовое видео (krunka.zip).
Будут вопросы, обращайтесь: lex_milicin@bk.ru