Создание hardsurface с использованием Proboolean и Dynamesh

Данная статья показывает создание hardsurface игровых ассетов, а также этапы, предельно автоматического создания высоко и низкополигональных моделей.Используя этот метод, моделлер может потратить больше времени на проработку дизайна, а не на утомительные действия, такие как сабдивижн или оптимизация.Я занимаюсь этим уже несколько недель, и накопил достаточно опыта, чтобы записать и поделиться им.

Особая благодарность Robert Deleanu, Ethan Hiley, Pedro Amorim, и Hans Palm , давшие множество советов и полезностей, о которых пойдёт речь.
Создание объектов в 3ds max в качестве Proboolean объектов

Любой объект в 3ds Max может быть сконвертирован в Proboolean объект. В то время как объект выделен, кликните по кнопке Proboolean, на панеле модификаторов (Сreate -> Geometry -> Compound Objects).

Создание hardsurface  с использованием Proboolean и Dynamesh

Вы также можете назначить данную операцию на хоткей или добавить в quad menu, что будет весьма полезно, так как не понадобится каждый раз переключатся во кладках панели.

Proboolean — объект, который содержит в себе набор объектов, которые упорядочены в соответствии с использованием стандартных булеановских операций. Эти саб-меши называются «операндами».

Интерфейс Proboolean :

Создание hardsurface  с использованием Proboolean и Dynamesh

Каждый операнд в пределах Proboolean остается доступным для редактирования. Вы можете изменить порядок операндов, изменять их тип операции, удалить их, повторно вставить, и редактировать их даже тогда, когда они находятся в Proboolean. В процессе моделирования Proboolean операциями, изменения, как правило, влияют только на несколько операндов, и не требуют большого ремоделинга. Пример относительно сложного объекта, изготовленного из большого числа логических операндов:

Создание hardsurface  с использованием Proboolean и Dynamesh

Важное замечание — следите за плотностью ваших кривых (curves) на данном этапе.Когда используете цилиндры, используйте большое количество сегементов. Я, обычно, использую минимум 36 и 108 или 140 для крайне больших цилиндров. Это даст лучший результат в Zbrush.

Позже, когда будете генерировать низкополигональный объект, удобно будет понизить количество этих сегментов. Это просто будет сделать, так как цилиндры всё еще будут редактируемыми объектами в Proboolean.

Отправка Proboolean объекта в Zbrush и его Dynamesh

После того, как объект был закончен, мы можем отправить его в Zbrush для последующего автоматического процесса создания хайполи.

Но перед этим, один небольшой этап. После Proboolean операций остаются вогнутые N-угольники, и они могут быть не триангулированы в процессе экспорта/импорта, поэтому лучше всего дополнительно провести триангуляцию, перед отправкой объекта в зебру.

Есть несколько способов это сделать, но я рекомендую — добавить модификатор Turn to Poly, установить лимит размера полигона = 4 (Limit Polygon Size), и включить опцию Keep Polygons Convex.

Создание hardsurface  с использованием Proboolean и Dynamesh

После того как вы это сделаете, экспортируйте объект в зебру в формате .OBJ. Выберите один из дефолтных Dynamesh проектов из стартового экрана.

Создание hardsurface  с использованием Proboolean и Dynamesh

Кликните по Tool, затем Import, и найдите ваш файл.

Создание hardsurface  с использованием Proboolean и Dynamesh

Кликните по вкладке Geometry, после по кладке Dynamesh. Выберите разрешение вашего объекта. Подбор нужного разрешения лучше начинать с низкого значение, и постепенно увеличивать, отменяя предыдущее значение и применяя новое. В данном случае я использую значение равное 256.

Заметка — вы можете воспользоваться плагином Dynamesh Master, который улучшит этот процесс. Некоторые люди мне его рекомендовали.

Создание hardsurface  с использованием Proboolean и Dynamesh

Для применения Dynamesh, зажмите CTRL и кликните в пустом месте пространства.

После того, как вы отожмёте CTRL — объект будет перестроен. Теперь, идём ниже на панель Deformationи смотрим на polish настройки.

Создание hardsurface  с использованием Proboolean и Dynamesh

Процесс шлифовки (Polish) включается переключателем справа от полоски онного. Это изменяет эффект процесса:

Создание hardsurface  с использованием Proboolean и Dynamesh

Для внесения изменений, переместите слайдер вдоль полоски. Чем правее передвигаете, тем сильнее эффект будет. Вы можете применить его несколько раз, пока не получите желаемый результат.

Создание hardsurface  с использованием Proboolean и Dynamesh

Вот и всё, что требуется для хайполи. Теперь же необходимо урезать полигонаж объекта и вернутся в MAX. Вы можете воспользоватся любым удобным для вас способом урезания полигонажа. Лично я, импортирую полученный хайполи меш в макс, где накладываю на него модификатор ProOptimizer:

Создание hardsurface  с использованием Proboolean и Dynamesh

Генерация лоуполи посредством уменьшения сегментов в операндах и применение модификаторов
Замечание — автор этого материала сменил меши на которых показывал процесс, т.к. заготовил их для другого материала. Тот же принцип применим для любой другой модели созданной вышеописанным образом.

Для генерации лоуполи, вернёмся к нашим исходным Proboolean объектам и скопируем их на новый слой в 3ds max.

Создание hardsurface  с использованием Proboolean и Dynamesh

Пройдитесь по каждому операнду, и на глаз, уменьшайте сложность геометрии. Именно на этом этапе заключается положительная особенность Proboolean; вы можете редактировать любой операнд прямо из стека.

Для цилиндров — уменьшайте количество сегментов. Незначительные детали — отсоединяйте и удаляйте их целиком.

Создание hardsurface  с использованием Proboolean и Dynamesh

Теперь, главная проблема — «залётные» вершины, N-угольники, и вогнутые полигоны. Решить эту проблему можно нехитрым набором модификаторов :Vol. Select — для захвата вершин, Vertex Weld — для сшивания их, Turn to Poly — для разделения N-угольников в выпуклые 4х-угольники.

Создание hardsurface  с использованием Proboolean и Dynamesh

Вы можете упростить этот процесс, поместив его на удобную вам кнопку, используя скрипт :

macroScript QuickLowpolyStack
category:»Bolton Tools»
toolTip:»Quick Lowpoly Stack»
(
if (selection.count > 0) then
(
modPanel.addModToSelection (Vol__Select ()) ui:on
$.modifiers[#Vol__Select].level = 1

modPanel.addModToSelection (Vertex_Weld ()) ui:on
$.modifiers[#Vertex_Weld].threshold = 0.05

modPanel.addModToSelection (Turn_to_Poly ()) ui:on
$.modifiers[#Turn_to_Poly].selectionConversion = 1
$.modifiers[#Turn_to_Poly].limitPolySize = on
$.modifiers[#Turn_to_Poly].keepConvex = on

modPanel.addModToSelection (Edit_Poly ()) ui:on
)
)

Остались только небольшие проблемки с триугольниками( какие-то слишком длинные/узкие/маленькие, или неудобно размещены). Для исправления этого, я применяю поверх всего модификатор Edit Poly, в котором можно всё это исправить. Если какое-нибудь изменение пойдёт вниз по стеку, то смело удаляйте такой модификатор, т.к. всё что ниже — всё ещё процедурное и легконастраиваемое.

Я надеюсь данное пособие будет вам полезно, а если вы знаете/можете улучшить данный процесс — приглашаю вас поделится этим знанием (имеется ввиду написать в источник). Ну и картинки примеров, созданных данным методом :

Картинки

Создание hardsurface  с использованием Proboolean и Dynamesh

Создание hardsurface  с использованием Proboolean и Dynamesh

Создание hardsurface  с использованием Proboolean и Dynamesh

Создание hardsurface  с использованием Proboolean и Dynamesh

[свернуть]

ОриджинальЪ
Перевёл на великий и могучий — REDCOMRADE © 2016.


Читайте также: