ncuxonaT писал: то есть приемлемое освещение запеклось у тебя за 17 минут
Это смотря что считать "приемлемым освещением". Оно варьируется от 8 секунд до 17 минут. 17 минут - это я вообще всё выкрутил на максимум, из интереса.
То что в аттаче, к примеру пеклось 34 секунды.
Цитата:
ncuxonaT писал: И запекать в оригинальную развертку с заданным разрешением нельзя?
Так в OBJ нет второго канала для лайтмапы
Алоритм там следующий - процессор мешей по возможности пытается использовать оригинальную текстуру развертку для лайтмапы. Следит за само-пересечениями и прочими вещами. Иногда он решает добавить что-то от себя по определённым соображениям. Или переключиться в режим проекционной развертки. Я могу конечно ввести флаг, который явным образом заставит использовать развертку пользователя, но учитывая, что широкораспространённых форматов с несколькими каналами UV мне не попадалось, считаю это преждевременным. Вполне вероятно что такая опция есть у COLLADA, FBX, BLEND но я не хочу с ними связываться.
А разрешение можно задать какое угодно. Раздельно для прямого и непрямого освещения. Собственно, меняя это разрешение я и варьировал время работы от 10 секунд до 17 минут.
Чтож на ГПУ (GF3080), ситуация куда более приятная при тех же временных затратах (5 минут). Семплов можно поставить много (я использую 8к семплов), и шум уже не так бросается в глаза, даже я бы сказал приближается в виреевскому результату без утечек. Но да, нужна мощная ГПУ, на процессорах даже топовых такое считать задолбаешься. Имеет ли оно какой смысл, решать вам.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Так оно выглядит с текстурами, в целом пока устраивает, по крайней мере пока не пощупаю компилятор Психопата.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Компилятор исходит из простого факта что UV напрямую нельзя использовать в качестве развертки для лайтмапы и в большинстве случаев так оно и есть.
Цитата:
ncuxonaT писал: и получить на выходе такую текстуру?
Я не могу получить на выходе такую текстуру, потому что компилятор генерирует страницы лайтмап сквозью геометрию, наполняющую уровень, независимо от кол-ва моделей. Я не использую подход "одна модель = одна лайтмапа", уже просто потому что во первых движок грузит лайтмапы секвентально и может совершать над ними групповые операции, во вторых эти лайтмапы бы все были разного размера и лежали непонятно где.
Если я чайник поставлю на разные уровни, куда мне класть лайтмапу запечённую для одного и того же чайника, но в разных условиях? Какое ей давать имя? Что будет, если я переименую чайник, а его лайтмапу - нет?
Дядя Миша писал: Компилятор исходит из простого факта что UV напрямую нельзя использовать в качестве развертки для лайтмапы и в большинстве случаев так оно и есть.
С чем это связано?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: Странный вопрос. Текстура может быть наложена как угодно.
Ну вот что я и говорил, что там месиво полигонное, но в целом использование 2х разверток в этом случае звучит куда логично. А ты говорил что я БСП нелюблю, я его люблю, просто работать с ним неудобно. Вот допустим ты яркость лайтмапы захочешь в фотошопе подкрутить, тебе что отдельно все эти кусочки пересохранять?
Ещё не много скриншотов с "боевых" локаций. Размер атласа 256х256, развертка SmartUV Project.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Я не понимаю, почему расчет освещения не отделим от развертки. Почему нельзя отключить блок, который генерирует страницы лайтмап, и оставить включенным тот блок, который считает освещение? Оставив развертку, которая есть на входе.
Добавлено 29-10-2021 в 19:41:
FiEctro как ты запеченную лайтмапу применяешь к материалу с нормалмапой в блендере?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: но в целом использование 2х разверток в этом случае звучит куда логично
Это общепринятая практика. В UE4 промежуточный формат меша позволяет сохранять 8 разверток, но я подозреваю, этот формат тянется с дошейдерных времён, сейчас такое просто не нужно.
Цитата:
FiEctro писал: Вот допустим ты яркость лайтмапы захочешь в фотошопе подкрутить, тебе что отдельно все эти кусочки пересохранять?
Странный какой. Простые операции логичнее делать прямо в шейдере, а не в котошопе. Да и вообще я скпетически отношусь к редактированию лайтмапы в графическом редакторе. Размоешь её там своими фильтрами и лайтлики полезут. Рази что слово матерное написать на лужайке.
Цитата:
FiEctro писал: я БСП нелюблю, я его люблю, просто работать с ним неудобно
Опять BSP приплёл.
Цитата:
ncuxonaT писал: Я не понимаю, почему расчет освещения не отделим от развертки
Ты про NT? Эти вещи никак не связаны на самом деле.
Там есть меш-процессор, который грузит мешы из популярных текстовых форматов и генерирует им нужную развертку, сохраняя в нативный формат XashNT с расширением .csm Формат этот удобен тем, что может модифицироваться на лету как компиляторами, так и редактором. Т.е. можно запечь в него любую развертку, сгенеренную где угодно. И компилятор будет использовать именно её. Естественно я предусмотрел такой вариант. Но! Поскольку редактора пока еще нет, используется автоматический вариант. Впрочем у Немякса есть плагин для блендера, позволяющий сохранять в csm. И вот с его помощью можно сохранить исходную развертку в оба канала, таким образом заставив движок её использовать. Когда будет редактор, я естественно при импорте меша выведу диалог как поступить с разверткой, возможно там будет несколько плагинов для её генерации. Ну а пока - вот так.
Добавлено 29-10-2021 в 21:06:
Цитата:
FiEctro писал: Размер атласа 256х256
Кстати. При разработке движка я больше всего был шокирован тем фактом, что размер страницы надо задавать вручную. Ректангл-пакерами весь гитхаб завален, а адаптивных вычислителей размера страницы нет вообще.
Не сказать, чтобы это была особенно сложная задача, но здесь проблема в другом. Мы контролируем не разрешение лайтмапы по-сурфейсно, мы контролируем за каким-то чёртом размер итоговой страницы. Да на кой мне его знать вообще?
Я просто хочу чтобы на один тексель пришёлся один люксель и мне плевать какого разрешения получится страница (ну с точки зрения пользователя).
Или я хочу чтобы на 8х8 текселей пришёлся один люксель. Ну или заменим тексели на юниты, чтобы отвязаться от масштаба текстуры (по умолчанию тексель равен юниту с идентичным скейлом, если кто вдруг не знал).