using Unity.VisualScripting; using UnityEngine; public class Altimeter : MonoBehaviour { [Header("References")] public Rigidbody rocketRigidbody; // Reference to the rocket's Rigidbody [Header("Data")] public double altitude = 0; // Current altitude public double gh = 9.81f; // Gravitational acceleration [Header("Settings")] [SerializeField] private double G = 6.67408f * Mathf.Pow(10, -11); // Gravitational constant [SerializeField] private double M = 5.972f * Mathf.Pow(10, 24); // Mass of Earth [SerializeField] private double RE = 6.372f * Mathf.Pow(10, 6); // Radius of Earth private double GM; // Gravitational parameter (G * M) void Start() { GM = G * M; // Calculate the gravitational parameter } void Update() { altitude = rocketRigidbody.position.y; // Update altitude based on the rocket's vertical position gh = (double)(GM / Mathf.Pow((float)(RE + altitude), 2)); // Calculate gravitational acceleration at current altitude } }