I'm starting to experiment with dynamic actuation of objects that have masses using RigidBodyComponent.AddLinearImpulse() and .AddAngularImpulse(). I'm noticing some odd behavior.

First, I notice if the impulse's magnitude gets too large, you get an error message that amounts to "Invalid Velocity". I'm assuming this is a misnomer and that it should actually read something like "Impulse vector too large". Curiously, the maximum in my experiments appears to be 3162. This value is actually too weak under my test circumstances to be useful for carrying someone aloft, for example.

Second, it the impulse can be magnified by multiple calls. To multiply the impulse by three, the following code will do:

`for (int I = 0; I < Repeats; I++) {    Body.AddLinearImpulse(Impulse);}`

Thus rendering the impulse limit moot. This is a good way for lifting heavier masses.

Third, the impact of the impulses can be magnified by increasing the frequency of them applied. I have an .Update() method applying impulses on a schedule like so:

`Timer.Create(    TimeSpan.FromMilliseconds(UpdateRate),    TimeSpan.FromMilliseconds(UpdateRate),    Update,    "Update");`

The shorter the UpdateRate increment, the more mass a given impulse value can lift off the ground.

I'm working on the complex algorithms involved in stabilization. I hope to create a stable enough moving platform to stand and walk on. This is a pain, but an interesting challenge.

• Kelly - Sansar

As part of the recent update impulses that happen in the same server frame get accumulated which is why you can in a tight loop add a few together. Additionally impulses are cumulative in the engine as well - they are basically a push, whereas SetVelocity just slams the velocity.

We will take a look at those limits and how they are enforced.

• Gindipple

My last research showed angular velocity had a soft cap of 100 and a hard cap of 200 when set with the Setter methods.

Meaning you could set it at 150, but only 100 would be the resultant read back angular velocity. And you could not set it at all above 200.

• Galen

It seems the same limit applies to Body.AddRotationalImpulse(), too.

• Galen
• Galen

Sansar's first true vehicle, controlled entirely by where you stand on the platform.

https://gyazo.com/9550b1262b2304126eb9189db5045ec3

https://gyazo.com/c57f850661157733a35de14b0842305f

• Galen