Posted August 03, 2020 by Moga
#orbit #combat #orbit prediction
Orbit Preditiction has been solved!!! For real! To demonstrate the video shows our solar system, Sol, with a basic unit of measurement being 1 light second instead of 1 meter. The camera is moving at 300X the speed of light through the system.
Each planet's position has been calculated from their orbital elements.* The planet position is extrapolated forward in time by solving Kepler's equation with Newton's iteration at intervals, arriving at a list of points decribing the orbit. These are used in a line-renderer to show the final orbit.
Each planet's Sphere of Influence is correctly scaled according to mass and distance and visualized as a grid sphere around the planet. ** Planets are the untextured spheres in the middle.
This is a huge milestone in the orbial mechanics department of my amatuer brain. Its really fun to fly through the system even with the janky debug controls and progammer art so I can imagine it being really fun when flushed out more. Combined with the off-rails physics orbital prediction model, this on-rails prediction completes the toolkit. The work of integrating the two now begins with the goal of Kerbal Style Orbital mechanics combined with Elite Dangerous Style galaxy cruising.
A new cross-platform build will be coming this year.
The time I have not spend on the game has been learning networking and the particulars of that subject when related to floating origin, multi-scale, insane speed simulations, as we ahve here. If you want to know more.... Essentailly the on rails orbit prediction will allow a robust network simulation without a ton of overhead with respect to players' positions and munitions. Combined with a proper networked floating origin position tracker this is going to be ... well we will see. Thanks All
Best,
Moga
*The time of orbital elements captured is basically called the Epoch. There are many standard data sets for this and I have used several so planetary positions maybe not be synced with each other according to one epoch.
** The SOI's of the larger outer gas gaints rival the diameter of the inner system planets. Pretty awesome!
railsAreSet = true;
if (prediction)
{
SetPredictionLineRender(60);
}
lastPosition = massToOrbit.transform.position;
if (transform.GetComponent<SphereOfInfluence>() != null)
{
transform.GetComponent<SphereOfInfluence>().SetupSOI();
}