1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
extends Spatial export(float) var eccentricity = 0 export(float) var apoapsis = 0.0 # far export(float) var periapsis = 0.0 # close export(float) var orbit_period = 0.0 export(float) var rotation_period = 0.0 export(float) var inclination = 0.0 export(float) var semi_major = 2.67070 var progress = 0.0 func _ready(): inclination = deg2rad(self.inclination) func _physics_process(delta): self.progress += delta/orbit_period var x = sin(progress)*semi_major var y = cos(progress)*semi_major var z = cos(progress)*(semi_major*inclination) rotate(Vector3(0, 1, 0), delta) transform.origin = Vector3(x,z,-y)