Этот небольшой урок поможет вам быстро, качественно и реалистично разбить стекло, бетонный пол, асфальт и другие подобные объекты.
В конце статьи есть видеоурок, который научит вас создавать интерактивные следы от тяжелого объекта, который тащат по земле или след от подземного гигантского червя, который ползет под землей.
В этом уроке используется бесплатный скрипт Cocktail Greeble. Скачайте его перед началом работы.
-
Создаем цилиндр. Настраиваем Сap Segments и Sides так, чтобы было достаточно детально. Количество сторон должно делиться на 4, все другие настройки на ваше усмотрение.
Настройки в моем примере:
Radius: 50 (ориентировочный размер будущего объекта, который нужно разбить)
Height: 30 (не имеет значения)
Height Segments: 1
Cap Segments: 5 (влияет на детализацию)
Sides: 16 (влияет на детализацию) -
Конвертируем цилиндр в Editable Poly и удаляем все полигоны кроме верхней части. Смотрите картинку 1:
-
Этот шаг необязателен, но если вам нужен квадратный результат, то нужно проделать. На виде сверху (относительно ориентации вашего объекта) нужно выделить верхние ребра на периметре и нижние и сделать их параллельными (кнопки Make Planar, X, Y, Z). Аналогично поступить с правыми и левыми ребрами на периметре. Смотрите картинку 2:
-
Если вы создаете разбиваемое стекло или что-то бьющееся на осколки, то нужно добавить побольше деталей в месте, куда придется удар. Поэтому нужно детализировать (Tessellate) центр нашего объекта. В моем примере, я убрал каждое второе ребро в центре, чтобы избавиться от треугольников. После этого выбрал полигоны вокруг центра и нажал кнопку Tessellate. Далее я расширил (кнопка Grow) выделение дважды и еще раз нажал Tessellate. В конце я еще нажал кнопку Relax, чтобы разровнять топологию. Смотрите картинку 3:
-
Сейчас нужно запустить скрипт Cocktail Greeble (меню MAXScript --> Run Script...). Нажимайте кнопку Pick cocktail glass и выделяйте наш бывший цилиндр. Вы должны увидеть, что кнопка изменила название на имя нашего объекта, а кнопки, которые раньше были недоступны сейчас стали активны. Перейдите в режим Polygon и выделите все полигоны, кроме граничащих с краем объекта. Картинка 4:
-
Следующим шагом будет перетасовка (Shuffle) топологии, чтобы полигоны стали похожи на осколки. У скрипта есть две настройки на этот счет в разделе Geometry modification (изменение геометрии). Последняя настройка No n-gon! – это просто модификация первой. Вы можете выбрать нажимать вам Shfl. connect или Shfl. relax. Отличаются они тем, что Shfl. relax после модификации топологии делает еще и разглаживание (Relax) на основании параметров справа от кнопки. Лично я, предпочитаю сначала перетасовать геометрию, а уже потом, с помощью стандартной максовской кнопки Relax, расслаблять поверхность. Так и сделаем, рисунок 5:
- Если вы нажали кнопку Shfl. connect, то теперь нужно еще нажать Relax. Я использовал такие настройки: Amount: 1, Iterations: 100. Результат на картинке 5. Поэкспериментируйте с кнопкой Shfl. connect и разными выделениями, чтобы получить интересный хаотический рисунок. Но помните, что если вы создадите слишком много осколков, то их будет труднее просчитать при ударе.
-
После того как вы определились с топологией разломов, пора приступить к интересным штучкам. Выделяем все вершинки и жмем кнопку Breake (внутри Editable Poly). Теперь все полигоны являются отдельными элементами. Т.е. можно двигать любой полигон без влияния на соседние. На картинке 6 показана разница в использовании обычного примитива Plane (плоскость) и цилиндра.
- Что делать дальше – это уже от вашего желания зависит. Вот некоторые примеры:
-
Если хотите разбить окно – добавляем модификатор Shell (картинка 7) и загоняем в ваш любимый физический симулятор: BOX#2, reactor of physX или что там еще.
-
Если нужен расколотый бетонный пол от удара, то запускаем скрипт еще раз и жмем кнопку Ex. by size (выдавить в зависимости от размера осколка). Смотрим рисунок 8:
- Можно добавить модификатор TurboSmooth, чтобы получить круглые камни.
- Можете проделать вот этот видеоурок по созданию интерактивных проваливающихся следов, но вместо скрипта Fracture Voronoi использовать Cocktail Greeble. Также для этого видеоурока вам понадобится бесплатный скрипт Attach or Move to surface by Local Z, который позволяет присоединить или двигать объект по поверхности, используя локальную ось Z.
Смотрите также видеоверсию этого текстового урока, где показаны еще некоторые применения скрипта Cocktail Greeble:
P.S. Это мой авторский перевод урока Quick shatter tutorial.