Зарплату сможете забрать в любой инди-компании.
Пять минут смеха, конечно, заменяют стакан сметаны, так что смейтесь на здоровье, но уровень знания предмета по которому вы берётесь поучать, пока вами продемонстрирован такой при котором даже в графический отдел инди-компании возьмут только кофе разносить...
Технически произвольный реколор можно сделать дюжиной разных способов. Проблема в том, что в движке использующим шейдера по минимуму (а WoW именно это случай) это будет дюжина одинаково поганой фигни.
Чтобы реколор был хотя бы визуально адекватен - нужна многоканальная текстура с нормал маппингом и картами блеска и отражения (это, так на минуточку, не три канала, а минимум семь - три на битмап, три на нормал маппинг и один на ту или иную технологию имитации блеска, и да - есть ещё параллакс-маппинг, ну да хрен бы с ним). Это технологии очень немножко не 2004 года раз и довольно фигово подходящие к уже устоявшимся моделям варкрафтовского движка.
И это, повторюсь, ситуация когда он хотя бы не будет выглядеть отвратительно. Чтобы он выглядел хорошо - этого одного недостаточно.
Ну я уже сказал, что можно так же поюзать дедовский способ. Софтварно подготовить пребэйкед текстуру. Шэйдеры в основном юзаются для экономии видеопамяти, т.к. позволяют все делать на лету. Но в данном случае экономии нет, так что без разницы. И вове никогда не было нормал маппинга. Даже бампмаппинга не было. Так что я не понимаю, почему идет этот разговор о плохом качестве реколоров? Близзард под плохим качеством реколоров как раз и имели то, что они хотят все сделать с одной текстурой. Из за этого реколорится будет вся моделька целиком. Нельзя будет сделать детали какого-то другого цвета. Например металлические, из ткани или кожи. И это будет выглядеть не очень. Для нормального качества реколора в вове достаточно всего лишь двух текстур. Диффузной, которая есть и сейчас, и маски, которая будет накладывать реколоры на определенные участки диффузной текстуры.
Какой в этом смысл? Смысл в том, что может быть у меня есть любимый цвет и я не хочу ходить в броне того цвета, которую мне дают близзард. Это часть кастомизации. Это часть уникальности персонажа. Я не хочу, чтобы мой персонаж ходил как брат-близнец со всеми другими персонажами, у которых есть такой же сет брони.
И да, у меня есть примеры правильной реализации данной технологии из других игр. Так что когда говорите, что качество фуфло, то стоит добавлять, что фуфло оно только у близзард.
Когда вы сравниваете с другими играми, вы упускаете тот факт, что эти игры изначально делались в разное время. Поэтому взять и просто вкрутить в игру, сделанную в 2004 году, то, что можно сделать в игре 2018 года - не получится.
WoW делался в 2004 году. Когда все эти шейдерные технологии находились в достаточно детском состоянии. Вышедший одновременно с ним второй Эверквест был явно заточен на новизну. Настолько, что сами разработчики честно писали, что максимальные настройки сделаны "на вырост" - с приемлемым фпс на них игра не шла тогда даже на самых топовых картах. А играли реально почти все на минималках, потому что эффекты от каста в группе (а тем более рейде) делали слайд-шоу даже на сильных машинах.
Близзарды решили особо не выделываться и гарантировать стабильную работу игры на тогдашних средних машинах. Поэтому сделали ставку не на технологии, а на работу художников. И сорвали банк.
Соответственно изначальная ситуация WoW - это одна рисованная текстура 256х256 пикселей на персонажа или модель (в Кате увеличили до 512х512 и сделали миксинг текстур на ландшафте в два набора текстурных координат). Текстур больших разрешений в Ванилле не было (я клиент потрошил и текстуры тянул). То, что игра при этом смотрелась вполне достойно - следствие именно того, что каждая текстура была отрисована вручную и отрисована исключительно хорошо (очень мало кто из наших художников вообще мог их хотя бы адекватно повторить).
Попытка это реколорить, как вы предлагаете, через маску и Channel Mixer - приведёт к резкому падению качества. И это говорю вполне обоснованно, потому что я это делать на текстурах пробовал и что там получается видел. Причина предельно проста - подобная текстура немонохромна. Тени, блики, отрисовка рельефа - они разноцветные. И вы никак не сможете этого добиться тупо через наложение по маскам. Просто потому, что для каждого колора придётся делать уникальные маски - разные цвета по одним и тем же маскам наложить с приемлемым качеством не получится.
Условно - чтобы на жёлтых штанах (три раза ку) нормально смотрелась тень - она должна иметь больше красного, а не просто сниженную яркость (или вы уйдёте в поганый оттенок детской неожиданности). Но если вы попытаетесь добавить красного в тень на синих или зелёных штанах - то получите о-о-очень своеобразный результат.
В итоге будете иметь ровно те же уникальные текстуры под каждый колор, только сделанные через задний проход, вместо того, чтобы просто их отрисовать...
А "в других играх" это работает потому, что там тени и прочие элементы не врисованы в текстуру вручную, а считаются программно. И там таки да - никто не мешает красить базовый битмап как вздумается - всё равно освещение на нём будет считаться процедурно и запекаться либо обрабатываться в реал-тайме.