Jump to content
3D Coat Forums
Tinker

Решено: экспорт воксели -> полигоны.

Recommended Posts

(разделил вопрос на 2 части)

Добрый день!

Немного зашел в тупик с воксельным скульптом: не могу перенести детализированную модель в полигоны.

На самый предпочтительный вариант - экспортировать модель без упрощения (правой кнопкой на voxtree - export) не хватает памяти. "to poly" с simplification тоже ничего хорошего не получилось: пробовал 0.5 - 10.0 simplification, во всех случаях после долгих расчетов кончилась память.

Я понимаю что можно поставить XP64, добавить памяти но это количественное решение, придется во время работы постоянно проверять хватает еще памяти на экспорт или уже нет.

Должен быть способ экспортировать воксели в тяжелые меши без использования огромных объемов памяти. Например, в ранних версиях мадбокса тоже был зависящий от памяти экспорт а потом они как-то это дело преодолели.

Пайплайн 3D-Coat рассчитан видимо на детализацию карты нормалей уже в процессе рисования, и такой метод работы я обязательно тоже попробую. Но сейчас мне бы хотелось добраться до той модели что видна во вюпорте во время работы с вокселями и запечь карту нормалей полностью с нее, а потом уже нарисовать отдельно цвет с помощью упрощенной модели (с отключенной глубиной).

Share this post


Link to post
Share on other sites
(разделил вопрос на 2 части)

Добрый день!

Немного зашел в тупик с воксельным скульптом: не могу перенести детализированную модель в полигоны.

На самый предпочтительный вариант - экспортировать модель без упрощения (правой кнопкой на voxtree - export) не хватает памяти. "to poly" с simplification тоже ничего хорошего не получилось: пробовал 0.5 - 10.0 simplification, во всех случаях после долгих расчетов кончилась память.

Я понимаю что можно поставить XP64, добавить памяти но это количественное решение, придется во время работы постоянно проверять хватает еще памяти на экспорт или уже нет.

Должен быть способ экспортировать воксели в тяжелые меши без использования огромных объемов памяти. Например, в ранних версиях мадбокса тоже был зависящий от памяти экспорт а потом они как-то это дело преодолели.

Пайплайн 3D-Coat рассчитан видимо на детализацию карты нормалей уже в процессе рисования, и такой метод работы я обязательно тоже попробую. Но сейчас мне бы хотелось добраться до той модели что видна во вюпорте во время работы с вокселями и запечь карту нормалей полностью с нее, а потом уже нарисовать отдельно цвет с помощью упрощенной модели (с отключенной глубиной).

Поскольку модель ретопологизирована, нужно просто нажать RetpoMemu->Merge in scene

Share this post


Link to post
Share on other sites

Спасибо! С этого какраз и начал. Нормалмапа сгенерилась в целом неплохо:

post-1407-1238007380_thumb.jpg

Однако присутствовали артефакты, от которых так и неудалось избавиться, даже после дополнительного редактирования топологии в проблемных местах:

post-1407-1238007476_thumb.jpg

post-1407-1238007493_thumb.jpg

Ктомуже, после сохранения карты нормалей и загрузки ее на импортированую топологию без сглаживания, стали видны швы:

post-1407-1238007546_thumb.jpg

Вот в это уперся. На попытки обойти эти артефакты и изучение работы merge и того почему они возникают потратил весь день. Покачто обнаружил только что они появляются в местах где поверхности модели близко друг к другу, и видимо на этапе "сглаживания" модели, т.к. артефакты присутствуют не только на карте нормалей, но и сабдивайднутой топологии, на которую эта карта далее накладывается. Находящиеся рядом поверхности просто слипаются.

P.S. доказательство того что топология не кривая в этом месте: скрин из c4d с сабдивайдом:

post-1407-1238008358_thumb.jpg

а вот что с ним стало (после merge):

post-1407-1238008865_thumb.jpg

Share this post


Link to post
Share on other sites

Ага! понял причину глюка: голова - ближе к топологии чем противоположная поверхность. На скульпте там сильное углубление.

Share this post


Link to post
Share on other sites

Похоже над алгоритмом бакинга надо еще поработать. Было бы неплохо поучить эту модельку для экспериментов (мой мэйл support@3d-coat.com).

Забыл одну деталь - перед тем как длать Merge надо сделать Unwrap. Иначе оно автоматическ сгенерит UV.

Share this post


Link to post
Share on other sites

Unwrap нажал конечно, кстати он почемуто не сохраняется вместе со сценой. Модельку топологию сейчас потихоньку переделываю в проблемных местах, но потратил на это уже совсем ненормальное количество времени и сил.

Алгоритм довольно капризный к объектам сложной формы, требуется много лишней детализации углублений, а это именно те места которые эффективнее всего выносятся на карту нормалей, и на которых идет экономия полигонов в реалтайм модельках. Но даже так, как он работает сейчас, мне очень нравится пайплайн, с запеканием до финального редактирования. Это очень, очень перспективная техника.

Кстати, надо сделать чтобы при применении subdivide на топологию UVшки не терялись. Покачто лучший результат: детализация проблемных мест, экспорт топологии, сабдивайд(чтобы UV сохранить), импорт, topoSmooth и потом merge. Видимо продолжу работу этим методом.

Линк на модельку отправил на почту.

Share this post


Link to post
Share on other sites

И еще мне кажется алгоритм padding'а надо доработать. Посмотрите как работает падинг в xNormal (http://www.xnormal.net) - там цвет равномерно распространяется во все стороны от фрагмента, а не только строго в горизонтальном и вертикальном направлении. Работает намного эффективнее, края практически не видны там.

Share this post


Link to post
Share on other sites

Сейчас посмотрел карту внимательно, вродебы в xnormal padding тоже крест накрест, только по диагонали.

А вот сейчас карты сравнивал: что еще обнаружил.

Это карта сгенерированная xNormal:

post-1407-1238066407_thumb.jpg

А вот карта сгенерированная 3D-Coat, в процессе merge:

post-1407-1238066453_thumb.jpg

Области флипнутые относительно друг друга: видимо это и есть причина появления швов.

Итог:

Потестил все внимательно еще раз. С паддингом все впорядке, извините. Merge я практически укротил, детализируя топологию проблемных мест. Вот такая красивая карта нормалей генерируется 3D-Coat (ошибок почти не осталось). Это скриншот сразу после merge.

post-1407-1238069700_thumb.jpg

Но когда я загружаю карту нормалей на low-poly модель, каждый "островок" UV флипнут в произвольном направлении:

Это происходит как при загрузке сохраненной карты, так и повторно "запеченной" на lowpoly.

post-1407-1238070016_thumb.jpg

Видимо в процессе merge, кластеры флипаются.

Вобщем убито почти 2 дня на борьбу, надеюсь эти усилия не пропали даром :)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Кажется дело чуть сложнее чем ожидалось. Так что сегодня уже не успею. Но завтра точно. Все получается очень хорошо.

Share this post


Link to post
Share on other sites

Сделал передроску из вокселей в Direct painting. Вроде неплохо получилось. вот моделька с текстурой 1к на 1к и 2к на 2к

post-1-1238155183_thumb.jpg

post-1-1238155435_thumb.jpg

Share this post


Link to post
Share on other sites

Класс! Похоже глюков больше нет :) Это новая версия алгоритма?

Интересно как будет эта карта нормалей на low-poly топологии (без сглаживания) смотреться.

Share this post


Link to post
Share on other sites

Вот нормал на лополи. Если и есть арифакты (а их почти нет), то в DP они элементарно убираются Smooth - ом

post-1-1238160173_thumb.png

Share this post


Link to post
Share on other sites

Супер! Это именно то что должно быть! побежал качать и щупать :)

Wow! Нормалмапа генерируется просто великолепная! все детали очень яркие, без ошибок. Класс!!

Поправьте еще пожалуйста насчет перевернутых кластеров.

Share this post


Link to post
Share on other sites

Нашел глюк в алгоритме, результат еще лучше. Но вот не пойму - что ты говоришь о перевернутых кластерах - все кластеры имеют одну ориентацию - нарисуй букву R на кластерах - на UV она смотрится как Я - на всех кластерах.

Share this post


Link to post
Share on other sites

Извините, я что-то перемудрил :)

Вобщем разобрался! Помогло invert green при импортировании карты.

Единственное что - придется отдельно инвертировать этот канал какой-нибудь программой после сохранения, потомучто большинство приложений (даже сам 3d-Coat) загружают его перевернутым:

post-1407-1238276743_thumb.jpg

Просто было несколько неожиданно, что 3D-Coat свою же собственную карту загружает с установками по умолчанию неправильно. Может по умолчанию этот канал переворачивать перед сохранением карты? Ну вобщемто это неважно.

Спасибо большое!!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×