void Awake() { // Convert from real world units // Rocket engine thrust is given in SI units, so acceleration is in SI units // For Orbital scale need to convert to km/hr^2 accelerationConversion = GravityScaler.AccelSItoGEUnits(); // and convert to the physics scale used in the engine accelerationConversion = accelerationConversion * GravityScaler.AccelGEtoInternalUnits(); burnStart = new double[MAX_STAGES]; burnRateScale = GravityScaler.GetGameSecondPerPhysicsSecond(); fuelLevel = new double[MAX_STAGES]; for (int i = 0; i < numStages; i++) { fuelLevel[i] = massFuel[i]; } // acceleration will be opposite to thrust direction accelDirection = -thrustAxis; activeStage = 0; activeState = GravityEngine.Instance().GetWorldState(); SetEngine(engineOn); }
void Start() { SetEngine(engineOn); // Convert from real world units // Rocket engine thrust is given in SI units, so acceleration is in SI units // For Orbital scale need to convert to km/hr^2 accelerationConversion = GravityScaler.AccelSItoGEUnits(); // and convert to the physics scale used in the engine accelerationConversion = accelerationConversion * GravityScaler.AccelGEtoInternalUnits(); burnRateScaled = burnRate * GravityScaler.GetGameSecondPerPhysicsSecond(); thrustDirection = thrustAxis; }
/// <summary> /// Validation: /// - confirmed velocity in SI units matches expected orbital velocity of ISS /// - checked that SI acceleration = -g at terminal velocity (9.73 m/s^2 at 28 km) /// </summary> // Use this for initialization void Start() { if (inertialMassKg == 0) { Debug.LogError("Mass is zero. Drag calculation will fail."); } if (spaceship == null) { spaceship = GetComponent <NBody>(); } geDistanceToKm = 1; v_ship = new double[] { 0, 0, 0 }; v_earth = new double[] { 0, 0, 0 }; velocityScaleInternalToSI = GravityScaler.VelocityScaletoSIUnits() / GravityScaler.GetVelocityScale(); accelSItoGE = GravityScaler.AccelSItoGEUnits() / GravityScaler.AccelerationScaleInternalToGEUnits(); LoadDensityProfile(); liveState = GravityEngine.Instance().GetWorldState(); }
void Start() { worldState = GravityEngine.Instance().GetWorldState(); accelGEtoSI = GravityScaler.AccelerationScaleInternalToGEUnits() / GravityScaler.AccelSItoGEUnits(); }