Жесть: создание пробоины в металлической поверхности

Жесть: создание пробоины в металлической поверхности.

Доброго времени суток! Позвольте представиться: меня зовут Станислав. Я студент, живу в славном городе Самара. В свободное от учебы время люблю рисовать в 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.

 

534 0 850 53
32
2007-07-09
ОТЛИЧНЫЙ УРОК!!!!!!! ПИШИ ЕЩЕ!!!!!!
2007-07-09
Thanks Cool :)
2007-07-10
ну что можно сказать... урок толковый, простой для понимания. а почему для анимации этот метод не подойдёт? можно помучать ... настроить молодец что находишь интересные решения и делишься ими. есть пару ньюансов, но в целом урок достойный. (по себе знаю как трудно описать всё и учесть все ньюансы.) идея юзать клос для симуляции поведения метала в агрессивных условиях не нова сама по себе. но про разрывы метала я вроде не видел. вобщем не останавливайся.
2007-07-10
Спасибо!! Всё классно описано :) Мне кажеться если добавить ШЭЛ для толщины, то вообще персик будет ;)
2007-07-10
урок может и хороший, но такую штуку поликами замодели (причем намного реалистичней) - дело пяти минут. Поэтому мне кажется что пример для урок по клозу не слишком удачный. К томуже некоторые вещи даже в данном контесте сделаны очень заумно, все можно было бы упростить.
2007-07-10
По Cloth вообще немного инфы , этот урок будет далеко не лишним ... Отлично ... Ждем еще !!!
2007-07-10
Спасибо за активность и за отзывы! Рад, что урок многим понравился. По поводу идеи: почему же я выбрал именно создание пробоины? Дело в том, что для одной работки как раз необходимо было сделать пробоину, перерыл Интернет, посмотрел в книжках, однако ничего подобного не нашел. Пришлось пораскинуть собственными мозгами и, на удивление, очень быстро пришел к данному методу, которым с удовольствием со всеми и поделился. По поводу предложения уважаемого ivan juravskiy: [quote]такую штуку поликами замодели (причем намного реалистичней) - дело пяти минут[/quote] С удовольствием посмотрел бы на данную работу, и, ежели не сложно, то напишите урок (сам то я даже не представляю, как можно вручную сделать пробоину за 5 минут). А по поводу предложений "пиши еще" скажу следующее: не ставлю перед собой задачу писать урок ради урока, как только созреет что-нибудь действительно стоящее, так сразу поделюсь! Жду дальнейших отзывов (и конечно голосов!). Спасибо за внимание.
2007-07-11
Мне понравилось, очень толково, так можно и пробоины от пули замутить. Автору респект!!!
2007-07-11
Урок хорош для развития нестандартного решения стандартных задач. :) Замоделить такую дыру намного легче чем работать над ней в симуляторе динамики. К тому же с анимацией таким образом, могут быть действительно сложности и морока. П.С. Дырка от пули выглядит совсем по другому. :)
2007-07-13
Дамы и господа! Художники и творцы великого! Товарищи, наконец! Ну почему же урок просмотрело больше трех тысяч уважаемых пользователей, а голоса отдали лишь 20?! Если урок Вам не понравился или если есть недочеты, то прокомментируйте, пожалуйста или хотя бы 0/0 поставьте. Если урок хоть чем-то Вам приглянулся, ставьте, пожалуйста хоть какую-нибудь оценку! Это мой первый урок, выставленный на всеобщее обозрение, и мне очень важно знать Ваше мнение о нем. Не оставайтесь равнодушными, голосуйте, пожалуйста, и оставляйте отзывы!
2007-07-13
Ты не волнуйся мой урок просмотрело почти 7000 тысячи человек а проголосовало чуть больше твоего))
2007-07-15
Хм. Расписано достаточно подробно, "хорошо". По поводу актуальности, сложно чтото сказать. Урок скорей для новичков и это тоже по свойму "хорошо"! 8) За собственную идею(надеюсь что собственную), тебе несколько маленьких(но приятных) +ов. Пис \/ 8)
2007-07-15
И вообще на мой взгляд, надо разделить уроки по степени профессионализма "учащихся". Новичок будет просто ликовать от подобного урока. А видавший виды "моряк" только из вежливости не скажет что это херня. Мне лично сложно было адекватно оценить подобный урок, поэтому оценил неадекватно. 8)) Только из уважения к стараниям автора данного урока. Вот.
2007-07-16
Полностью согласен с Nabanitus: [quote]И вообще на мой взгляд, надо разделить уроки по степени профессионализма "учащихся"[/quote] Действительно, для профи нужны свои уроки, а для новичков (к коим относится и Ваш покорный слуга) необходимы вообще любые уроки (в связи с потребностью в самообучении). И это уже скорее дело уважаемых редакторов и не менее уважаемых модераторов сайта render. Ведь конкурс уроков на то и конкурс, чтобы все были в равных условиях: и тот, кто написал урок для начинающих, и тот, кто поделился своим опытои с профи. А сейчас получается так, что оценивается не качество урока, а его ценность для той или иной группы пользователей, что не есть справедливость. Ведь у новичков порой даже нет права голоса, а у профи уже нет желания оценивать то, что они и так прекрасно знают. И кстати, коль уж делать разделение уроков, то большая просьба к уважаемым профессионалам (если таковые имеются в России) написать таки супер мега урочище и открыть, так сказать, новый раздел сайта. А мы, новички, как-нибудь в сторонке тихо будем писать друг для друга уроки и делиться собственным опытом.
2007-07-20
По мне так проще было бы руками погнуть жестянку, после того как нарисовал "трещины" Никогда незнаешь чего ожидать от "симуляторов", а так - весь процесс под контролем :)
2007-07-20
[quote]По мне так проще было бы руками погнуть жестянку[/quote] Я с Вами и не спорю, уважаемый xen32. Однако есть и другие способы и всех их в одном уроке не рассмотришь. И, наверное, было бы глупо выкладывать урок по моделированию "ручками", тем более, что я так же, как в уроке сам загнуть не смог бы... может ручки кривые :)
2007-07-24
Хороший урок, так держать.
2007-07-26
конечно динамика не та но эффекта добился 5/5
2007-08-04
Написано здорово! Соглашусь с теми кто говорит, что это лучше смоделить, но как урок для знакомства с реактором очень даже! Ну и, конечно, респект за находчивость :)
2007-08-04
Nikita Veprikov, Гриня, stasik_art (почти тезка:)), и Всем Всем Всем, спасибо за хорошие отзывы, рад, что урок хоть немногим оказался полезен.
2007-08-25
[quote]так можно и пробоины от пули замутить[/quote] Valery Lokun, можно, однако настройки необходимо немного подкрутить.
2007-08-27
при использовании команды Preview Animation выскакивает окно SetpixelFormat failed если кто-нибудь подскажет что делать буду признателен. Уж очень хочется пострелять по металу.
2007-08-27
saigosha, никогда не сталкивался с такой проблемой. но, судя по сообщению, дело здесь в настройках предпросмотра. Попробуйте в настройках reactor-->display (во вкладке Utilities) поменять параметры Texture Quality и поставить галочку напротив Use DirectX... может быть поможет. Успехов!
2007-08-29
а у меня при предварительном просмотре выскакивает сообщение "There are no entity collections, or they are all empty"... почему?
2007-08-30
Я вроде не служба техподдержки :)... однако, musik1969, Вам отвечу: Если бы Вы внимательно следовали тексту урока, то такого бы никогда не произошло.. Либо не созданы собрание упругих тел ([b]RBCollection[/b]) или собрание одежды [b]Cloth Collection[/b], либо эти собрания созданы, но в них не добавлены объекты симуляции. Вот цитата из урока: [quote]выделяем иконку RBCollection и проверяем во вкладке модификаторов наличие сферы и кольца в списке, [b]иначе[/b] добавляем их командой [b]Add[/b][/quote] Будьте, пожалуйста, внимательнее... в уроке ВСЕ предельно доступно и ясно описано. Успехов!
2007-08-30
вы знаете, я сама пишу и перевожу уроки....да, в Максе новичок....следовала по уроку и не один раз проверяла.......иначе не задавала б таких вопросов.....мягче надо быть........
2007-08-30
[quote]мягче надо быть........[/quote] Извиняюсь, конечно, но никого не хотел обидеть. Расписал все нормальным и доходчевым языком... вообще думал, что с каким-то МУЖИК1969 разговаривал (в смысле с мужчиной)... в мыслях и не было обижать даму. А что, все-таки устранилась ошибка или нет?
2007-08-30
ладно, мир :-) скорее всего накосячила в самом начале при выделении полигонов..
2008-01-21
Спасибо за урок. Всё получилось на ура! В максе сижу почти шесть лет, и вот не так давно начал изучать анимацию (до этого макс использовал лишь для моделирования и визуализации статичных сцен интерьера и экстерьера). Спасибо всем тем, кто открывает глаза на анимацию в максе на уровне "профессионал" (один знакомый моделлер высказал историческую мысль - "профессиональная работа в максе заключается в использовании стандартных средств программы. Плагины- удел любителей". И я с ним на 95% согласен!) С уважением.
2008-01-21
[b]Igni[/b], СПАСИБО большое за добрый отзыв... я не "профи", но слышать такие комментарии приятно... а насчет использования плагинов полностью согласен с Вашим другом - ведь в Максе уже можно сделать все... другое дело, сколько времени на это уйдет :)
2008-03-23
[b]ViStas[/b] большое спасибо!! отличный урок и очень веселый))) и все бысто получилось. в противоположность предидущему [b]Igni[/b] с максом основами знаком гдет годик, НО занимаюсь активно лиш 6-ть дней)))) вот такими интересными уроками упорно себя приучаю к этой чудо-программе. творческих и плодотворных Вам автор и всему нашему уникальному сообществу успехов и мне тож.
2008-11-20
спасибо
RENDER.RU