Чтобы сделать черно-белый эффект из цветного изображения, надо взять цвет каждой точки в трех каналах RGB, найти среднее арифметическое и заменить им каждый из трех каналов в этой точке. Звучит немного сложно…

Например есть цвет RGB(0, 100, 200) его черно-белая копия будет (0+100+200) / 3 = 100 — RGB(100, 100, 100)

Создаем прямоугольник

Как сделать черно-белый фильтр в Spark AR?

Вставляем прямоугольник в новый проект (Insert -> Rectangle), растягиваем его по ширине устройства (Fill Parent), и ставим Flixibility по горизонтали и вертикали.

Как сделать черно-белый фильтр в Spark AR?

У нас получился прямоугольник точно по размерам устройства, теперь добавим ему новую текстуру, нажав на «+» возле Material.

Выносим текстуру в Patch Editor

Как сделать черно-белый фильтр в Spark AR?

Выделяем новый материал defaultMaterial0, в панеле свойств справа нажимаем на кружочек слева от Texture.

Как сделать черно-белый фильтр в Spark AR?

У нас открывается Patch Editor, на который вынесен наш материал.

Добавляем Camera Texture в Patch Editor

Как сделать черно-белый фильтр в Spark AR?

В обозревателе выделяем Camera и справа в настройках нажимаем «+» возле Texture Extraction. В списке материалов должна появиться новая текстура CameraTexture. Перетаскиваем ее в Patch Editor.

Работаем с Patch Editor

Как сделать черно-белый фильтр в Spark AR?

Итак, у нас есть 4х канальный выход RGBA с камеры, если его соединить с defaultMaterial0, то наш прямоугольник копирует изображение с камеры устройства. RGBA выход — это буквально цвет в каждом пикселе: красный, зеленый, голубой в диапазоне от 0 до 255 и альфа-прозрачность от 0 до 1 (в данном случае всегда 1).

Получаем значение каждого цвета отдельно

Чтобы посчитать среднее арифметическое чисел, нужно их сложить и поделить на их количество, в данном случае на 3.

Как сделать черно-белый фильтр в Spark AR?

Для начала надо преобразовать выход RGBA в отдельные числа, в этом нам поможет патч Unpack. Кликаем на пустое место в Path Editor правой кнопкой мыши (или дабл-кликом), ищем нужный нам патч и вставляем его.

Как сделать черно-белый фильтр в Spark AR?

В настройках патча (ПКМ по патчу) ставим тип Vector 4 и соединяем с ним текстуру камеры. Получаем на выходе отдельно значение каждого канала и альфу.

Считаем среднее арифметическое

Как сделать черно-белый фильтр в Spark AR?

Теперь осталось сложить три числа и поделить их на три. Добавляем патч Add, который складывает два числа, но т.к. надо сложить три числа, добавляем два таких патча и складываем по их очереди.

Как сделать черно-белый фильтр в Spark AR?

После добавляем патч Divide, в качестве делимого вставляем полученную сумму, а делителем просто указываем 3.

Собираем текстуру

Как сделать черно-белый фильтр в Spark AR?

Чтобы обратно собрать RGBA, нам поможет патч Pack, в настройках не забываем поставить тип Vector 4. Первые три значения будет наше среднее арифметическое, а в четвертое копируем альфу.

Как сделать черно-белый фильтр в Spark AR?

Соединяем результат с defaultMaterial0 и получаем черно-белое изображение 🤟

Это всего лишь один из способов, как добиться такого эффекта, на самом деле их очень много, все зависит от вашей фантазии 💫