Haga que la visibilidad de la plataforma sea distinta del fondo


15

Tengo un juego de tipo corredor infinito 2D cuyo fondo cambia constantemente de color. Mientras tanto, el color de las plataformas se mantiene igual. De esta manera, las plataformas en algún momento (cuando su color es el mismo que el del fondo) se vuelven "invisibles" para el jugador.

¿Cómo puedo evitar de manera creativa, breve y conveniente este problema con la unidad?

PD: Intenté agregarle material brillante, pero no funcionó .

Respuestas:


20

Viejo truco - nuevo aspecto:

Ejemplo 1

Agregue una capa de color a sus plataformas que ayude a mantener esa línea definida.

Ejemplo 2

Su solución de línea u otros gráficos puede variar, pero el principio es el mismo: el color que elija puede ser tan sutil o tan rígido como lo necesite.


La respuesta más atractiva de toda mi ... Diría que la vida aquí, pero todos sabemos que sería una mentira. i1.memy.pl/obrazki/8f68408024_no_life.jpg
ZenVentzi

1

Como se trata de un corredor infinito, supongo que los colores de fondo se generan de forma procesal. No estoy seguro de su algoritmo, pero tome esa salida de color y limite su rango.

  1. Simplemente podría excluir los colores de su plataforma como una posible opción de color de fondo (pero el fondo podría ser un poco diferente y difícil de diferenciar). Por ejemplo: IF backColor = platformColor THEN GetNextBackgroundColor (). También podría crear una función 'IsColorSimilar (color1, color2)' para esto, pero más difícil.

  2. Use una lista de colores de fondo válidos conocidos, y recorra el ciclo.

  3. Tener diferentes 'estilos' de color para ambos. Su plataforma puede ser brillante y alegre, y limitar sus colores de fondo a colores desaturados. Debe alejarse de la forma tradicional RBG de representar colores y pasar a un modelo como HSL.

Un gran complemento de Unity para trabajar con colores es ColorTools. Cuesta $ 10, pero vale la pena. https://www.assetstore.unity3d.com/en/#!/content/21966

Tiene métodos para generar colores para lo que está buscando, como Desaturate () para desaturar el color de fondo generado e IsSimilar () para verificar si los dos colores están demasiado cerca el uno del otro.

Puede encontrar otra funcionalidad similar de forma gratuita en otras bibliotecas en la red con un poco de búsqueda.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.