चूंकि यह एक अनंत धावक है, मुझे लगता है कि आपके पृष्ठभूमि के रंग प्रक्रियात्मक रूप से उत्पन्न होते हैं। मुझे आपके एल्गोरिथ्म पर यकीन नहीं है, लेकिन उस रंग आउटपुट को लें और उसकी सीमा को सीमित करें।
आप एक संभावित पृष्ठभूमि के रंग विकल्प के रूप में बस अपने प्लेटफ़ॉर्म रंग (नों) को बाहर कर सकते हैं (लेकिन पृष्ठभूमि थोड़ा अलग हो सकती है और अलग करने के लिए कठिन हो सकती है)। उदाहरण के लिए: IFColor = platformColor THN GetNextBackgroundColor ()। आप इसके लिए 'IsColorSimilar (color1, color2)' फंक्शन भी बना सकते हैं, लेकिन अधिक कठिन।
ज्ञात मान्य पृष्ठभूमि रंगों की सूची का उपयोग करें, और उनके माध्यम से चक्र करें।
दोनों के लिए अलग-अलग रंग 'स्टाइल' हों। आपका प्लेटफ़ॉर्म चमकीला और हँसमुख हो सकता है, और आपके बैकग्राउंड रंगों को डीसैचुरेटेड रंगों तक सीमित कर सकता है। आपको रंगों का प्रतिनिधित्व करने के पारंपरिक आरबीजी तरीके से दूर जाने की जरूरत है, और एचएसएल जैसे मॉडल में चले जाएं।
रंगों के साथ काम करने के लिए एक महान एकता ऐड-ऑन ColorTools है। इसकी कीमत $ 10 है, लेकिन यह इसके लायक है। https://www.assetstore.unity3d.com/en/#!/content/21966
इसमें आपके द्वारा खोजे जा रहे रंगों को उत्पन्न करने की विधियाँ हैं, जैसे कि आपके उत्पन्न पृष्ठभूमि के रंग को हटाने के लिए Desaturate () और IsSimilar () यह जाँचने के लिए कि क्या दोनों रंग एक दूसरे से मेल खाते के बहुत करीब हैं।
आप खोज के एक बिट के साथ नेट पर अन्य पुस्तकालयों में मुफ्त के लिए अन्य समान कार्यक्षमता पा सकते हैं।