шейдер truckpaint основную тектсуру (texture_base) накладывает по первому каналу UV. раскраску (если нет, использует прозрачную текстуру empty.dds) накладывает по второму каналу UV, а если его в геометрии нет, то использует первый канал и для раскраски.
вариант шейдера truckpaint.altuv, доступный в патче 1.9 получился менее гибким - ему обязательно нужна геометрия с 3 каналами, даже если они не используются (кабина без раскраски). UV со второго канала он берет для раскрасок, которые сделаны по шаблону matching_pattern.dds, а UV с третьего канала он берет для раскрасок, у которых в конфиге (*.sii) прописан alternate_uvset: true
вариации этих шейдеров в исполнении с бамп-мэппингом .tsnmap и .tsnmap16 используют для бампа первый UV канал. Вариации с .tsnmapuv и .tsnmapuv16 - второй UV канал. Это задается в редакторе матов для текстурного слота BUMPMAP - какой канал выставишь, такой tsnmap** и пропишется.
Таким образом, если для трака будут сконфигурированы только "новые" собственные раскраски (которые alternate_uvset:true), то трех-канальный (по любому он получится с тремя каналами) truckpaint шейдер можно нагрузить оптимальными раскладками - на первом канале текстура+AO, на второй положить раскладку bump (может отличаться от AO текстуры если надо), а на третий канал загнать раскладку под раскраски. Собственно, так всё scs и задумывали, как мне кажется.