Разрушение предметов при помощи 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

168 0 850 24
26
2007-02-01
Pro Cutter позволяет разобрать объект сразу на куски, Auto Extract Mesh+Explode By Elements. Правда, как-то не всегда работает :(
2007-02-01
Я про это уже говорил, в уроке так что, ручками надо работать, то-есть надёжнее детач.
2007-02-02
русский макс уже зло а урок слабый
2007-02-02
извини но другого макса нет достался уже обруссевший. а настчёт урока незнаю не мне судить
2007-02-02
Конструктивная критика :) 1. Не мог понять, почему так настоятельно рекомендуется меш, поскольку с поли тоже все прекрасно получается. Потом понял - у крынки не удален сегмент на оси вращения, поэтому заделать дырку в поли велдом не получится. Если его удалить, то все путем. 2. Странные настройки у реактора (гравитация и т.д.) Если бы изначально все было сделано в реальных рамерах, то так мудрить не пришлось бы. И в рилфлоу тоже не пришлось бы скорее всего вводить масштабы. 3. Очень мало пояснений. Например, про ту же "опору" - зачем ее сдвигать? Стоило бы объяснить, что лейт вращает вокруг пайвота. и т.д. В результате урок расчитан не очень понятно на кого - если на начинающих, то слишком поверхностно, если на средний уровень - то они и так это все знают. з.ы. Дабы не возникло реакции - "если такой умный, то сам и пиши", то вот http://www.ozon.ru/context/detail/id/2575353/ и http://www.ozon.ru/context/detail/id/2636928/ :)
2007-02-02
2BorisK Ладно уж, чего Вы на парня напали?:) По-моему, молодец - 17 лет , а уже уроки пишет
2007-02-02
2 Unreal girl Ну знаешь мне тоже 17, только я максом 5 лет занимаюсь и мнего чем другим. Мне может и есть о чем написать урок, но я считаю что рано, 5 лет - не для уроков, а тут 3. Молодец конечно довел знания до "потребителя", но я думаю если каждый с такой базой знаний макса будет писать урок, то просто мусорка получиться.
2007-02-02
Не нападал я ни на кого :) Желание поделиться знаниями - это очень похвально. Но при этом надо самому все ясно и четко осознавать свои действия и передавать другим, чтобы это не было бездумное тыканье кнопок. Например, если крынку сделать в 10-20 раз меньше (а это очень просто, если работать не в дефолтных дюймах, а в миллиметрах, например), то есть вероятность, что реактору башню снесет, так как известно, что он нормально работает с объектами от 0.1 до 10 _реакторовских_ метров, при выходе за эти пределы его начинает плющить и колбасить не по децки.
2007-02-02
Для новичков... ППц чё за клёвый урок!!! Использование нескольких прог ЭТ КРУТЬ!!!)))
2007-02-03
1. BorisK спасибо за критику, учту. 2. Почему иммено месш? потому что лично у меня с поли нечего не получилось, модель постояно глючило. 3. Здесь даже спорить не буду, в чём прав, в том прав, пояснений дествительно мало(извените). но я "вырасту", а конструктивной критики я не боюсь, и даже увожаю.
2007-02-04
Не понятно почему в названии и в вступлении урока говориться о применении ProBoolean а применяеться ProCutter?
2007-02-05
xtrem, ProBoolen`ам называется пакет, в который входит ProCutter.
2007-02-10
спвсибо... неплохо
2007-02-11
Напиши размеры своего кувшина, а то у меня реактор с ума сходит от моего кувишна... незнаю, то ли его увеличивать надо, то ли уменьшать
2007-02-12
А макс какойто полурусский Сам чтоли русил?
2007-02-12
xen32 попробуй изменить Col. Tolerance на 0.6
2007-02-12
LEX_milliON - вот-вот... Если все делать в сантиметрах, то и 1m=100cm, и ускорение своб. падения z = -980, и кол. толеранс минимальный известен - 0.5 cm, и крынка высотой 30-40 см прекрасно разобъется, а если нет, то сабстепов просто нужно увеличить. Ничего этого в уроке нет. А должно быть...
2007-02-14
перестаньте... какой бы урок нибыл... сильный, слабый, а парень молодец что постарался для нас. для тех кто не знает Pro cutter, reactor и т.п. так что выпендриваться что ВЫ ТАКИЕ ВСЕ ЗДЕСЬ КРУТЫЕ.. низко.
2007-02-16
Пробовал резать кувшин даным способом. Получаются в основном кольца почемуто.
2007-02-22
StratoSfera2007, благодарю за поддержку Antim 3D, сплайны должны быть кривыми, и слегка повёрнуты.
2007-03-22
Урок средний.
2007-03-24
StratoSfera2007 Respect. Нужно поддерживать друг друга!:)
2007-04-07
Unreal girl Sergemaxy Гриня StratoSfera2007 Envoy БОЛЬШОЕ СПОСИБО ЗА ПОДДЕРЖКУ. P.S. следующий урок будет лучше, но подскажите, на что надо подножать чтобы донести до всех что я хочу сказать?
2008-02-21
Отличный урок, спасибо!! Я давно не начинающий, но как красиво и быстро разбить кирпич не знал. Урок очень помог))
2008-05-25
Просто АцКи сделано, уважуха тебе!
2008-08-15
Почему-то после применения ProCutter плоскость, которая разрезает фигуру вращения, не исчезает, как показано у автора, а как бы сливается с самой фигурой, и видна при рендеринге. Подскажите, пожалуйста, как избавиться от этой плоскости.
RENDER.RU