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