Решил вопрос с разверткой для чайника. Собственно, я поначалу тоже несколько удивился. Дело в том, что генератор развертки - умный.
Он по умолчанию пытается использовать именно текстурную развертку в качестве лайтмапной, попутно флипая зеркальные группы и проверяя развертку на тайлинг и самопересечение. Т.е. специально подготовленную развертку от Психопата он должен был пропустить в неизменном виде по результатам анализа этой развертки. Однако ему что-то не понравилось.
Всё дело оказалось в очень маленьких полигонах чайника. Есть там такие супермелкие полигоны, на которых, соответственно и площадь развертки мелкая. И вот эти полики генератор развертки посчитал инвалидными и выкинул их из группы, предоставив в дальнейшем компилятору самому решать что с ними делать. Я эту проверку просто убрал, по логике вещей процессор мешей не должен этим заниматься. Вот если там NAN дело другое.
Добавлено 29-10-2021 в 23:29:
Хы. Для чайника даже автолоды построились
Добавлено 29-10-2021 в 23:36:
Кстати. Лайтмаппер умеет делать одну важную вещь. Для заврапленных развёрток он умеет определять их шов, ну пока не на 100%, но обычно находит. Я исходил из того, что это единственный кейс, который не может быть решён через обычные бесшовные лайтмапы и соответственно нуждается в замазке.
Визуализация найденного шва
Замазка
Вот спонза. К сожалению у оригинальной спонзы очень плохая UVха, пришлось генерировать собственную, и сгенерила она её откровенно так себе, те лайтлики что можно наблюдать слева как раз следствие этого. Ну и плюс от хреновой сетки как раз где пол заходит за стенку. В общем всё это можно пофиксить, но мне не хочется с этой спонзой долго возиться, может когда нибудь в будущем портирую свою спонзу. А пока держите оригинал:
Время запекания 15 минут, разрешение атласа 2048, количество сэмплов 8к + деноизер.
Если у кого то есть модель с исправленной UV, скиньте сюда. Попробую запечь на ней.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: А где львы и занавески?
Это неполная спонза. Ты крайтековскую возьми.
Это оригинальная спонза.
Найди мне версию с нормальными UV и без всратых треугольников. Я пробовал крайтековскую но там островки друг друга во многих местах перекрывают.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша
Это тоже что и я ковырял. Не, такое увы не годится. Если только каждому материалу свою лайтмапу запекать, как это делает халфовский компилятор. Что будет плодить лишние проходы. К тому же там есть примитивы у которых UV карта перекрывает сама себя, что будет приводить к артефактам на лайтмапе.
У меня же лайтмапа пакуется в единый атлас.
Цитата:
Дядя Миша писал: Бред какой-то. Ну перекрывают и что? Главное чтобы островок не загибался сам на себя.
Сам подумай, пиксель текстуры в этом месте один, а полигонов лежит на нём 2-10, и все из разных мест. Да и загибаются на тех же столбах и занавесках.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Собрал Спонзу. Хотел еще утром собрать, но сначала решил сжать текстуры в DXT и с удивлением заметил, что нормалмапы с кучей артефактов. Начал разбираться и выяснилось, что на некоторых спонзовских нормалках normal.z бывает менее нуля. Пришлось написать анализатор компрессии параболической проекции, для каждого текселя, чтобы решить, можно жать эту текстуру в ATI2N или оставить в DXT1c. Спонза вообще не особенно аккуратно сделана, там есть 80 полигонов с инвалидной площадью наложения текстуры и один дегенерат.
В остальном прошло гладко, правда я для теста пока оставил дефолтное разрешение люкселей - 16. Разумеется никаких лайтликов нет.
Вот только эти простыни свисающие бесят, они из четырёх кусков сделаны, мои тулзы не могут для них сконструировать нормальную развертку.
Время запекания - 6 минут. Увеличу разрешение лайтмапы, выложу еще скриншотов.
Дядя Миша писал: Лайтмаппер умеет делать одну важную вещь. Для заврапленных развёрток он умеет определять их шов, ну пока не на 100%, но обычно находит. Я исходил из того, что это единственный кейс, который не может быть решён через обычные бесшовные лайтмапы и соответственно нуждается в замазке.
А если заюзать переполнение буфера (255+1=0) для того чтобы получилось зацикленное численное просранство и развертка оборачивалась вокруг колонны без начала и конца?
Crystallize писал: А если заюзать переполнение буфера (255+1=0) для того чтобы получилось зацикленное численное просранство
Долго думал?
Собстсвенно Спонза с разрешением 1 люксель на 4 текселя. В ксаш-моде я обычно её собирал с разрешением 1 люксель на 8 текселей. У меня получилось 8 страниц с разрешением 1024х1024. В принципе, потребление памяти пустяшное - мегабайт 80 всего, прямой свет считается полминуты, непрямой - 2 минуты, но всё портит фаза интерполяции\смешения прямого с непрямым светом. Когда-нибудь у меня руки дойдут и этот код я перепишу.
Вообщем полчаса времени это отняло.
Общий вид
Всё гладенько, никаких лайтликов
Развертку компилятор генерил. Грёбанные полотенца. Ну зачем, зачем их на четыре части порезали
Вид со стороны падающего солнца
Вид с противоположной стороны
Помните я говорил, что моя удалялка швов к сожалению не совсем идеально работает. Вот как раз такой случай: Видите "коцки"?
А вот как механизм задетектировал этот шов
Там где люксели не раскрасились, шов не нашёлся. Увы. От топологии зависит. Потом подумаю, что с этим сделать.
Дядя Миша писал: что нормалмапы с кучей артефактов. Начал разбираться и выяснилось, что на некоторых спонзовских нормалках normal.z бывает менее нуля. Пришлось написать анализатор компрессии параболической проекции, для каждого текселя, чтобы решить, можно жать эту текстуру в ATI2N или оставить в DXT1c. Спонза вообще не особенно аккуратно сделана, там есть 80 полигонов с инвалидной площадью наложения текстуры и один дегенерат.
В остальном прошло гладко, правда я для теста пока оставил дефолтное разрешение люкселей - 16. Разумеется никаких лайтликов нет.
Вот только эти простыни свисающие бесят, они из четырёх кусков сделаны, мои тулзы не могут для них сконструировать нормальную развертку.
А я о чём говорил, спонза не то что неаккуратно сделана, а сделана она на от... . Разные модельки арок и стен кое как прижаты друг к другу, в развертке вообще конь не валялся. За такие модели по рукам больно бить надо. Но может на то он и стресс тест, что даёт тебе самую убогую модель. А насчет полотенец я предупреждал. Но в целом неплохой результат. Но лайтлики всеравно есть, да и не удивительно.
Когда нибудь может я её пофикшу и нормально разверну, но думаю наверное даже не в этом году.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!