Поскольку это бесконечный бегун, я полагаю, что ваши фоновые цвета генерируются процедурно. Я не уверен в вашем алгоритме, но возьмите вывод этого цвета и ограничьте его диапазон.
Вы можете просто исключить цвет (ы) вашей платформы в качестве возможного варианта цвета фона (но фон может быть немного другим и трудно различимым). Например: IF backColor = platformColor THEN GetNextBackgroundColor (). Для этого вы также можете создать функцию IsColorS Similar (color1, color2), но более сложную.
Используйте список известных допустимых цветов фона и прокручивайте их.
Иметь разные цветовые «стили» для обоих. Ваша платформа может быть яркой и веселой и ограничивать фоновые цвета ненасыщенными цветами. Вам необходимо отойти от традиционного способа представления цветов в RBG и перейти к модели, такой как HSL.
Отличным дополнением Unity для работы с цветами является ColorTools. Это стоит 10 долларов, но оно того стоит.https://www.assetstore.unity3d.com/en/#!/content/21966
У него есть методы для генерации цветов для того, что вы ищете, такие как Desaturate () для обесцвечивания вашего сгенерированного цвета фона и IsS Similar (), чтобы проверить, слишком ли близки два цвета друг к другу.
Вы можете найти другие аналогичные функции бесплатно в других библиотеках в сети с небольшим поиском.