Generating Random Numbers in Unity [Spanish]

Rusben Guzman
3 min readMay 14, 2021

En los videojuegos es muy común el uso de valores aleatorios, podríamos crear power ups como en Mario Kart o premios secretos como en los cofres de Clash Royale. Unity provee el método Random.Range()para generar números aleatorios, recibiendo como parámetros el mínimo y el máximo del rango dentro del que se quiere el número.

Si pasas como parámetro un valor entero (int) se generara un número entre “min” y “max — 1”, pero si pasas como parámetro un valor decimal (float) retornara un valor entre “min” to “max”.

Ok pero los números por sí solos no nos permiten hacer mucho, asi que vamos a ir más allá, en este ejemplo crearemos un script para cambiar el color del jugador cada vez que se presione la tecla espacio.

  • Abre el script del jugador y declara un array de Color para definir el rango de colores que puede tomar el jugador.
  • Seguido, tenemos que detectar la tecla espacio:
  • Ahora vamos a generar un número aleatorio que luego usaremos para acceder a un elemento del array:
  • Para cambiar el color, tenemos que usar GetComponent<Renderer>.material.color y asignar el color correspondiente en el array:
  • Y eso seria todo ya tenemos cambio de color en nuestro juego:

Los valores random son muy útiles y tienen muchas aplicaciones, se creativo y lograras muchas cosas interesantes en tus juegos.

--

--

Rusben Guzman

A Software Engineer passionate about game dev and interactive products with Unity. I consider video games to be the artistic expression of programming.