пятница, 23 декабря 2011 г.

ZBrush. Оптимизация hipoly модели. Desimation Master

Итак...

Во всём процессе создания модели этап снятия карт для меня были и пока есть самым сложным. ( не создание бейсмеш, ни скульптинг ни ретопология не занимает столько времени и нервов, как именно снятие карт)

И теория снятия в принципе понятна, когда речь идёт о модели в один сабтул или с меньшим (относительно) полигонажем в хайпольке...

Но, задачи бывают разные и мне нравится их решать, независимо от их сложности.

На этот раз моя новая моделька.

Что имеем?

1.Hi Poly model в ZBrush в 30 с лишним миллионов полигонов и состоящая из более чем 100 сабтулов.
2. Low Poly model в 7 с лишним тысяч полигонов, состоящая из нескольких отдельных мешей, скомбайненная и с юви развёрткой.


Задача: снять карты: normal, cavity, Oclusion с hipoly модели на Low Poly модель.

Раньше я снимала карту Normal в ZBrush, объединив все сабтулы хайпольной модели в один tool и перебросив с помощью Projection геометрию с хайполи на лоуполи модельку. и потом с помощью Multi Map exporter снимала все необходимые мне карты.

В данном случае смерджить все сабтулы хайпольной модельки у меня не получилось по причине того, что мой ноут не тянет такого количества поликов-- ругается на недостачу RAM, хотя для ZBrush и так отведена вся возможная память.

Поэтому снять карты в ZBrush не получится.

Есть вариант снять карты в 3dMaya и XNormal (о последней слышала очень много хорошего. Похоже, настало время познакомиться с ней поближе)

Остаётся вариант экспортить сабтулы хайполи модели в отдельные obj файлв потом собрать всю модельку в Майке ( если та потянет высокий полигонаж)

Но я решила до экспорта оптимизировать свою модель Desimation Master-ом -- плагин в ZBrush, позволяющий существенно уменьшить полигонаж хайпольной модели без ущерба ( визуального) в качестве скульптинга модели.

Было


После Desimation Master стало


Неплохая оптимизация, не правда ли?



Позже я смерджила часть сабтулов по группам ( руки, ноги, туловище) и в итоге получила 21 сабтул вместо 100.

Их я и экспортнула потом в отдельные obj файлы, которые впоследствии импортировала в Maya и записала модель как 1 OBJ файл.

В итоге у меня есть и лоуполька и хайполька в отдельных OBJ файлах, с которыми я буду работать чтобы снять карты.


Пару слов хочу сказать как работает плаги Desimation Master и что нужно учитывать, когда вы будете оптимизировать свою модель.

Возможно, кому-то эти советы пригодятся.

1. Все сабтулы вашей модели должны иметь уникальные имена. Иначе при pre-processing Браш ругнётся и предложит вам всё равно переименовать сабтулы уникальными именами.


Переименуйте их. )

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

Я выбирала отдельный сабтул




делала Pre-process Curent (текущий сабтул) (1) -- предварительный просчёт Зибраша обрабатываемой поверхности.
Выставляла в процентном отношении оптимизацию (2)(подтверждая настройки Enter-ом) либо выбирала количество полигонов, которое мне нужно получить в итоге (3) и делала оптимизацию , нажав на Desimate Current (4)


в результате я получала оптимизированную геометрию ни чем визуально не отличавшуюся по сути от оригинала.



3. Есть ещё 1 полезный момент, о котором мне на днях напомнил Денис.
Это использование маски при оптимизации объекта с целью сохранить детализацию в нужных нам местах.

Попробую показать на небольшом примере.
Есть сабтул с мелкими деталями, который вам нужно оптимизировать (сейчас в нём 1 миллион, 417 тысяч полигонов)


Посмотрим как ведёт себя геометрия после оптимизации без использования маски.

Открываем Desimation Master и жмём на Pre-Process Current


Теперь выставлю в процентах качество оптимизации (для примера возьму 4%, при этом поликов будет 56 тысяч вместо миллиона!)

Жму Decimate Current

Смотрим на модель. Визуально вроде бы ничего не поменялось :)

Но приближу камеру к объекту в месте, где есть детализация.

Видите? геометрия уже выглядит немного "покоцанной"


А теперь мы проделаем оптимизацию с использованием маски и посмотрим на результат.
Есть изначальная геометрия.

Замаскируем место, где у нас есть детализация.


4 процента для Decimation Quality.


Жмём Desimation Current и смотрим на результат


Обратите внимание что замаскированная область осталась без изменений. ZBrush оставил детализацию не тронутой... когда вся остальная геометрия была оптимизирована.

Я думаю, это очень полезная фича и её нужно помнить. :)


Всё, ушла знакомиться с XNormal! )))

43 комментария:

  1. Круто! Спасибо за такую полезную фишку!

    ОтветитьУдалить
    Ответы
    1. На игрушках(ноутбуках и прочих)ZBrush не занимаются профи по понятным причинам. Для работы с ZBrush нужна серьёзная, профессиональная техника с ОЗУ не менее 16 ГВ. И детский сленг здесь лучше забыть-здесь не тусовка школьников.

      Удалить
    2. Уважаемый, Анонимный!
      С момента написания вышеизложенного поста прошёл почти год. Сейчас у меня компьютер с 12 гигами ОЗУ( простите, не могу выложиться пока на большее)
      На тот момент (чуть больше года назад) я мечтала хоть о каком -нибудь компьютере, чтобы хоть как-то чему-то научиться. И ноутбук на тот момент был для меня выходом из положения.( дома у меня стоял старенькой комп с 2 гигами)

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

      Если Вы читали учебник Сергея Цыпцына, то там очень много написано обычным простым языком, отчего книга привлекает внимание именно начинающих.

      Мне, конечно, ещё далеко от профи, поэтому, позвольте я буду изъясняться пока так, как умею.
      Я стараюсь узнавать новые вещи, поверьте и год практики в любом случае дал какие-то плоды и в знаниях и в понимании...
      Кстати, читатели моего блога имеют большой диапазон в возрасте.
      От 15 до 50 лет, насколько я знаю.

      Откуда у Вас такой негатив?

      Удалить
  2. То что по умолчанию есть как функция ZBrush или её плагинов не может быть уроком.Для урока нужен опыт нестандартного применения в конкретной
    творческой работе.

    ОтветитьУдалить
    Ответы
    1. Согласна. Я и не пишу уроков. я Пишу конспект для себя. Кто хочет читает, Кто не хочет-- проходит мимо.
      Я каждый день открываю по крупицам что-то новое в ZBrush. Я имею права делать конспекты? Сама. для себя...

      Удалить
    2. Как тогда назвать лекции, которые даются в рамках курсов, когда объясняют функции и плагины программы?
      Разве это не уроки?

      Мне лично ещё рано делиться, рано учить, сама ещё мало знаю.
      Если найду нестандартный способ применения знаний --обязательно поделюсь.
      Спасибо, что уделили внимание моему блогу!

      Удалить
  3. Спасибо, хорошо написано.

    ОтветитьУдалить
  4. Отличный урок, такую практичную инфу не легко найти. А на таких "уважаемых анонимных" вообще не смотрите - это какой-то старпер который решил повыделываться, и который вряд ли сам толком в чем-то шарит, пишите еще что нибудь такое)

    ОтветитьУдалить
    Ответы
    1. Спасибо. Это не урок, это просто заметка об инструменте программы, с которым я когда то познакомилась впервые. Дневник, повторюсь, вела для себя.
      Никого учить не собиралась. но если кому то мои заметки и были полезными -- и то хорошо.

      Удалить
  5. Здравствуйте, у меня вопрос. Зачем нужно перебрасывать модель в мауа ?

    "Их я и экспортнула потом в отдельные obj файлы, которые впоследствии импортировала в Maya и записала модель как 1 OBJ файл.

    В итоге у меня есть и лоуполька и хайполька в отдельных OBJ файлах, с которыми я буду работать чтобы снять карты."

    ОтветитьУдалить
    Ответы
    1. Здравствуйте.
      Чтобы снять карты в Maya. Спустя время я пришла к выводу, что для меня удобнее запекать карты либо в Maya, либо в XNormal.

      Удалить
  6. Спасибо за быстрый ответ. Интересует последовательность: снимаем карты с хайполи, делаем ретопологию - получаем лоуполи, переносим на лоуполи карты и текстурим?

    ОтветитьУдалить
    Ответы
    1. Нет нет. "снимаем карты с хайполи"-- вы должны понимать этот процесс.
      Что это значит? Это значит, вы должны создать карты на основе лоуполи. то есть сделать лоупольку, отретопив хайполи, лоупольку раскладываем ювиши и получаем будущую "основу" для запекания детализации хайпольки на лоупольку.

      Поэтому, 1. Создание хайполи.
      2Ретопология и получение лоуполи. создание юви развёртки лоуполи.
      3. запекание детализации на лоупольку. 4 -- текстуринг.

      Процесс текстуринга может вклиниваться между 1 и 2 пунктами, так как затекстурить можно по-разному, например ракрасить хайпольку в Збраше и запечь цвет на карту диффузки.

      Удалить
  7. Спасибо. Подскажите еще пожалуйста. Делаю в первый раз, после всего этого модель в 5 мил.полигонов, будет выглядит так же как и хайполи, с существенной разницей в полигонах. Сколько полигонов норма для лоуполи?

    и еще вопрос, в Вашей статье по ретопология в Збраш вы пишете:
    "После того как вы покрыли вашу модель сеткой, сделали предпросмотр, убедившись, что всё хорошо, теперь необходимо перенести всю детализацию с высокополигональной модели (по которой мы рисовали сетку) на новую будущую геометрию (созданную нам)
    Идём в Adaptive Skin и повышаем уровень Density настолько, чтобы наша детализация могла спокойно перенестись без потери качества.
    То есть если у вас максимальный уровень Divide на детализированной модели был, например 5. то и мы выставим уровень Dencity 5 для нашей будущей геометрии."
    Вопрос такой, а не приведет ли это сново к увеличению полигонажа?

    ОтветитьУдалить
    Ответы
    1. Desimetion Master не делает ретопологию и лоупольку для дальнейшего использования, этот плагин тоьлко уменьшает количество полигонов в хайпольке для последующего рендера в какой нибудь программе , либо для переноса её в Майю. Лоупольку надо делать с впомощью ретопологии.
      В статье описан способ при котором карты нормалей снимаются в Збраше. для этого действительно надо дивайдить лоупольку для переноса детализации. Но я так уже давно не делаю. я просто получаю хайпольку и лоупольку, сохраняю их в отдельные Obj файлы и уже в XNormal запекаю карты.
      в этом случае, не нужно переносить детализацию с хайпольки на лоуполь.

      Я рекомендую вам зарегистрироваться на нашем форуме-- viewport.com.ua
      и все вопросы по Збраш писать в отдельном разделе. там вам быстрее ответят и объяснят подробно, что и как. ) тут я просто не могу много писать.

      Удалить
  8. Спасибо за помощь и за ссылку )

    ОтветитьУдалить
  9. Здравствуйте! Подскажите что за маска и как ей пользоваться(что бы детали не испортить). Где можно урок посмотреть?

    ОтветитьУдалить
    Ответы
    1. Здравствуйте, за маскирование участка я писала в теме выше, урока нигде не смотрела, нам об этом на курсе рассказывали.

      Удалить
  10. Спасибо! Светлана, я оптимизировал диван но сетка стала конечно ужасная, хоть и геометрия хорошая сохранилась. Хотелось бы оптимизировать модель но что бы сетка не разбивалась на треугольники, возможно так сделать?. С Збрашем знаком очень плохо(

    ОтветитьУдалить
    Ответы
    1. расскажите что за задача у вас. что есть и что нужно сделать?

      Удалить
  11. Я работаю в 3d max, моделю часто мягкую мебель, но модели получаются тяжелые от 100 до 700 тыс.полигонов. Вот и хочется научиться оптимизировать так что бы все швы и складки не испортились и сетка осталась как и была изначально с прямоугольниками. Вот скрин модели и сколько полигонов http://clip2net.com/s/3CrIm0U Сидушки оптимизировал немного с помощью 3d max но сетка подпортилась. Видел люди в браше как то делают карты нормалей и очень сильно облегчают модель и как понял это делать не долго, но я даже не могу нормально модель повращать в Збраш))

    ОтветитьУдалить
  12. Итак... я бы делала так.
    скопировала диван в отдельный сабтул и применила бы к нему ZRemesher.
    Затем перенесла бы детализацию с помощью Projection с вашей модели на модель с ZRemesherom-там будет оптимальная сетка. При переносе детализации несколько раз продивайдить модель. вы получите модель с оптимизированной сеткой в квадах и детализацию которую можно запечь в нормал карту.

    ОтветитьУдалить
  13. Спасибо большое! попробую конечно но боюсь я так не справлюсь. Не могли бы видео какое-нить посоветовать где подробно это показывают?

    ОтветитьУдалить
  14. Светлана, я скопировал сабтул, продивайдил, а дальше при выборе проджексон мастер появляется несколько функций http://clip2net.com/s/3CrLGtV какую выбрать и как перенести детализацию и как карту нормалей запечь и сохранить?

    ОтветитьУдалить
  15. Не тот проджект я выбирал. В общем в новой проге свихнуться можно и самому справится не получится. Сколько будет стоить, что бы вы посмотрели и подсказали по скайпу порядок действий?

    ОтветитьУдалить
    Ответы
    1. Евгений, простите, но я не занимаюсь онлайн обучением.. на это просто нет времени. Я советую зайти к нам на форум -- www.viewport.com.ua
      и почитать темы. возможно найдёте ответ. если нет--задайте там вопрос , создав тему с вопросом и вам помогут.

      Удалить