The Satellite Inspector is a Unity asset. The main task is to determine the position of artificial Earth satellites and predict their movement in orbit at any time. An additional possibility is to determine the position of the satellites relative to the observer located on the Earth's surface.
General scheme of "Satellite Inspector" package:
ExampleScene contains a scene with an example of the use of the Satellite Inspector;
SatelliteInspector contains the basic elements for creating and using an asset ;
Data contains source data files;
Resources contains prefabs, models and materials;
Scripts contains C# scripts.
General scheme prefab dependences
The main prefab is SatInspector.prefab. The object is created and placed on the scene using the command in the Unity Editor: "Tools->Satellite Inspector->Create Satellite Inspector ". Prefab includes a component SatInspector(Script), which is used to control all other prefabs Satellite.prefab and System.prefab and their objects.
To facilitate the creation and management of satellite systems, SatInspector (Script) can be managed by the SatInspectorEditor.cs script in the Unity editor. You can edit the settings of the created system of objects in any editor mode: PlayMode and EditMode
Inspector Tab: Sat Inspector Script(Script) in SatInspector.prefab
Simulation time settings
Time (full format) allows you to manually set the simulation time;
Time (standard format) results in a "full format" in a conveniently readable;
Time Options the desired simulation time;
Select place - select place on the surface of the Earth to monitor the movement of satellites;
LLA system position - information about the coordinates of the installed place: Latitude, Longitude, Altitude (LLA);
Add or remove satellites systems
Popup is designed to select the desired system;
Add and Remove - buttons to add or remove systems from a set;
Add or remove satellites
Popup and buttons add/remove the entire set of satellites of the selected system;
The satellite is displayed by selecting the appropriate toggle or buttons Show All/Hide All;
Satellites parameters settings
Vizual orbit quality - the quality of satellite orbit display by determining the number of points;
Font size - the size of the font intended to display information about the satellite;
Show satellite info, show satellite orbit, show visor to place - switches to display the corresponding parameters;
Update satellite info - select the system to update the data from the server. The Update All button can take a long time to update.
This prefab is an auxiliary and serves for the creation and grouping of systems.
This Prefab displays and calculates the parameters of the satellite, as well as visualizes additional parameters:
Basic information about the satellite;
Observer Line of Sight;
General scheme of scripts
SatInspector.sc: MonoBehaviour и SatInspectorEditor.cs: Editor. This is one of the most important scripts of the package. Fully responsible for the creation of satellite systems and their satellites. Allows to make different settings of simulation time, number of satellites displayed and their parameters. Control the creation and behavior of other objects. The Inspector Interface and its description are given in the description of the prefab "SatInspector. Prefab". SatInspector.sc is a component of the main game object "SatelliteInspector".
SystemScript.cs. The script is designed for the creation of satellite systems, allows you to create and delete them. Is a component of the "Systems" object inside the "SatelliteInspector" prefab.
OneSystemScript.cs. The script creates/deletes satellites. Is a component dependent on the "System" prefab.
SatelliteScript.cs. Thescript to display the satellite and its parameters. Is a component of the "Satellite" prefab.
PlaceScript.cs. The Script responsible for the display and position of the observer point on the Earth's surface. Is a component of the "Place" object inside the "SatelliteInspector" prefab.
EarthScript.cs. The Script responsible for the behavior of the Earth. Is a component of the "Earth" Object inside the "SatelliteInspector" prefab.
SolutionScripts. All scripts in this group are designed to determine the position of satellites at a certain point in time. This ScriptableObjects:
ClassSolution.cs, SolutionD.cs, SolutionG.cs - define mathematical calculations;
Orbit.cs – definition of the orbit of satellite;
Jtime.cs – definition of Julian date;
Decoder.cs – decoding of the database;
SatVector.cs – representation of the satellite's state vector.