Привет.
На прошлом уроке мы познакомились с возможностями одного из встроенных аддонов Blender, который называется Cell Fracture. Он позволяет разбивать ваш объект на настраиваемое количество осколков, которые затем с помощью установок во вкладке Physics можно заставить взаимодействовать с другими моделями и разрушаться в соответствии с законами реального мира. Процесс увлекательный сам по себе, но также еще и существенно облегчает задачу по размещению кусков разрушенных объектов, поскольку позволяет разместить их так, как они в самом деле бы упали в случае разрушения. Ну или близко к этому. На момент написания данного материала текст еще не опубликован, но в конце данного урока на него уже будет ссылка. Остальные уроки можно изучить, проследовав в мой профиль автора на Mobile-Review.com. Все уроки содержат одинаковые превью с номерами. Не потеряетесь.
Заданием на дом было взять объект древнего мира, чтобы можно было его поразрушать. Контекст задания формирует воспоминание о кинематографическом сценарии использования программ для трехмерного моделирования. В частности, фильм «Довод» Кристофера Нолана, где в одной из сцен можно наблюдать разрушение объектов в обратной хронологии. В принципе можно было бы смоделировать и здание заброшки. Достаточно не утруждать себя изначальной законченностью строения. Допустим, если от него отказались на стадии возведения. Это было бы просто. Но давайте сделаем что-нибудь в духе нового фильма Нолана «Одиссея». Например, как-то вот так:

Ничего, с чем бы вы не были знакомы, здесь нет. Песчаная поверхность — это просто плоскость с натянутым на нее бесплатным материалом из аддона Blender Kit. Колонны — это объекты из того же аддона. Ну а плита сверху — это просто растянутый вдоль пары осей координат куб (также с материалом из Blender Kit). В общем, типовые вещи. А теперь давайте посмотрим, что может эта небольшая сценка:
Не спецэффекты уровня Нолана, но все же забавно. Разумеется, говорить о серьезном использовании подобной анимации с готовыми фактически стоковыми моделями и крайне поверхностной работой с материалом не приходится. Это всего лишь баловство. Но для создания более-менее реалистичного готового положения разрушенных осколков вполне годная тема. Осколки мы получаем с помощью встроенного в Blender аддона Cell Fracture. Мы в достаточной степени рассмотрели его работу на прошлом уроке. Вам оставалось только немного поковыряться в параметрах, чтобы понять, что было бы интереснее регулировать лично вам. Мои предпочтения я обозначал вот на этой картинке:

Сетка мешей и геометрия, конечно, получаются отвратительные, но вспоминайте детали, которые в обязательном порядке нужно добавлять, чтобы внимание зрителя не концентрировалось на чем-то одном. Какие проблемы могли возникнуть в процессе создания подобной сценки? Лично у меня после дробления всех колонн и назначения физики запуск анимации резко разбрасывал колонны в разные стороны. После же того, как я упростил песчаную поверхность и исключил пропорциональное редактирование, они разлетаться перестали. А еще я на поверхность песка назначил форму столкновения объекта в симуляции физики Mesh вместо Convex Hull.

Стало лучше. А то поначалу нижние куски колонн «отпрыгивали» от песка, и выглядело это не очень. В этот раз я решил не назначать форму столкновения в симуляции каждому кусочку, поскольку цель — не анимация, а сам финальный бардак, который мы получили с помощью умных алгоритмов, явно превосходящих наше воображение в генерации случайностей. Ну, мое воображение, по крайней мере, уж точно. А теперь давайте рассмотрим один весьма раздражающий момент. По крайней мере, я сильно негодовал, когда искал решение. Дело в том, что сегодня искусственный интеллект в поисковиках (здесь нужно отдать ему должное) отлично справляется с пониманием весьма специфических запросов и успешно находит ответы на вопросы о том, как решить ту или иную проблему. Когда же я начинал практиковаться в Blender, то большинство вопросов были настолько примитивными, что знающие люди попросту не обращали на тебя внимания. Помню, как-то приходилось постоянно заходить на форум с веткой вопросов обо всем подряд, чтобы отследить, ответили ли мне с моей нубской глупостью. Из тех нескольких раз я быстрее находил ответ самостоятельно где-то на иностранном сайте или же приходил к решению методом проб и ошибок без чьей-либо помощи. Как сейчас помню, мне нужно было сначала увеличить количество кадров анимации (сегодня это делается прямо в окне Timeline), а затем зафиксировать положение всех объектов, чтобы можно было с ними работать как с мешами. Если помните, то на «Уроке №46», где мы делали мусорные мешки из цилиндрической капсулы, набора угловатых предметов и сужающегося тора, у нас было написано следующее:
«Теперь нам нужно выделить мешок, перейти во вкладку с модификаторами и применить их. После этого анимация замрет на том кадре, на котором вы ее остановили».
Однако здесь подобный номер не пройдет. Во-первых, потому, что у вас среди модификаторов будет только Collision, который после применения не остановит анимацию. А, во-вторых, решение включает два шага. Сначала вам необходимо выбрать нужный кадр. Да-да, дожидаться самого последнего не стоит. Иногда может потребоваться остановить анимацию за секунду до какого-нибудь события. Условно говоря, если вы делаете падающий потолок, под которым стоит человек с гримасой ужаса. Тут уж все ограничено исключительно воображением художника. Так вот. Вы останавливаете анимацию на нужном кадре. Затем выделяете все объекты. Сделайте это клавишей с английской буквой A, находясь в объектном режиме, чтобы никакой из объектов не пропустить. Далее вам необходимо проследовать по следующему пути: Object → Rigid Body → Bake to Keyframes. В появившемся окне укажите интервал кадров. Для наших целей это будет один и тот же кадр (его номер нужно вписать и в окошко Start, и в окошко End). А в самую последнюю очередь вам нужно еще и удалить физику. Это делается следующим образом: Object → Rigid Body → Remove. Все. Анимация замерла, и вы можете работать с объектами без переживания за то, что они куда-нибудь сдвинутся от случайного действия.
А пока предлагаю полюбоваться на один косяк, который достался мне вследствие слишком поспешной работы.

Если обратите внимание на последние кадры видео, которое я записал во время анимации падения плиты и разрушения колонн, то вы заметите, что по меньшей мере один из оставшихся камней слишком уж смело нависает над освободившимся под ним пространством. Я, недолго думая, решил применить к нему инструмент Cell Fracture и указал количество осколков, равное двум. Мне нужно было, чтобы над колоннами остался какой-то кусок. И, как видно, результат получился более-менее реалистичный. Осколок вроде как застрял на оставшихся колоннах. Форма ему это, в принципе, позволяет. Но что произошло с текстурой? Она растянулась в какую-то кашу. И исправить это можно, только удалив материал со всех «испортившихся» осколков и заново его добавив из аддона Blender Kit. Ни редактирование размера развертки в окне UV Editor, ни перенастройка параметров в Shader Editor не даст результата. В первом случае вам если и удастся добиться относительного совпадения картинки на основной грани, то торцевые останутся растянутыми. Вам придется редактировать их отдельно, а это куда дольше, нежели удалить материал и добавить его заново. Сложность в этом случае будет только с тем, чтобы найти его. Иногда это бывает проблематично. Поэтому настоятельно рекомендую делать закладки на понравившиеся ткани и модели. Гораздо проще добавлять уже проверенные и отработанные. Второй же способ вам также не подходит, поскольку материал остался тем же, что и на остальных осколках с нормальным его изображением. А следовательно, изменив его для ваших косячных осколков, вы получите изменение и для всех остальных кусков. В общем, совпадения добиться не получится. Из этой ситуации вытекает совет: либо продумывайте количество осколков сильно заранее, чтобы потом не приходилось редактировать косячные, либо же назначайте материал уже после того, как довели сцену до желаемого взаимного расположения объектов.

Можете попробовать повторить получившуюся у меня картинку. Много времени занять не должна.
Увлекательного моделирования!