Space Engineers

Space Engineers

Ver estadísticas:
Este tema ha sido cerrado
maaaxaltan 27 ENE 2016 a las 16:06
Help! Programming thruster override
Hello!

I am working on a helicopter script, but can't seem to figure out how to set the thrust override properly.

Okay, so I have my thruster override setting and all... but when I input 50, the thrusters have a value other than 50 kN. Help!?
< >
Mostrando 1-3 de 3 comentarios
maaaxaltan 27 ENE 2016 a las 16:30 
OBSERVATIONS
(edits are listed latest-to-first)

3rd edit:
I'm going to use algebra to calculate the actual force given using the altitude and % of thrust. Found this; http://imgur.com/odE3ADU

2nd edit:
kN as seen in UI changes based on the altitude, so it seems that the actual force produced is influenced both by altitude AND the amount of thruster force trying. (the 0-100 number)

1st EDIT:

Okay this is seriously weird.

Here are some benchmarks.

Thrust % (input) to ThrustOverride value.
The results were linear and made sense, but I don't know what units ThrustOverride are.

Testing thrust overrides from 0 to 150 at intervals of 5 0 -> 0 5 -> 20400 10 -> 40800 15 -> 61200 20 -> 81600 25 -> 102000 30 -> 122400 35 -> 142800 40 -> 163200 45 -> 183600 50 -> 204000 55 -> 224400 60 -> 244800 65 -> 265200 70 -> 285600 75 -> 306000 80 -> 326400 85 -> 346800 90 -> 367200 95 -> 387600 100 -> 408000 105 -> 408000

Thrust % (input) to kN force as seen in the UI.
this is really weird! The results, unlike other benchmarks, are NOT linear. ALSO, when I tested this different times, I got different values!!!

10%-> 38.1 kN 20%-> 63.8 kN 30%-> 86.5 kN 40%->115.5 kN 50%->148.2 kN 60%->177.5 kN 70%->244.0 kN 80%->272.5 kN 90%->297.5 kN 100%->314.3 kN / 321.0 kN

Observations so far (for anyone interested)

- thrust.SetValueFloat is in % - 0 to 100
- thrust.GetValueFloat uses same units as SetValueFloat
- thrust.ThrusterOverride gives different unit, still investigating
Última edición por maaaxaltan; 27 ENE 2016 a las 17:06
maaaxaltan 31 DIC 2019 a las 8:26 
Ok, I solved the problem (3 years later). I am using atmospheric thrusters and apparently this has to do with how their efficiency changes over altitude. The actual thrust outputted by an atmospheric thruster is going to be the thrust override you put in, multiplied by an "effectiveness factor" that depends on the altitude and atmosphere of the planet you are on.

You can calculate the effectiveness factor by dividing `thruster.MaxEffectiveThrust / thrust.MaxThrust`. This gives you a number between zero and one. Then, divide your desired thrust override by this factor, which will compensate for atmospheric effects.
Well 2 years after you came back, thank you for doing so! I was having the same problem and was having so much trouble figuring out the solution!
< >
Mostrando 1-3 de 3 comentarios
Por página: 1530 50

Publicado el: 27 ENE 2016 a las 16:06
Mensajes: 3