6
$\begingroup$

I'm looking to create an animation wherein a large number of 6-sided Dice almost all roll with the 1 side facing up. I'm attempting to do so with Rigid Body Physics.

My first attempt was to move the Origin of each die closer to the 6 Face, thus moving it's center of mass... Unfortunately, this causes a very unnatural looking rolling animation (it seems to actually roll around a fictional die that is centered on the Origin, causing it to roll through space or clip into things at times).

I'm wondering if there's another approach that would allow me to more heavily weight a specific part of an object so that it's more likely to come to a rest with that side facing downward?

Note that I'm looking to simply simulate very unlucky dice, not to actually simulate the way that weighted dice would actually roll - I'd like the roll to appear natural, but just end on a 1 more often than not.

$\endgroup$
2
  • $\begingroup$ May I ask you if you intrested in emphasize the fact that is a weighted (so it not will roll as a common dice) or they should behave as they were normal die that by an extremely lucky strike all show the same face? I mean: you want to simulate the behavior of weighted die or the result? $\endgroup$
    – Carlo
    Jul 15, 2015 at 20:01
  • $\begingroup$ The result is definitely the end goal - I'm looking for them to appear very unlucky, rather than actually appearing to be weighted (thus, a natural roll that just lands on an unlucky number is ideal) $\endgroup$
    – mcuznz
    Jul 15, 2015 at 20:08

2 Answers 2

12
$\begingroup$

Yes

By adding an extra rigid body constrained inside the die as a weight, you can do this:

  1. Add a small object to act as the weight (e.g. an icosphere) and position it inside the die on the opposite side of the 6. Make it a dynamic rigid body and adjust the mass as needed:

    enter image description here

  2. Add a Fixed rigid body constraint connecting the weight to the die.

    1. Select the weight and then the die (so that the die is active).
    2. Press Connect in 3D view > Tool Shelf (T) > Rigid Body Tools.
    3. Ensure that the Type is set to Fixed:

    enter image description here

  3. With the newly created constraint empty selected, make sure collisions between the weight and the die are disabled:

    enter image description here

  4. Make a simulation and be amazed as you roll 6 every time ;)

enter image description here
I know.. I misread your question and thought you wanted lucky dice, but obviously this technique works for simulating unlucky dice too.

$\endgroup$
1
  • 1
    $\begingroup$ @mcuznz If this solved your problem you can click the green check mark next to it to accept it. $\endgroup$
    – PGmath
    Jul 16, 2015 at 0:51
2
$\begingroup$

If you need dice stopping at specific face, I suggest next: first simulate dice by rigid body object with shape of dice, then link at last frame object "pretty looking dice" to "rigid body", pointing your side to the ceiling, so it will copy animation, and in the end you will get proper result.

Also dices usually have beveled edges and vertices, so it would be better to simulate not by cubes, but meshes.

$\endgroup$
3
  • $\begingroup$ So to make sure I understand this correctly: 1) Create 6 "Pretty" Dice with different orientations. 2) Let the current Rigid Body physics play out. 3) Use the last frame to determine how each die lands, and then swap it with the die which ends with the desired value face-up instead. 4) Render the result Sound about right? $\endgroup$
    – mcuznz
    Jul 15, 2015 at 19:43
  • $\begingroup$ If I understand this correctly, it sounds like it'll do exactly what I want. I'll try this tonight and accept the answer if it works :) $\endgroup$
    – mcuznz
    Jul 15, 2015 at 20:08
  • $\begingroup$ No, I meant: create dice-shaped object, simulate physic for it, then in last frame bind to it real (renderable) dice to it facing "1" up, so in baked animation renderable dice from throw will stop in proper position. $\endgroup$ Jul 15, 2015 at 21:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .