Join Aaron F. Ross for an in-depth discussion in this video Adopting a scale convention, part of Dynamic Simulations with Bullet Physics in Maya.
- View Offline
As with all 3D computer graphics, before we begin we need to establish a scale convention. In other words, are the objects in the Maya scene built at the same size as a real world objects, or are they a scale miniature? This is especially important with dynamics, because if we don't get this right then the dynamic simulation will not be physicallyaccurate, and we will have a lot of problems. For historical reasons, Maya expects that a dynamic scene will be built at 1/100th scale. So in other words, instead of having a character that's 2 meters tall, Maya dynamics assume that your character is 2 centimeters tall.
And again that's how you'll get best results with bullet, is to build your scenes at 1/100th scale. However, with a simple scenes like this domino setup, it's okay to model our scene at a unity or 1:1 scale, and in fact that's what I have done here. Let's just walk through setting up the scale conventions in Maya. The first thing we need to do is just to check in on our current linear working unit. That can be found under window, settings preferences, preferences.
And in the settings section, we'll see working units, linear. They're currently set to centimeter. And in fact I recommend that you leave it at centimeter. You can choose some other option here like meterM or foot, or whatever you like. That's not going to affect your scene. It's not going to affect the dynamics. It's just going to measure the world with a different yard stick. Again, I recommend that you leave it at centimeter. Go ahead and click save. The grid is another consideration. How large is the grid, and what is the spacing of the grid? To work with that we'll go into display, grid, and go to the options box.
And these are the default grid settings for Maya. We have a grid that's 12 units from center to edge in the perspective view. And because our working units are centimeters, the grid is 12 centimeters from center to edge here. I want to make this more of a metric setup. So I'm going to set my length and width to be 150 centimeters. I'll define a grid line every 100 centimeters, and ten subdivisions per grid line. And that will give me a grid line every 100 centimeters and a subdivision line every 100 divided by 10.
Or subdivision line every ten centimeters. And so that we can see the difference between grid lines and subdivision lines, I'll set the grid line to be a different color. We can click Apply, and now you will see that if we close the window and back out, we'll see that grid is 150 centimeters from center to edge. And each one of these dominos here is a few centimeters in height. If I select one of these, you'll see that it's very small relative to this ten centimeter square. Once again, this scene is a 1:1 scale.
And that's fine for a simple rigid body simulation in Bullet. If you're going to be working with soft bodies, then I recommend that you build your scenes at a 1/100 scale, and you'll just have a lot better result with bullet.
- Loading the Bullet plugins
- Creating static and dynamic bodies
- Adjusting solver attributes
- Integrating keyframes
- Creating and transforming constraints
- Creating rigid sets
- Holding set members together with a Glue constraint
- Creating soft bodies
- Baking a soft-body simulation
- Inflating a soft body with Pressure