How would I create a system that rolls a dice, and detects what the side lands on? I COULD just use Raycasts or Vector3.Dot or something, but how would I do that with a four-sided dice? Eight-sided? Ten-sided? Twenty-sided? Is there a simple system for doing this? Is it possible to simply detect the side that is touching the floor?
You can get the collision’s contact points, and from there find the direction to from the centre to the collision point. You’ll have to figure out in advance the direction to each face, which there’s probably an elegant way of doing which I am unaware of. Rigidbody physics could probably handle rolling the die itself, after an initial force applied. Then, just wait until it’s stopped, use the contact points to find the face on the bottom, compare the angle and you’ve got the face. If you want the opposite face to the one on the bottom, just reverse the angle before comparing it.