Сделайте видимость платформы отличной от фона


15

У меня есть 2d бесконечная игра типа бегун, фон которой постоянно меняет свой цвет. Между тем цвет платформ остается прежним. Таким образом, платформы в какой-то момент (когда их цвет совпадает с цветом фона) становятся «невидимыми» для игрока.

Как я могу творчески, в короткие сроки и удобно избежать этой проблемы с единством?

PS Я пытался добавить глянцевый материал, но это не сработало .

Ответы:


20

Старый трюк - новый взгляд:

Пример 1

Добавьте слой цвета на свои платформы, который поможет сохранить эту определенную линию.

Пример 2

Ваше решение в виде линии или другой графики может отличаться, но принцип тот же - выбранный вами цвет может быть настолько тонким или резким, насколько вам нужно.


Самый красивый ответ за всю мою жизнь. Я бы сказал, что жизнь здесь, но мы все знаем, что это ложь. i1.memy.pl/obrazki/8f68408024_no_life.jpg
ZenVentzi

1

Поскольку это бесконечный бегун, я полагаю, что ваши фоновые цвета генерируются процедурно. Я не уверен в вашем алгоритме, но возьмите вывод этого цвета и ограничьте его диапазон.

  1. Вы можете просто исключить цвет (ы) вашей платформы в качестве возможного варианта цвета фона (но фон может быть немного другим и трудно различимым). Например: IF backColor = platformColor THEN GetNextBackgroundColor (). Для этого вы также можете создать функцию IsColorS Similar (color1, color2), но более сложную.

  2. Используйте список известных допустимых цветов фона и прокручивайте их.

  3. Иметь разные цветовые «стили» для обоих. Ваша платформа может быть яркой и веселой и ограничивать фоновые цвета ненасыщенными цветами. Вам необходимо отойти от традиционного способа представления цветов в RBG и перейти к модели, такой как HSL.

Отличным дополнением Unity для работы с цветами является ColorTools. Это стоит 10 долларов, но оно того стоит.https://www.assetstore.unity3d.com/en/#!/content/21966

У него есть методы для генерации цветов для того, что вы ищете, такие как Desaturate () для обесцвечивания вашего сгенерированного цвета фона и IsS Similar (), чтобы проверить, слишком ли близки два цвета друг к другу.

Вы можете найти другие аналогичные функции бесплатно в других библиотеках в сети с небольшим поиском.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.