Control Over Camera Distance with "flyto coords" or "focus on object"

When clicking on the "Focus on Object" icon (the bullseye with the crosshairs in the Geoscope window, between the Properties and Refresh Layer icons), the camera zooms out to 11621.5 km above the Earth. When running a "camera.flyto coords" command, the camera also leaps out to this distance. Can we add an additional parameter to the "camera.flyto coords" command and to the console command for "focus on object" (if there is one) that allows user control over the distance?


For example, something like "camera.flyto coords -112.05384 37.5666305556 55.0" ...

1.5 1.6

Cet article vous a-t-il été utile ?

Solution
À l'étude

We are working quite a bit on how the camera behaves at the moment, how it works close to the surface  and how to reach different locations. We will definitely take your input into account, thanks!

ÉPINGLÉ
Even though the "camera.flyto coords" command only accepts long/lat at the moment, there is actually a workaround which lets you control the distance as well.

Here's the thing: The fixed distance that the camera ends up at (11621.5 km in the case of Earth) is what we call the targetradius. This is actually the same distance as the camera will end up at when doing a "fly to" or "jump to" the object.

The default targetradius for Earth is "1800". This value is expressed in the unit of the object's coordinate system. Since the Earth coordinate system has a unit of 10 km, this translates into a targetradius of 18000 km.


So, why 18000 and not 11621,5 which is the actual distance you've observed? The explanation is that the targetradius is expressed as the distance to the center of the object, whereas the GUI displays the distance to the planetary surface. (18000  - 6378.5 = 11621.5).


Now, the good news is that you can change the targetradius in runtime. To do this, send the command Earth.targetradius <distance>. Remember that the unit is 10 km, and that the distance is relative to the center of the planet. Earth.targetradius 640, follwed by a "camera.flyto coords" command would for example place the camera very close to the surface, since it would translate into the altitude of 6400 - 6378.5 = 21,5 km.


This workaround will work for all objects and for all transition types (jump to, fly to, coords). Just remember to reset the targetradius aftwards with, for example, Earth.targetradius 1800 unless you want to keep using the tweaked distance.

That should work as a temporary fix.  Thanks!