Привет! Я недавно писал материал в бложек
о конвертации цветов NCS в формат HSV, понятный максу и предлагал несколько OSL карт. А также пообещал сделать карту-конвертер из RAL Classic в NCS, на базе каталога, который имеет таблицу соответствия, при том, на мой взгляд довольно точную, и соответствия эти как раз не по каталогу NCS, где цвета ограничены определенной логикой, а именно по модели, т.е. допускающие цвета вроде 4428-Y26R, чего в самом каталоге NCS найти не получится никогда, а вот зато перевести это в понятный 3dsMax вид очень даже возможно.
Решил оформить это постом на форуме. Во-первых потому, что на форуме удобнее обсуждать, и тема всплывает наверх, в отличии от блога, так что когда я сообщаю об обновлении (или не я - код то открытый ;) ) - это будет заметнее интересующимся. Во-вторых - комментарии виднее, и можно цитировать, что тоже удобнее.
Вкратце напомню: NCS - это цветовая модель и каталог цветов. А коль скоро это модель, то должен быть математический способ конвертации цветов из NCS в какую либо иную цветовую модель. Наиболее удобной оказывается модель HSV, которую прекрасно понимает 3dsMax, и именно в нее логичнее всего делать конвертацию. Однако как оказалось, конвертация чистой математикой не то что бы терпит фиаско, но требует доработки надфилем. Так, к примеру, все цвета содержащие в себе синие оттенки (а именно зеленые, синие и красные) нужно корректировать, так как за базовый синий в NCS принят другой оттенок, не тот, что в используемой HSV. По ощущениям это что-то среднее между синим в RGB и цианом в CMY(K), но как сильно делать смещение и на какую величину - описания я не нашел. Так что подобрал эмпирически. Так же модель NCS увязывает тон и насыщенность (так называемый нюанс - первые четыре цифры в палитре NCS: первые две чернота, вторые две - хроматичность) - вместе они не могут быть больше 100. Но это приводит к некоторым казусам, когда цвета с нюансами 4050 и 5040 в каталоге разные, а при конвертации - не отличаются друг от друга из-за этой увязки, пришлось и сюда вмешаться. Поэтому в карте присутствует два метода исчисления. Основной (по умолчанию), в котором хроматичность конвертируется напрямую в насыщенность и чернота обратна пропорциональна Value в HSV. И альтернативный, в котором я пытаюсь скрестить ежа с ужом, итоговый цвет получается более плотным, но на рендере с дополнительным освещением, всякой разной экспозицией, как мне кажется он выглядит точнее. Но это вопрос дискуссионный и возможно все еще требующий напильника.
Так же я добавил OSL карту, с таблицей соответствия RAL и NCS. Теперь можно проделать вот такую штуку:
Работает только с RAL Classic, учитывает не все цвета, так как в RAL присутствуют не передаваемые через NCS перламутровые цвета ,флуоресцентные и т.п. но их не много. Всего имеется 185 из 213 цветов.
Как всегда, пожалуйста, тестируйте. Давайте обратную связь.
Ссылка на архив с картами.
UPD: Добавил в архив OSL карту конвертирующую RAL Design в RGB
RAL Design в отличие от RAL Classic, как и NCS, является цветовой моделью, но здесь уже в основе лежит модель Lab и XYZ. Сначала происходит конвертация в Lab, затем в XYZ, и потом в RGB.
Ссылка на архив с картами.
UPD 18.05.2023: Переписал все нафиг.
Переназначил реперные точки базовых цветов с выведенных эмпирически на обнаруженные в вики. Так же учел некоторые нюансы в расчетах Value и Saturation. Избавился от лишних галочек. По моим ощущениям стало лучше. Многие цвета выходят точнее относительно печатного каталога (субъективно, конечно), чем образец на офф сайте.
Прошлая версии сохранена по старому адресу.
Ссылка на архив с картами
upd: добавил свою тестовую сцену. 19 Макс, маты в 9 короне. Освещение: hdri пасмурная и солнечная.