Estoy haciendo un juego para iOS usando las librerías cocos2d.Agregando colores (colores) juntos como Paint (azul + amarillo = verde, etc.)
Digamos que tiene dos objetos que tienen dos colores diferentes - definidos en RGB como
Blue: 0,0,255
Yellow: 255,255,0
Quiero añadir azul y amarillo para hacer verde.
Para complicar las cosas, digamos que el objeto azul es más grande que el objeto amarillo (por razones de argumento digamos que la relación es 2: 1), estoy agregando el doble de azul que amarillo - cómo para calcular este nuevo color (verde claro) correctamente.
Entiendo que LAB * Color Space es útil para este tipo de cosas de "color natural", pero no estoy seguro de cómo usarlo, especialmente en el contexto de un objeto cocos2d que (AFAIK) está limitado a usando RGB en sus esquemas de color.
Realmente agradecería ayuda práctica sobre cómo implementar esto. ¡Montones de gracias!
21/4 Actualización: En LAB * azul + amarillo ≠ verde (lo que tiene sentido cuando ve they're at opposite ends of the same channel). En realidad, es un problema bastante complicado con un littlebit de discusión sobre SO. Parece que la respuesta final es usar el método Kubelka-Munk que usa una pieza de software de código abierto llamada Krita. No puedo encontrar eso en ninguna parte (ni la fórmula ni el código en sí).
This question tiene a link que utiliza HSL para trabajar en un método similar para pintar. Voy a tratar de ver si funciona, y retrocederé el resultado aquí.
Mientras tanto if anyone knows how to implement Kubelka-Munk o donde puedo encontrar el código para hacer esto, u otra solución, ¡estaría muy, muy feliz!
'Azul + Yellow' no es' Green', aunque se entera de que en el preescolar. A lo que se refiere en realidad es a un modelo de color sustractivo simple como CMYK, donde '1 - Cyan - Amarillo ≈ Verde '(con' Cian ≈ Azul '). – leftaroundabout