Estoy haciendo un juego de estilo Monopoly para Unity. ¿Cuáles son algunos consejos que puedo usar?

Solo explicaré cómo implementaría el dado rodante. Es un buen ejercicio, por lo que creo que será mejor que resuelva los detalles usted mismo.

Desea tener un cubo texturizado como dado. El cubo predeterminado de Unity tiene la misma textura en todos los lados, por lo que desea modelar su propio cubo y desenvolverlo correctamente. O si eres perezoso, simplemente incrusta diferentes números de esferas en la superficie y hazlas negras.

De todos modos, el cubo debe tener un colisionador Box y un componente de cuerpo rígido. Por supuesto, debe caer sobre una mesa que también tenga un colisionador conectado. Eso se encargará de la física.

Para el guión hay un poco de matemática vectorial complicada, pero debería ser manejable. Haga que el dado gire al azar mientras el jugador mantiene presionado un botón, y se lanza en una dirección ligeramente aleatoria cuando se suelta el botón. La rotación aleatoria se puede lograr agregando un vector aleatorio a la velocidad angular y redimensionándolo a una magnitud constante en el paso de actualización.

Después del lanzamiento, verifique si la velocidad del dado es 0, o casi 0 en el paso de actualización. Si es así, el dado debe estar descansando sobre la mesa, por lo que puede usar la rotación para determinar qué cara está hacia arriba. La forma más fácil de hacer esto es colocar el dado manualmente en cada posición por separado y anotar qué ángulos corresponden a cada cara que está hacia arriba. En cada estado, algunos ángulos serán importantes y otros no. De todos modos, en el código puede iterar sobre las condiciones de cada cara y hacer que su script determine el resultado de esa manera.

Debe crear un sistema de cuadrícula para mover al jugador,

Crea el mapa:

Ir → Propiedad-1 → Cárcel → Café → Ir

Ahora cree una estructura:

mosaico de estructura privada {
nombre de cadena; // Nombre del mosaico
GameObject obj; // Objeto para representar el mosaico
tipo de cadena; // tipo de mención: (prop: propiedad, trans: transporte….)
}

Posición Cada obj de acuerdo con la posición del mosaico, ya que su transformación se usaría más tarde …

Ahora crea una matriz de estructuras y muéstralas en el inspector …

[matemáticas] mosaico [] mosaicos [/ matemáticas]

Para el movimiento

Obtenga The Tiles Array …

para cada jugador almacena la posición actual en var crpos

agrégalo cuando el jugador se mueva y comprueba si crpos está dentro del último mosaico del mapa …

si no, entonces [math] crpos = crpos + 1-tiles.length [/ math]

Ahora para mover al jugador …

gameObject.transform.position = tiles [crpos] .obj.transform.position; // Lerp se puede usar, y lo mismo para la rotación …

Ortus Publishing escribe libros en la programación de juegos, puede ayudarte en este asunto, brindan una solución y una guía hacia el estilo Monopoly, puedes visitar su página de Facebook / publicación en línea