how to make a spinning top?

I’m trying to make beyblade-like game and I’m trying to make a beyblade behave like a top. I’ve tried everything I could think of, like adding torque and relative torque but it does not behave like a top. I don’t want to make it kinematic and fake it. Any suggestions?

You should probably fake it. Physx has practical limits to how quickly objects can rotate. You’re not going to get realistic BeyBlade-like physics from the physics engine out of the box.

2 Likes

Yep!
As said fake the spinning (probably animated textures or something similar) and calculate (maybe based on actual bayblade interactions) how they react to each other or what change there is of something happening.

I was initially also thinking that generic game physic engine will not be able simulate a sufficiently fast spinning object for the required gyroscopic effect to work. But I did a quick test, and it seems like it’s possible to get at least basic gyroscopic effect going, the spinning top spinning (even at angle if bumped) and not falling over until the the rotation speed has dropped low enough, starting to wobble as you bump them and speed decreases. Turns out the rotation speed doesn’t need to be crazy high to get some effect.

Here are the parameters I used:

  • capsule collider with dimensions (0.05, 1, 0.05) as the main axle

  • angular drag 0.01

  • initial angular velocity (0, 20, 0)

  • inertiaTensor (1, 5, 1)

  • [optional] additional collider for the wide part. Mostly for collisions and looks. Shape doesn’t matter for the rotation physics (unlike with real one) since the inertiaTensor is manually set instead of calculated from mass distribution.

Didn’t try to finetune parameters more than that. Higher rotational speed can probably partially replaced by increasing inertiaTensor for rotation axis. I didn’t try to experiment with lowering center of mass, but even with real one it’s hard to get it very low since you don’t want the disc to collide with ground once the spinning top tilts.

So it seems like it’s possible to get something going. Whether it’s good enough will depend on how much collissions and action oriented you want the gameplay .

3 Likes

Sweet!
You can also take a look at Havok or maybe DOTS physics