Physics settings problem. Possible bug.

The radius setting of the Sphere collision type is somehow affecting angular inertia.

When changed to another collision type such as Box, the inertia returns to normal.

I need to adjust the size of the collision sphere in my FPS template to about 0.3 without doing anything to the physics, and I have discovered it is causing a proportional decrease in angular inertia. As far as I know the only two values that should affect it are Mass and Form.

Is there something I don’t know? Goodness knows that’s happened before… :confused:

Bork bork bork.

In real-world physics the larger an objects radius, the more angular inertia it has (so, smaller objects will spin faster with the same inertia- try sitting on something that spins and holding something heavy like bricks- spin yourself with your arms down, and then hold out your arms. You’ll go a lot slower, until you lower your arms again.) Looks like the BGE devs accounted for this, at least to some degree. (try using the box bounds, and scaling the object in the X and Y directions- it’ll spin different speeds)

Thank you for the reply.

I am aware of this, but it is not required in computed environments. If users wish to they can tweak angular inertia using the Form slider.

Having to compensate for something like this never occurred to me because I did not think it would logically behave this way. I thought the radius of the collision sphere would only be used to define the radius of the collision proxy, not also be a multiplier in the dynamics.

I will say no more, this is just a report of potentially unwanted behavior then, not a bug. If other people think it is handy, I’ll just account for it and continue. But I didn’t find it useful; quite the opposite, I wasted a lot of time trying to find out where the problem was.

As mentioned, scale affects the type of motion… hence the bigger the radius of the collision sphere the difference in motion… you can’t just have a bigger collision mesh and expect the simulation to run in the same way… it’s quite logical behaviour. If you want non-physical behaviour, don’t use rigid bodies or forces to move objects about.

I heard the first time.

“you can’t just have a bigger collision mesh and expect the simulation to run in the same way”

gnrk. that’s precisely what i expected. (assuming by ‘run the same way’, we both mean ‘have the same inertial properties’.)

Collision proxy settings are not related to the inertia matrices in any engine that I know of and I did not expect for Blender to step in and do something inbetween. I have to place additional calculations to revert the behavior.

Yes, it is logical behavior in physics, but it is nonstandard behavior in a computed environment. Besides, without using very complex calculations, you cannot extend the behavior to convex hull polytopes. And trimeshes, not at all if they aren’t manifold and enclosed.

If my object is a sphere defined by a convex hull and I’ve just managed to get my settings trimmed exactly to the weight and properties of the object I am artistically representing in the physics engine, I do not want to think “Hm, perhaps I could use a spherical collision type”, change it, and suddenly have my object rotating three times more slowly than before.

I said I would just move on. However, people are ARGUING with my perfect opinion and therefore I must FLAME and BLAH and i’ll go away now :frowning:

I agree with you Raiderium,
I think the scale of the object should affect the inertia not the collision bounds.

Honestly I think it would make the most sense to have a property for moment of inertia (or angular mass, same thing)- using radius can be annoying from an artistic standpoint, and the same for scale(having a non-1 scale is generally a bad idea for physics objects)- if it were a property you could leave it as it is, or adjust it based on radius, or scale, or whatever, and even change it in real-time (to simulate the effects of, say armature movements shifting the objects mass)
It would probably also be pretty simple to have a toggle next to the field, to decide if the engine automatically computes the number (as it does now) or if manual input is enabled.

I think you may mean that the other way around…?

@Captain Oblivion:
I agree, that sounds quite appropriate. Although, I’m fairly sure a dedicated property for angular mass is already there. (The Form variable.)

Er, just to clarify terms, I’m talking about the ‘radius’ slider in the Physics settings, not the object scale. Changing the radius is supposedly just to specify the size of the “sphere” collision type.