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.
- Mi esposo murió el año pasado y dejó un poco de dinero. ¿Debo usar un asesor financiero para invertir 100K por mí? No confío en mí mismo para hacerlo solo.
- Tengo casi 20 años y siento que no voy a ninguna parte de mi vida. ¿Qué debo hacer?
- Conozco alrededor de 30 jugadores que juegan League of Legends, y ninguno de nosotros tiene problemas para jugar. ¿Por qué la gente dice que nadie juega con el apoyo?
- Estoy basado en el Reino Unido y he desarrollado un dispositivo de electrónica de consumo de prueba de concepto, ¿qué debo hacer ahora para poder venderlo (marcado CE?)?
- Estoy cambiando de salario a horario, ¿qué pasa después?
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.