   Rolling Dice
  Hello,I'm trying to write a fully 3d dice rolling program. I have all the models done (4, 6, 8, 10, 12, and 20 sided) and I have renders of each face for each die, but I'm having some problems figuring out how to animate them rolling.I've seen other programs that just made the dice spin real fast and go through a standard animation, and they looked okay because you couldn't see the individual sides. I want to render at a much higher quality than the ones I've seen and you can see the sides if they spin at any realistic speedThis is the most problematic on the 20 sided die. So, if anyone wants to help me think of an algorithm for handling this issue I'd be most appreciativebtw, I'm making this for smart phones with accelerometers and the die will be bouncing off walls. I don't know if this makes it easier or harder.   
  The best way to do this would be to use a physics engine. You could code your own if you're up to it or use a library like Bullet.   ;  Do you need to control the number the die lands at?   ;  well, I'd like to know which side it lands on so I can put a total up on the screen, but it really doesn't matter as long as it's random. a physics engine is a good idea. originally I was just going to do renders because I didn't think most smart phones had decent 3d enginesI'm going to give the Sio2 engine a try because it is made for use with blender. although I hate the idea of using a splash screenthanks for the help   ;  I suppose the easiest way to find which side landed would be to go through each face and see which normal is closest to the background's.I have absolutely no mobile development experience, but I would lazily stay away from a full blown physics engine (though I'm sure it'd be better in the long run!). Instead, maybe just add a 3D rotation vector when the dice is rolled, and when the vector is below a certain threshold, use the above technique to find the top face. Then, interpolate (smoothstep is probably better than lerp here) the rotation so that the top face's normal is equal to the background normal.   