Автор Тема: Экономия текстурного пространства, объединение одинаковых островков.  (Прочитано 2831 раз)

Оффлайн lexpartizan

  • Житель
И снова о наложении одинаковых островков текстур.
Есть ли какой-нибудь бесплатный аддон, чтобы наложил одинаковые острова друг на друга и они больше не разделялись при нажатии кнопки pack? Дальше хотелось бы упаковать их бесплатным аддоном Gpack (метод утруски в прямом смысле слова), что меня бы устроило.

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

Вдруг кто в курсе, как это решается простыми методами, без доставания и долгого прощания с двадцаткой зелёных?

Оффлайн Samovar

  • Житель
Вручную упакуй и запекай в одну текстуру, или используй Projection Paint с одной UV на другую :) А вообще, это не один метод экономии, хоть и экономит место, но не стоит доходить до фанатизма... кроме него ещё есть  куча более эффективных методов оптимизации:
  • Использовать текстуры в формате DDS (в видеопамяти они хранятся оптимизировано и занимают гораздо меньше места чем иные форматы)
  • Использовать четыре черно-белых текстуры для диффузного цвета, упакованные в одну цветную (RGBA) и тонировать их градиентным маппингом, если движок позволяет (BGE позволяет узлы материалов,  они конвертируются в GLSL). Так Valve "генерировала" различную одежду и прочие текстуры для кучи разных зомбаков (тоже генерированных из нескольких моделей) для Left 4 Dead 2. https://steamcdn-a.akamaihd.net/apps/valve/2010/GDC10_ShaderTechniquesL4D2.pdf
Цитировать
…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
« Последнее редактирование: 14 Май 2019, 19:51:17 от Samovar »

Оффлайн Samovar

  • Житель
Ещё попробуй это дополнение для выравнивания и распределения кусков развёртки вручную. Умеет объединять подобные куски в одном и том же пространстве развёртки.
https://github.com/c30ra/uv-align-distribute

Оффлайн lexpartizan

  • Житель
Вручную упакуй
Это неинтересно. Эффект есть не всегда, а труда требует немало.
Про текстурные атласы знаю, люблю, использую. Потому островков довольно много. И их желательно паковать плотнее.

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

текстуры в формате DDS
Спасибо, не знал. Думал, что jpeg и png наше всё.
Каналы вместо чёрно-белых карт использую, конечно.
Тайлинг не слишком интересен, ибо специфичен к совсем уж майнкрафтоподобному. И требует резать по материалам. Ничего не имею против, но как-то не моё.
« Последнее редактирование: 14 Май 2019, 21:54:29 от lexpartizan »

Оффлайн Samovar

  • Житель
Цитировать
Попробовал - не получилось совсем. Даже совместить острова. Туплю.
Да, проблема... но , думаю, решить можно, хоть и через ... танцы с бубном и кучу телодвижений, с помощью этого дополнения + стандартные средства :)
Упаковка текстур работает только с выделенными островами (кусками) развёртки... так что, тебе просто надо вначале выбрать все подобные дубликаты и убрать их куда нибудь за границы, оставив по  одному экземпляру. Далее всё это барахло внутри, без вынесенных за границу (для удобства последующего выбора) островов, выделить  и упаковать с помощью Ctrl+P. А далее, перейдя  в режим синхронизации выделения UV и полигонов (кнопка с изображениям кубика двух вершин и стрелки, cлева от четырёх кнопок режимов выделения UV), выделить один из полигонов упакованного внутри повторяющегося острова. Снова вернутся в режим выделения только UV развёртки (островов), выделить все подобные острова за границей, и нажать на T-панели кнопку Match Islands. Все выделенные подобные острова  сольются с тем, у которого выделен полигон (активный- последний выбранный полигон). Далее всё это дело повторить для подобных похожих островов, снова выделяя у одного из них полигон.
Надеюсь, разберёшься... не совсем автоматически, но, думаю, что сработает... и 20$ сэкономишь :)  Весь смысл, чтобы все повторяющиеся острова не выбирать, но обязательно выбрать из них только один для упаковки Ctrl+P...

Оффлайн lexpartizan

  • Житель
Спасибо за подробный гайд, пробовать буду уже завтра.

Оффлайн Anchoret

  • Житель
Закрепить острова (Pin UV или как-то так) в UV списке.

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

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

 


Яметрика

* По форуму

* Рекламный блок

* Последние вложения

1 (1).png
Скачано: 65
Автор: LEXA ANЭGROWND
blender.png
Скачано: 75
Автор: ipv2007
4.png
Скачано: 97
Автор: hiroyukiss
2.png
Скачано: 120
Автор: hiroyukiss

Скачано: 110
Автор: Dilifa12