Лол Если ваши 3дшники экспортят материалы напрямю из сабстенса - а не используют готовые шейдера и инстансы - их нудно бить, всмылсе нужно провести лекцию об оптимизации
Каждый шейдер материала можно упаковывать в зависимости от типа материала Например для однотонного снега или песка - можно и одной текстурой обойтись: 1 канал - тон диффуза 2 и 3й канал - нормалка 4й - канал на рафнес
по сути есть 3 типа упаковки : в 1 2 и 3 текстуры) и нужно сделать ноды распаковки.
Чего?) У тебя нормалка двухканальный BC5, как ты все упакуешь в одну текстуру? Нормали будут кринжевые DXT1/DXT5 что ли? АО так понимаю на диффузе рисовать? Как он будет рафнесс-метал блочить?
Каждый шейдер материала можно упаковать в зависимости от типа? Это сколько разных материалов нужно? Там по факту их нужно на всю игру 2-3 максимум, а остальное инстансы от них. 1) для прозрачных 2) для обрезки по маске (листья, етс) 3) для непрозрачки Делаешь убер-шейдер под каждый тип с возможностью замены слотов текстур на константы (через свичи). Ну типо или у тебя текстура ставится или ты вместо нее крутишь вектор3 константу. Допустим нужен материал досок с гвоздями. Там у меня текстуры: альбедо, ОРМ и нормали. Полный набор. А если нужно сделать тарелку керамическую, то в инстансе берём только альбедо, текстуру нормал мапы меняем на значение вектор3, и вместо текстуры ОРМ тоже крутим вектора. Все. А то какие-то упаковки, какие-то распаковки.... Не, я понимаю - оптимизация. Но я так заморачивался, когда ещё была гтх650ти на 2 Гб памяти.
Лол
Если ваши 3дшники экспортят материалы напрямю из сабстенса - а не используют готовые шейдера и инстансы - их нудно бить, всмылсе нужно провести лекцию об оптимизации
Каждый шейдер материала можно упаковывать в зависимости от типа материала
Например для однотонного снега или песка - можно и одной текстурой обойтись:
1 канал - тон диффуза
2 и 3й канал - нормалка
4й - канал на рафнес
по сути есть 3 типа упаковки :
в 1 2 и 3 текстуры)
и нужно сделать ноды распаковки.
А меня даже бить не нужно, я бы на такую лекцию сходил )
Чего?) У тебя нормалка двухканальный BC5, как ты все упакуешь в одну текстуру? Нормали будут кринжевые DXT1/DXT5 что ли? АО так понимаю на диффузе рисовать? Как он будет рафнесс-метал блочить?
Каждый шейдер материала можно упаковать в зависимости от типа?
Это сколько разных материалов нужно?
Там по факту их нужно на всю игру 2-3 максимум, а остальное инстансы от них.
1) для прозрачных
2) для обрезки по маске (листья, етс)
3) для непрозрачки
Делаешь убер-шейдер под каждый тип с возможностью замены слотов текстур на константы (через свичи). Ну типо или у тебя текстура ставится или ты вместо нее крутишь вектор3 константу.
Допустим нужен материал досок с гвоздями. Там у меня текстуры: альбедо, ОРМ и нормали. Полный набор.
А если нужно сделать тарелку керамическую, то в инстансе берём только альбедо, текстуру нормал мапы меняем на значение вектор3, и вместо текстуры ОРМ тоже крутим вектора. Все. А то какие-то упаковки, какие-то распаковки.... Не, я понимаю - оптимизация. Но я так заморачивался, когда ещё была гтх650ти на 2 Гб памяти.