- Рейтинг
- 14
Как сохранить AO в PolyPaint?
- Автор темы Лекс Дарлог (DRL)
- Дата создания
- Рейтинг
- 14
В текстуру сохранить нельзя никак:
Но текстурой никак не удастся - я перепробовал уже все возможные способы.
Вопрос именно в том, чтобы запечь АО в вертексы, и сделать это напрямую. Увих нет. И они не могут быть созданы.
- На хайпольке нет увих.
- В хайпольке стопицот сабтулов. Развернуть для каждого из них отдельную UV-раскладку, а потом ещё ковыряться с правильным назначением текстур на нужные хайпольки - не вариант.
- Если смерджить, то мерджить надо на высшем уровне разбиения. А там 15 млн вертексов. При таком полигонаже Zbrush'евский UV master крашится (в системе 6 Гб памяти). Пара тулов смоделированы вообще без уровней разбиения. Их UV master не прожуёт в любом случае.
- Создать увихи через любой стандартный Збрашевский механизм маппинга (Свиток UV Map) тоже не получается. Фэйсы такие маленькие, что при разрешении 8К каждый из них значительно меньше пикселя. Т.е., в текстуре больше места будет потрачено на промежутки между UV-шеллами, чем на сами шеллы. Збраш на это ругается и просто не даёт мне создать увихи.
- Перегнать хайпольку в Майю, чтоб там развернуть увихи авто-маппингом... Она авто-маппит хоть и криво-косо, но хотя бы не по полигону. Всё равно не вариант: Майя тупо падает. Даже на 6 гигах памяти. Даже если передавать сабтулы по одному. Даже в батч моде (когда весь интерфейс даже не грузится, работает только ядро).
Но текстурой никак не удастся - я перепробовал уже все возможные способы.
Вопрос именно в том, чтобы запечь АО в вертексы, и сделать это напрямую. Увих нет. И они не могут быть созданы.
- Рейтинг
- 14
Обожаю русские форумы. Наиболее оперативные и конструктивные ответы всегда удаётся найти только тут.
Странно, что я сам не догадался до такого очевидного и элементарного решения. Спасибо за помощь. Наверное, так и сделаю.
Но, если вы не против, я всё-таки пока поищу другие пути решения. Так, из праздного любопытства. Я ведь именно поэтому задал сабжевый вопрос.
Странно, что я сам не догадался до такого очевидного и элементарного решения. Спасибо за помощь. Наверное, так и сделаю.
Но, если вы не против, я всё-таки пока поищу другие пути решения. Так, из праздного любопытства. Я ведь именно поэтому задал сабжевый вопрос.
Русские форумы тут не при чем. А вот когда выпрямляешь руки и изучаешь матчасть перед моделированием фэйсов меньше пикселя, то потом не возникает вопросов.
Нужно идти от истоков. В браше все логично когда моделируешь. Либо динамеш, либо обычным методом. После динамеш ретопология в 90% случаев. Если способом с дивайдом, то уровни должны оставаться, если их кто-то случайно(или по незнанию) не удалил. Можно их восстановить, при условии, что нет трианглов в сабтуле.
Можно смерджить сабтулы и в UV master нажать polygroups, чтобы отдельно для каждой полигруппы координаты считались.
Нужно идти от истоков. В браше все логично когда моделируешь. Либо динамеш, либо обычным методом. После динамеш ретопология в 90% случаев. Если способом с дивайдом, то уровни должны оставаться, если их кто-то случайно(или по незнанию) не удалил. Можно их восстановить, при условии, что нет трианглов в сабтуле.
Можно смерджить сабтулы и в UV master нажать polygroups, чтобы отдельно для каждой полигруппы координаты считались.
На самом деле сделать полипейнт из АО достаточно просто:
1. Masking -> Mask Ambient Occlusion
2. Masking -> Inverse
3. Polypaint -> Colorize
4. Выбираем цвет. (наверное, черный).
5. Меню Color (сверху, рядом с Brush) -> Fill Object
Покраска готова.
Но есть несколько больших НО:
Не знаю почему, но ZBrush считает АО как Маску особенно долго. Mожно пойти покурить, выпить чашечку кофе, пообщаться с друзьями, посетить вечеринку... И, возможно, если браш за это время не дал дубу, то он таки АО просчитает.
НО:
1. Если делать АО для каждого сабтула отдельно, то ZBrush считает АО только для активного сабтула и на другие ему совершенно наплевать. То есть от них не будет затенения.
2. Если все сабтулы смержить в один, то вероятность того, что ZBrush даст дуба при просчете АО увеличивается до 99% (один процент оставляем на то, что может свершиться чудо), так как ЗБ очень не любит считать АО, если части меша пересекаются и входят друг в друга.
1. Masking -> Mask Ambient Occlusion
2. Masking -> Inverse
3. Polypaint -> Colorize
4. Выбираем цвет. (наверное, черный).
5. Меню Color (сверху, рядом с Brush) -> Fill Object
Покраска готова.
Но есть несколько больших НО:
Не знаю почему, но ZBrush считает АО как Маску особенно долго. Mожно пойти покурить, выпить чашечку кофе, пообщаться с друзьями, посетить вечеринку... И, возможно, если браш за это время не дал дубу, то он таки АО просчитает.
НО:
1. Если делать АО для каждого сабтула отдельно, то ZBrush считает АО только для активного сабтула и на другие ему совершенно наплевать. То есть от них не будет затенения.
2. Если все сабтулы смержить в один, то вероятность того, что ZBrush даст дуба при просчете АО увеличивается до 99% (один процент оставляем на то, что может свершиться чудо), так как ЗБ очень не любит считать АО, если части меша пересекаются и входят друг в друга.
- Рейтинг
- 14
kresh,
Полагаю, как маску он считает АО долго потому, что считает по-честному. Для UV Master'а я более чем уверен: збраш считает не честный АО, а какую-то оптимизированную аппроксимацию.
Попробую завтра поставить на весь рабочий день это печься на тачке для запекания. По результатам отпишусь. Спасибо за наводку.
m.r.k.,
1. Хайпольки мы заказываем у аутсорсеров. Какой материал пришёл - такой пришёл.
2. Чтобы тем же UV master'ом развернуть все объекты на один UV-квадрат, надо их смерджить, и делать это на высшем уровне разбиения... По-моему, я уже это где-то писал.
3. Запечь надо АО и запечь надо в вертекс колор. Увих нет. Это условия задачи. Переделать всё с ноля, чтобы запечь не в вертекс колор - так же близко к решению задачи, как Autodesk к написанию стабильного софта. Я сам всегда отвечаю либо по существу, либо не отвечаю вовсе. И на подобное рассчитываю от остальных. Если рекомендацию "переделать всё с ноля" я получил бы от амбициозного новичка - скорей всего, этот пост я бы просто оставил без внимания. Но прочитать такое от модератора раздела...
4. Да, большинство тех, кто задаёт элементарные вопросы, делают это от лени. Но, вы удивитесь, бывают такие редкие случаи, когда человек пытается до последнего решить проблему самостоятельно, и лишь когда всё перебрал, а сроки поджимают - обращается к форумам. А ещё бывают такие случаи, когда с первого взгляда вопрос кажется идиотским, но, стоит хоть чуть-чуть призадуматься (а не отвечать машинально "ты криворукий неуч, и всё делаешь через одно место"), и оказывается, что проблема отнюдь не тривиальная.
Полагаю, как маску он считает АО долго потому, что считает по-честному. Для UV Master'а я более чем уверен: збраш считает не честный АО, а какую-то оптимизированную аппроксимацию.
Попробую завтра поставить на весь рабочий день это печься на тачке для запекания. По результатам отпишусь. Спасибо за наводку.
m.r.k.,
1. Хайпольки мы заказываем у аутсорсеров. Какой материал пришёл - такой пришёл.
2. Чтобы тем же UV master'ом развернуть все объекты на один UV-квадрат, надо их смерджить, и делать это на высшем уровне разбиения... По-моему, я уже это где-то писал.
3. Запечь надо АО и запечь надо в вертекс колор. Увих нет. Это условия задачи. Переделать всё с ноля, чтобы запечь не в вертекс колор - так же близко к решению задачи, как Autodesk к написанию стабильного софта. Я сам всегда отвечаю либо по существу, либо не отвечаю вовсе. И на подобное рассчитываю от остальных. Если рекомендацию "переделать всё с ноля" я получил бы от амбициозного новичка - скорей всего, этот пост я бы просто оставил без внимания. Но прочитать такое от модератора раздела...
4. Да, большинство тех, кто задаёт элементарные вопросы, делают это от лени. Но, вы удивитесь, бывают такие редкие случаи, когда человек пытается до последнего решить проблему самостоятельно, и лишь когда всё перебрал, а сроки поджимают - обращается к форумам. А ещё бывают такие случаи, когда с первого взгляда вопрос кажется идиотским, но, стоит хоть чуть-чуть призадуматься (а не отвечать машинально "ты криворукий неуч, и всё делаешь через одно место"), и оказывается, что проблема отнюдь не тривиальная.
Если рекомендацию "переделать всё с ноля" я получил бы от амбициозного новичка - скорей всего, этот пост я бы просто оставил без внимания. Но прочитать такое от модератора раздела...
Первый пост по этой теме 26.06, прошло полтора месяца. За это время можно было заново смоделить.
Если это "спортивный" интерес, то тогда другое дело.
- Рейтинг
- 14
Первый пост был так давно по 3-м причинам:
Если проблема возникла - значит надо найти такое решение, которое позволит решить такую же проблему без костылей и напильников, если она возникнет ещё раз.
Может быть, я вас неправильно понял, но ваши предложения сводились к тому, чтобы сделать увихи и запечь текстуры. И вы так и не ответили, как создать увихи для хайпольки на одной UV-раскладке.
- Как я упоминал, с возникающими проблемами предпочитаю разбираться основательно и самостоятельно.
- Если не считать хайполек и текстур, всё дальнейшее изготовление 3D-контента лежит на мне. И параллельно мы (команда из 3 человек) работаем над 2-мя играми. Игры разрабатываются оооочень неспешно, но зато дёшево. Если в какой-то задаче затык - приходится её отложить и переключиться на другую. Так, АО я отложил сразу, как перепробовал все варианты на тот момент.
- Конкретно АО нужны не срочно. Их можно переснять в любой момент. У нас в любом случае текстуры разбираются на несколько служебных карт в нюке - нужно для наших спец. шейдеров. Заменить передаваемые в нюк АО и переэкспортить текстуры для всех персов - это вопрос максимум нескольких минут.
Если проблема возникла - значит надо найти такое решение, которое позволит решить такую же проблему без костылей и напильников, если она возникнет ещё раз.
Может быть, я вас неправильно понял, но ваши предложения сводились к тому, чтобы сделать увихи и запечь текстуры. И вы так и не ответили, как создать увихи для хайпольки на одной UV-раскладке.
- Если не мерджить - у каждого сабтула будет своя. Запекать их все поштучно - не вариант, т.к. их около 2-х сотен.
- Смерджить на низшем уровне разбиения (допустим, мне удалось восстановить дивайды для сабтулов, у которых их нет) - тоже не вариант: теряем деталзацию.
- Смерджить на высоком уровне разбиения - опять не пройдёт: зБраш (да и любой другой софт) лопнет при создании увих.
- Проэкспортить каждый сабтул в обж, чтоб развернуть их где-то ещё, а потом снова передать в збраш - тоже не решение: см. п. 1.
Созрел еще вариант, ну или направление в котором мыслить.
1.Можно смерджить всю модель в единое целое, потом с помощью Qremesher(1,2) создать новую топологию, выставить нужный уровень сабдивайда и сделать Project all.
2.Если все смерджить не получается, то смерджить по группам(например по 30 сабтулов), чтобы каждая получалось приемлемой для дальнейших действий. Потом с помощью Qremesher создать новую топологию, выставить нужный уровень сабдивайда и сделать Project all. И так для каждой группы.
3.Remesh all с нужным значением resolution и опять таки Project all с пробой различного значения Dist.
Можно было бы переделать топологию и сделать всем сабтулам нижний уровень сабдива, чтобы создать нормальную развертку, но на это, если их там сотни, уйдет еще месяц.
1.Можно смерджить всю модель в единое целое, потом с помощью Qremesher(1,2) создать новую топологию, выставить нужный уровень сабдивайда и сделать Project all.
2.Если все смерджить не получается, то смерджить по группам(например по 30 сабтулов), чтобы каждая получалось приемлемой для дальнейших действий. Потом с помощью Qremesher создать новую топологию, выставить нужный уровень сабдивайда и сделать Project all. И так для каждой группы.
3.Remesh all с нужным значением resolution и опять таки Project all с пробой различного значения Dist.
Можно было бы переделать топологию и сделать всем сабтулам нижний уровень сабдива, чтобы создать нормальную развертку, но на это, если их там сотни, уйдет еще месяц.
- Рейтинг
- 14
Извиняюсь за некропостинг. Видимо, чтоб у меня выдалось свободное время на то, чтоб добить отложенную задачу - нужно не менее, чем новогодние праздники. Печалька...
Итоги таковы:
за прошедшие... чёрт знает, сколько месяцев... я так и не нашёл ни одного софта, который мог бы делать сабж. Т.е. печь АО в вертекс-колор для адски хайпольных мешек.
Единственное решение - это таки получить увихи на хайпольке.
qRemesher пробовал, слишком долго.
Наиболее быстрым способом оказалось следующее:
берём нашу готовую лоупольку, импортим её в браш. Она уже размаплена - игровая же.
Потом поочерёдно накидываем сабдивы (сглаживание увих выключено). И делаем Project All.
Когда получена хайполя с достаточной детализацией - экспортим её.
Дальше - 3 варианта:
1. получаем карту высот с лоуполи на хайполю из збраша и, пользуясь RenderMan'ом, накидываем на него эту карту как дисплейс и бэйкаем в АО. Поскольку развёртки лоу и хай совпадают - текстура готова.
2. в xNormal'е есть тул, который считает АО на видюхе. Считаем его на хайпольке. Поскольку развёртки совпадают... ну вы поняли.
3. Оптимальный вариант. В последних версиях икснормала появилась фича "Match UVs". Она позволяет устанавливать соответствие между хайполькой и лоуполькой безо всяких кейджей. По UV пространству, если развёртки хай и лоу совпадают (именно поэтому надо было накидывать дивайды, не сглаживая увихи). У нас теперь как раз тот случай. Один минус: фича пока с багами, и не работает (утечка памяти где-то, видимо). Отписал репорт на сайт икснормала, автор пообщела отдебажить. Жду ответа.
А то, что нет софта, способного решить оригинальную задачу - очень жаль.
Итоги таковы:
за прошедшие... чёрт знает, сколько месяцев... я так и не нашёл ни одного софта, который мог бы делать сабж. Т.е. печь АО в вертекс-колор для адски хайпольных мешек.
Единственное решение - это таки получить увихи на хайпольке.
qRemesher пробовал, слишком долго.
Наиболее быстрым способом оказалось следующее:
берём нашу готовую лоупольку, импортим её в браш. Она уже размаплена - игровая же.
Потом поочерёдно накидываем сабдивы (сглаживание увих выключено). И делаем Project All.
Когда получена хайполя с достаточной детализацией - экспортим её.
Дальше - 3 варианта:
1. получаем карту высот с лоуполи на хайполю из збраша и, пользуясь RenderMan'ом, накидываем на него эту карту как дисплейс и бэйкаем в АО. Поскольку развёртки лоу и хай совпадают - текстура готова.
2. в xNormal'е есть тул, который считает АО на видюхе. Считаем его на хайпольке. Поскольку развёртки совпадают... ну вы поняли.
3. Оптимальный вариант. В последних версиях икснормала появилась фича "Match UVs". Она позволяет устанавливать соответствие между хайполькой и лоуполькой безо всяких кейджей. По UV пространству, если развёртки хай и лоу совпадают (именно поэтому надо было накидывать дивайды, не сглаживая увихи). У нас теперь как раз тот случай. Один минус: фича пока с багами, и не работает (утечка памяти где-то, видимо). Отписал репорт на сайт икснормала, автор пообщела отдебажить. Жду ответа.
А то, что нет софта, способного решить оригинальную задачу - очень жаль.