"Мы активно работаем над уменьшением размера билда. Для этой цели созданы скрипты, которые проходят по всем материалам и объединяют текстуры по каналам. Так Specular Map и Emission будут упакованы в альфа-каналы NormalMap и ColorMap."
Степень сжатия альфа канала зависит от формата текстур которые используются(якрий пример 1 битная альфа, которая отвечает только за Есть Спекуляр/Нет спекуляра). Никто не мешает хранить текстуры в РГБ канале с таким же количеством бит. Поэтому некорректно приводить в пример "уменьшение размера билда" - это делается для уменьшения количества вызовов прохода рендера (DrawCall/SetPass), каналы будут браться из одной текстуры и соответственно в этом будет экономия. А чтобы экономить именно "размер билда" - гораздо эффективнее хранить спекуляры и эмиссии в файлах - которые меньше по размеру: 128*128 вместо 1024*1024(для эмиссии очень часто такого уменьшения достаточно без потери качества, со спекуляром сложнее, но он тоже поддается уменьшению без потери визуального качества от эффекта). За АО в вертекс колоре отдельное спасибо) но можно не забывать о том что есть ещё и РГБ цвет и в него можно запекать колорблидинг, а не просто чернобелое затенение как в случае с АО. В целом было интересно, почаще бы выкладывали подобный материал для просвещения независимых разработчиков у которых нет возможности обучаться в рамках студий :)
Мы используем текстурную компрессию с фиксированным размером на пиксель (PVRTC 4bpp, ETC2 8bpp), т.е. перенос спекуляра в альфа канал не влияет на её размер, а значит уменьшает общий. ) Для сценариев, когда нам нужно больше 2х дополнительных каналов, используем дополнительную текстуру, меньшего разрешения. Основной шейдинг у нас однопроходный, т.е. "уменьшения количества вызовов" не происходит, максимум можно получить - выигрыш в количестве чтений из текстуры. Но, учитывая префетч, вероятность "почувствовать" его на практике очень мала.
"Мы активно работаем над уменьшением размера билда. Для этой цели созданы скрипты, которые проходят по всем материалам и объединяют текстуры по каналам. Так Specular Map и Emission будут упакованы в альфа-каналы NormalMap и ColorMap."
Степень сжатия альфа канала зависит от формата текстур которые используются(якрий пример 1 битная альфа, которая отвечает только за Есть Спекуляр/Нет спекуляра). Никто не мешает хранить текстуры в РГБ канале с таким же количеством бит. Поэтому некорректно приводить в пример "уменьшение размера билда" - это делается для уменьшения количества вызовов прохода рендера (DrawCall/SetPass), каналы будут браться из одной текстуры и соответственно в этом будет экономия. А чтобы экономить именно "размер билда" - гораздо эффективнее хранить спекуляры и эмиссии в файлах - которые меньше по размеру: 128*128 вместо 1024*1024(для эмиссии очень часто такого уменьшения достаточно без потери качества, со спекуляром сложнее, но он тоже поддается уменьшению без потери визуального качества от эффекта).
За АО в вертекс колоре отдельное спасибо) но можно не забывать о том что есть ещё и РГБ цвет и в него можно запекать колорблидинг, а не просто чернобелое затенение как в случае с АО.
В целом было интересно, почаще бы выкладывали подобный материал для просвещения независимых разработчиков у которых нет возможности обучаться в рамках студий :)
Мы используем текстурную компрессию с фиксированным размером на пиксель (PVRTC 4bpp, ETC2 8bpp), т.е. перенос спекуляра в альфа канал не влияет на её размер, а значит уменьшает общий. )
Для сценариев, когда нам нужно больше 2х дополнительных каналов, используем дополнительную текстуру, меньшего разрешения.
Основной шейдинг у нас однопроходный, т.е. "уменьшения количества вызовов" не происходит, максимум можно получить - выигрыш в количестве чтений из текстуры. Но, учитывая префетч, вероятность "почувствовать" его на практике очень мала.