Answers:
旧技巧-新外观:
在您的平台上添加一层颜色,以帮助保持定义的线条。
您对线条或其他图形的解决方案可能会有所不同,但原理是相同的-您选择的颜色可以根据需要是微妙的或鲜明的。
由于这是一个无限的跑步者,因此我假设您的背景色是按照程序生成的。我不确定您的算法,但可以使用该颜色输出并限制其范围。
您可以简单地将平台颜色排除为可能的背景颜色选项(但背景可能略有不同并且很难区分)。例如:IF backColor = platformColor THEN GetNextBackgroundColor()。您也可以为此创建一个'IsColorSimilar(color1,color2)'函数,但是更加困难。
使用已知有效背景色的列表,并在它们之间循环。
两者都有不同的颜色“样式”。您的平台可能会明亮开朗,并将您的背景颜色限制为不饱和的颜色。您需要摆脱传统的表示颜色的RBG方式,而要转向诸如HSL之类的模型。
ColorTools是用于处理颜色的出色Unity附加组件。它的价格为10美元,但值得。https://www.assetstore.unity3d.com/zh/#!/content/21966
它具有生成所需颜色的方法,例如Desaturate()用于使生成的背景颜色去饱和,而IsSimilar()则用于检查两种颜色是否过于接近。
您可以通过搜索在网上的其他库中免费找到其他类似的功能。