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)