Жесть: создание пробоины в металлической поверхности
Жесть: создание пробоины в металлической поверхности.
Доброго времени суток! Позвольте представиться: меня зовут Станислав. Я студент, живу в славном городе Самара. В свободное от учебы время люблю рисовать в 3ds Max.
Хотелось бы поделиться с общественностью одним интересным (надеюсь для всех) методом создания пробоины в металлической поверхности. Сразу оговорюсь, что данный способ вряд ли пригоден для анимации. Урок рассчитан на пользователей, которые более или менее знакомы с основами 3ds Max. Для его выполнения понадобится версия 3ds Max 6 или выше, примерно 25 минут свободного времени, ну и немного Вашей фантазии. В итоге после всех «мучений» должно получиться примерно так:
1. Создание каркаса.Открываем 3ds Max и сначала настраиваем параметры единиц измерений (т.к. в дальнейшем придется использовать модуль Reactor, то с ними лучше сразу же определиться). Для этого в главном меню выбираем Customize --> Units Setup. В появившемся окне ставим переключатель на Metric (метрическая), а в раскрывающемся списке выбираем Meters.
Начнем с создания модели будущей пробоины. Во-первых, нам понадобится поверхность, в которой и появится отверстие. Это может
быть что угодно по Вашему желанию: стена, банка, авто, и т.п.. Для простоты примера возьмем обыкновенный стандартный примитив Plane (плоскость) и разместим его как на рисунке ниже (для этого необходимо создать его в проекции Top):
Применяем к плоскости модификатор Edit Poly и на уровне Vertex (вершина) с помощью команды Cut создаем отверстие. Сначала «вырезаем» внешний радиус (может быть произвольной формы, но логичней, наверное, использовать окружность):
Затем выделяем лишние вершины (на рисунке помечены стрелками) и удаляем их при помощи команды Remove (вообще можно пропустить эту операцию, однако лучше взять себе за правило: всегда иметь аккуратную и правильную сетку без лишних вершин, ребер и т.п. недоразумений):
После этого выделяем получившийся полигон и применяем к нему команду Inset. С помощью нее создаем внутренний радиус будущей пробоины:
Значение параметра Inset Amount задаем произвольно (нужно лишь учитывать, что новый полигон внутри будет соответствовать диаметру будущего сквозного отверстия):
В итоге должно получиться следующее:
Ну что же: медленно, но верно мы движемся к намеченной цели!
Теперь, с Вашего позволения, позвольте преступить к самой творческой части урока: созданию зазубрин (долго думал над тем, как-бы их обозвать, но ничего более подходящего не обнаружил).
Выделяем плоскость и на уровне Vertex (вершина) с помощью команды Cut создаем «клочки» или зазубрины будущей пробоины во внутренней окружности. Края их должны совпадать с вершинами внутреннего радиуса пробоины, а в центре все зазубрины должны сходиться в общей вершине. Выглядеть это должно примерно так:
Надеюсь, что у Вас должно получиться лучше и красивей.
Затем выделяем общую центральную вершину и применяем к ней команду Chamfer:
В результате, должны образоваться фаски на кончиках зазубрин и новая центральная окружность. Значение параметра Chamfer Amount следует установить минимально возможным:
После этого выделяем все боковые ребра зазубрин и ребра центральной окружности (как на рисунке ниже). Применяем к выделению уже знакомую команду Chamfer:
Значение параметра Chamfer Amount следует установить минимально возможным. Должно получиться вот так (особое внимание следует уделить центральной окружности):
Выделяем на уровне Polygon (полигон) образовавшиеся «канавки» и центральную окружность. Полученное выделение (показано на рисунке ниже) удаляем легким нажатием на клавишу Delete:
В результате, между зазубринами образуются зазоры (они необходимы для корректного обсчета пробоины Reactor’ом в дальнейшем).
Теперь необходимо отделить пробоину от плоскости. Выделяем на уровне Polygon (полигон) всю пробоину и применяем команду Detach. В итоге вся пробоина вместе с зазубринами образует новый объект (по умолчанию Object01).
К новому объекту пробоины применяем модификатор HSDS, необходимый для увеличения плотности сетки. Для экономии ресурсов системы и времени визуализации рационально увеличить детализацию только зазубрин. Также необходимо учитывать, что внешний радиус пробоины должен снова быть присоединен к плоскости без искажений, а потому лучше с ним ничего не делать. Выделяем в модификаторе HSDS на уровне Polygon (полигон) лепестки зазубрин и внутренний радиус пробоины (как на рисунке внизу), а затем применяем к выделению команду Subdivide (не более одного раза!):
Плотность сетки зазубрин должна увеличиться:
Поздравляю! Половина работы уже выполнена! Если Вы все еще с Нами, то продолжаем двигаться к заветной цели.
Просчет пробоины с помощью модуля Reactor.
Физика – наверное, самый не любимый школьный предмет. Однако в 3ds Max обсчет физических процессов проходит всего за несколько секунд и не требует от пользователей каких-то особых знаний. Прогресс на лицо!
Во-первых, необходимо добавить в просчет анимации модулем Reactor пробоину. Для этого выделяем пробоину (Object01) и применяем к ней модификатор Cloth Modifier, который расположен на панели инструментов модуля Reactor:
Затем создаем командой Create Cloth Collection, расположенной на той же панели, собрание одежды.
Не снимая выделения с его иконки, идем во вкладку модификаторов. Если все сделано правильно, то пробоина (Object01) отобразиться в списке (как на рисунке ниже), иначе необходимо добавить ее с помощью команды Add:
После этого выделяем пробоину (Object01) и во вкладке модификаторов настраиваем параметры Reactor Cloth. Необходимо поставить галочку напротив параметра Avoid Self-Intersections, чтобы при просчете исключить самопересечения зазубрин. Остальные параметры можно не изменять (ну разве что немного увеличить значение Mass (масса)).
Так же необходимо зафиксировать вершины по периметру пробоины, чтобы она не улетела при просчете. Для этого выделяем их на уровне Vertex (вершина) модификатора Reactor Cloth (как на рисунке ниже) и во вкладке Constraints (ограничители) применяем команду Fix Vertex:
Теперь можно выполнить предварительный просчет анимации в Reactor. Для этого на панели инструментов модуля Reactor выбираем команду Preview Animation:
На мониторе должно появиться окно reactor Real-Time Preview. Выбираем в меню Simulation команду Play или просто нажимаем на клавиатуре латинскую P. Зазубрины, как белье на веревке свешиваются вниз и это совсем не то, чего мы с Вами хотели добиться. А потому идем дальше.
Позвольте немного теории. Итак, что же собой представляет пробоина в металле? Допустим, что пуля или таран, или что-то еще пробивает насквозь металл и отверстие должно выглядеть примерно так, как на рисунке ниже:
Из характерных черт можно отметить небольшую приподнятость внутреннего радиуса пробоины и загнутые края зазубрин.
Попробуем теперь повторить это на практике. Для начала создадим стандартные примитивы Sphere (сфера) и Torus (кольцо). Сфера будет являться причиной возникновения отверстия, а потому радиус ей задаем так, чтобы сфера была чуть меньше внутреннего радиуса пробоины. Располагаем ее со стороны предполагаемого пробоя (например, выстрела) на небольшом расстоянии от стены. Для кольца радиусы настраиваем так, чтобы оно помещалось между внутренним и внешним радиусами пробоины. Располагаем кольцо с обратной стороны пробоя на небольшом расстоянии от стены. Наглядное расположение примитивов показано на рисунке ниже:
Так же стоить настроить параметры гравитации модуля Reactor. Для этого на командной панели во вкладке Utilities выбираем пункт reactor и настраиваем значение параметра Gravity. Значения в полях X, Y и Z отвечают за силу и направление гравитации. Значение силы можно оставить без изменения, а ось направления следует выбирать так, чтобы она была противоположна источнику пробоя (например, выстрелу) (как говорят математики – гравитация антипараллельна).
Теперь необходимо сферу и кольцо добавить в просчет анимации модулем Reactor. Для этого сначала выделяем их, а затем на панели инструментов модуля Reactor выбираем команду Create Rigid Body Collection. Теперь примитивы должны добавиться в собрание упругих тел (выделяем иконку RBCollection и проверяем во вкладке модификаторов наличие сферы и кольца в списке, иначе добавляем их командой Add):
Затем выделяем сферу и в главном меню выбираем reactor --> Open Property Editor. В появившемся окне настраиваем параметры как на рисунке ниже:
Поясню параметры: флажок Unyielding ставим для того, чтобы анимация сферы отображалась в модуле Reactor; переключатель Mesh Convex Hull задает сфере выпуклый тип сетки при просчете.
После этого настраиваем параметры кольца, как показано на рисунке ниже:
Concave Mesh задает вогнутый тип сетки для кольца при просчете.
(Для определения типа сетки в Reactor встроена специальная утилита, для ее вызова в главном меню выберите reactor --> Utilities --> Convexity Test).
Теперь необходимо настроить анимацию для сферы. Выбираем ее, нажимаем Auto Key -->Set Keys (при этом ползунок времени должен находиться на нулевом кадре):
Затем передвигаем ползунок времени на 10-й кадр, снова выделяем сферу и перемещаем ее выше по оси Z (как показано на рисунке внизу):
После этого отжимаем кнопку Auto Key и возвращаем ползунок времени на нулевой кадр.
Теперь осталось командой Preview Animation на панели инструментов модуля Reactor вызвать окно предварительного просмотра и просмотреть всю анимацию.
(Если зазубрины проваливаются в кольцо, то его следует поднять чуть выше):
Понравившийся кадр анимации необходимо отобразить в окне просмотра 3ds Max.
Для этого останавливаем в нужный момент анимацию клавишей P и выбираем команду MAX --> Update MAX.
Затем закрываем это окно и наслаждаемся получившимся результатом:
Наложение текстур и освещение сцены.
Теперь осталось положить на объекты текстуры и настроить освещение сцены.
Начнем с материала на стену и пробоину. Заменяем стандартный материал Standard на материал типа Double Sided (двухсторонний). Facing Material будет имитировать лицевые части стены и пробоины, а Back Material – оборотную жестяную сторону:
Настройки Facing Material могут быть подобраны на Ваше усмотрение, а Back Material можно настроить как на рисунке ниже + добавить карту Bump:
Для общего освещения выбираем источник света Target Direct и располагаем немного выше за камерой. В параметрах источника света следует обратить внимание на настройки спада освещенности (закладка Directional Parameters --> параметры Hotspot/Beam и Falloff/Field):
Далее создадим эффект объемного освещения. Размещаем за пробоиной источник света Spot. В его настройках изменяем в параметре Shadows тип теней на Shadow Map (лишь этот тип теней будет работать с эффектом объемного света). В параметре Far Attenuation ставим галочки напротив значений Use и Show и настраиваем значения начала и окончания спада освещенности (параметры Start и End):
В закладке Atmospheres & Effects нажимаем Add --> Volume Light, тем самым добавляя эффект объемного света. Выделяем Volume Light в списке и нажимаем Setup.
Настройки объемного света показаны на рисунке ниже:
Для улучшения эффекта можно добавить яркую проекционную карту в параметр Advanced Effects --> Projector Map.
Вот и все! Надеюсь, финальный результат Вам понравился. Спасибо за оказанное внимание и потраченное на выполнение урока время.
Желаю успехов в освоении сложного и увлекательного мира 3d.