Thank you for your responses
It is half physically and half with raw mathematics.
The physical part is simply the fact that the bodies have the Simulate Physics property on. Gravity is disabled for them so that they do not fall down freely.
The math part is about calculating instantaneous vectors of velocities (v0+aΔt) and accelerations (GM/r^2 e) in a delta time where v0=initial speed of a body (which after every iteration is updated), a=acceleration of a body, G=(Gravitational constant)*(many coefficients scaling the real world units to smaller UE4 ones), M=mass of a central attractor, r=distance between the attractor and a body, e=unit vector determining the acceleration direction.
That is really helpful info, but unfortunately my calculations do not predict the orbit outcomes and it would be hard to change everything now. Also I think that it would be hard to implement in my model, because it is designed so that sometimes there occur some random collisions between bodies in the solar system which could make calculating orbits heavier performance-wise than using a physical collision with an addition of some kinematic vector maths.
I was thinking about one solution. I could do a multiplication on all of the parameters used in kinematic calculations. Because when to think about it, wouldn’t it be the same outcome as speeding up time if the velocity is multiplied by something and the acceleration is multiplied by (something)^2? As the distance travelled by an object is given by the simple equation s=v0t+(at^2)/2 then if we take a certain time t1 and a certain time t2=t1/(2^n), where n=exponent determining the time speed-up (the speed-up values would be the powers of 2), it becomes certain that in order to make the s2=s1, v0_2 must equal v0_12^n and a2=a1 2^(2n). This will result in the same distances covered in different time periods.
But the thing is here that the physical simulation regarding collisions etc. will still occur in the base game speed. Is there any fix for that?
If you multiply all your variables, you’ll break everything.
You only need to multiply your delta seconds value(I’m assuming you are already using this number to make sure your planets/bodies move smoothly no matter the framerate).