3d форум по Blender

Blender => Материалы и текстурирование => Тема начата: lexpartizan от 14 Май 2019, 16:51:40

Название: Экономия текстурного пространства, объединение одинаковых островков.
Отправлено: lexpartizan от 14 Май 2019, 16:51:40
И снова о наложении одинаковых островков текстур.
Есть ли какой-нибудь бесплатный аддон, чтобы наложил одинаковые острова друг на друга и они больше не разделялись при нажатии кнопки pack? Дальше хотелось бы упаковать их бесплатным аддоном Gpack (метод утруски в прямом смысле слова), что меня бы устроило.

По сути такой аддон есть. Называется он UVPackMaster и стоит безумных 20 баксов. Заодно даёт прекрасную упаковку UV-островков одним нажатием клавиши. Но жаба не позволяет пока такие траты.

Вдруг кто в курсе, как это решается простыми методами, без доставания и долгого прощания с двадцаткой зелёных?
Название: Re: Экономия текстурного пространства, объединение одинаковых островков.
Отправлено: Samovar от 14 Май 2019, 18:51:09
Вручную упакуй и запекай в одну текстуру, или используй Projection Paint с одной UV на другую :) А вообще, это не один метод экономии, хоть и экономит место, но не стоит доходить до фанатизма... кроме него ещё есть  куча более эффективных методов оптимизации:
Цитировать
…6 masks?! In 3 channels?! (RGB)
• Skin tint
• Cloth tint
• Blood
• Grime
• Retro-reflectivity
• Specularity
тут чуть более развёрнуто http://blender-3d.ru/forum/index.php/topic,2423.0.html
Название: Re: Экономия текстурного пространства, объединение одинаковых островков.
Отправлено: Samovar от 14 Май 2019, 20:11:55
Ещё попробуй это дополнение для выравнивания и распределения кусков развёртки вручную. Умеет объединять подобные куски в одном и том же пространстве развёртки.
https://github.com/c30ra/uv-align-distribute
Название: Re: Экономия текстурного пространства, объединение одинаковых островков.
Отправлено: lexpartizan от 14 Май 2019, 21:29:41
Вручную упакуй
Это неинтересно. Эффект есть не всегда, а труда требует немало.
Про текстурные атласы знаю, люблю, использую. Потому островков довольно много. И их желательно паковать плотнее.

https://github.com/c30ra/uv-align-distribute
Спасибо, попробую.
Главное, чтобы он при нажатии "паковать" обратно острова не разбрасывал.
В этом сомневаюсь. Если умеет, то этот аддон gpack сэкономят 20 баксов.
Попробовал - не получилось совсем. Даже совместить острова. Туплю.

текстуры в формате DDS
Спасибо, не знал. Думал, что jpeg и png наше всё.
Каналы вместо чёрно-белых карт использую, конечно.
Тайлинг не слишком интересен, ибо специфичен к совсем уж майнкрафтоподобному. И требует резать по материалам. Ничего не имею против, но как-то не моё.
Название: Re: Экономия текстурного пространства, объединение одинаковых островков.
Отправлено: Samovar от 14 Май 2019, 22:48:29
Цитировать
Попробовал - не получилось совсем. Даже совместить острова. Туплю.
Да, проблема... но , думаю, решить можно, хоть и через ... танцы с бубном и кучу телодвижений, с помощью этого дополнения + стандартные средства :)
Упаковка текстур работает только с выделенными островами (кусками) развёртки... так что, тебе просто надо вначале выбрать все подобные дубликаты и убрать их куда нибудь за границы, оставив по  одному экземпляру. Далее всё это барахло внутри, без вынесенных за границу (для удобства последующего выбора) островов, выделить  и упаковать с помощью Ctrl+P. А далее, перейдя  в режим синхронизации выделения UV и полигонов (кнопка с изображениям кубика двух вершин и стрелки, cлева от четырёх кнопок режимов выделения UV), выделить один из полигонов упакованного внутри повторяющегося острова. Снова вернутся в режим выделения только UV развёртки (островов), выделить все подобные острова за границей, и нажать на T-панели кнопку Match Islands. Все выделенные подобные острова  сольются с тем, у которого выделен полигон (активный- последний выбранный полигон). Далее всё это дело повторить для подобных похожих островов, снова выделяя у одного из них полигон.
Надеюсь, разберёшься... не совсем автоматически, но, думаю, что сработает... и 20$ сэкономишь :)  Весь смысл, чтобы все повторяющиеся острова не выбирать, но обязательно выбрать из них только один для упаковки Ctrl+P...
Название: Re: Экономия текстурного пространства, объединение одинаковых островков.
Отправлено: lexpartizan от 14 Май 2019, 23:43:17
Спасибо за подробный гайд, пробовать буду уже завтра.
Название: Re: Экономия текстурного пространства, объединение одинаковых островков.
Отправлено: Anchoret от 25 Декабрь 2022, 06:36:35
Закрепить острова (Pin UV или как-то так) в UV списке.

Для компактности в инетах пишут еще про оверлапинг - наложение UV островков с одним и тем-же материалом и идентичной геометрией друг на друга в ЮВ карте + можно еще зеркалить симметричные острова через модификатор с предварительной разверткой (до применения модификатора).

П.С.: Тот же Array лепит все копии по одной (первоначальной)  развертке. Например нужно сделать черепицу и прочую чешую: разворачиваем тиражируемый объект в UV, забавляемся с модификатором или стеком модификаторов (Array), применяем и ... вуаля в UV карте на весь полученный конгломерат копий все эти самые копии оверлапятся друг на друге - профит.