Scripting high-level functionality with smooth paths

All about writing scripts for Celestia in Lua and the .cel system

Is it important to get smooth fly paths working in Celestia?

Yes, very!
4
100%
I don't care.
0
No votes
 
Total votes: 4

Topic author
Bodin
Posts: 7
Joined: 01.04.2007
With us: 17 years 7 months

Scripting high-level functionality with smooth paths

Post #1by Bodin » 12.05.2007, 08:46

Hi,
I've spent some 8-10 hours trying to do smooth fly paths with celx and I find it to be extremely complicated, and improductive. There is little help from the functions provided in the Lua interface itself, as well as from the community.

I would think that one of the most common expectations from users of Celestia is to be able to create really smooth space flights based on high-level intentional scripting, both as live commands (e.g. on a remote control terminal) and also as prescripted .celx/.cel files.

For example, I want to start at e.g. point X, fly to Earth, fly-by Earth, smoothly go into orbit and rotate a few turns, smoothly fly off and away to the Sun, and do the same thing around the Sun and then smoothly connect to X again and repeat the loop (generically working for different times of year etc).

Right now it is impossible to get smooth transitions using the plain c++toLua mapping of functions. There is a complete loss of velocity between commands and an annoying stop.

There are various community scripts to fix this, e.g. Autopilot, but it only allows visiting a single object, and in addition the design is wrong since it, instead of using continuous waypoints, is using a start/end paradigm, which is smooth, but the following end/start transition is hard to get smooth.

I'm willing to take on development of these things, but right now I'm about to first screw up a deadline, so I will do something terribly quick and dirty that doesn't show Celestia from its best side...

Suggestions on how smooth high-level designed paths should be available for production programming by non-expert programmers are highly appreciated.

I suppose this is best implemented as Lua libraries/functions, but I would actually also like to see this functionality easily available in .cel files, so eventually I think it should be done in C++.
Kenneth Bodin
VRlab/HPC2N, Umeå University
SWEDEN

Return to “Scripting”