The main goal for this topic is to develop a platform for simulating a realistic night sky in Unity or Unreal Engine. The virtual night sky can be used in a handful of other simulations such as 'diurnal motions of celestial objects', 'seasonal constellations', 'time and calendar', etc.
In the past, this model was developed in Blender, however, for several reasons (mainly for real-time user interactions), a virtual sky model is to be developed in Unity (or Unreal Engine).
Check this YouTube video https://www.youtube.com/watch?v=tpTzwyiGByE for some introductory information on starting the creation of the model in Unity.
The first task is to create a Unity model of recreating the model seen in the above video.
The following is an old information based on the Blender model.
![]() Blender Virtual Night Sky 3D-Viewport
This is one of the many windows in Blender for the SkyTracker (aks Virtual Night Sky) model development. A final rendered model of the Solar System with a real night sky image as the background will be added soon. | ![]() A Full-Screen view of the SkyTracker Blender window A full window screenshot taken during the development of the SkyTracker Blender Model. 3D-viewport, Script editor, (object) Properties window, Scene, ViewLayer, and Console are displayed. |
---|
To create a model of virtual night sky, we need to be able to (1) project various celestial coordinate systems (equatorial, horizontal, etc.), (2) display real astronomical images of the night sky, (3) add various solar system objects including planets, moons, and other smaller bodies (e.g, comets, asteroids). Within the scope of Astro-3D STEMin3D project, we want to create a virtual sky model with the first two (projecting coordinate systems and real deepsky images). Then, the created virtual sky is to be controlled by a Python interface from which we can change parameters such as observation time, observer's location, viewing direction, atmospheric effects, toggle landscape images, etc.
In general, celestial objects in the night sky appear to be projected on the surface of an infinite radius sphere, called the Celestial Sphere. Positions on the Celestial Sphere can be uniquely defined with two angles where two angles vary based on the choice of a particular coordinate system. Commonly used coordinate systems are Horizontal, Equatorial, Ecliptic, and Galactic. This simulation can describe the basics of various celestial coordinate systems and the benefits of using a particular system for a given situation.
Important pending tasks (or notes/ideas) to complete.
These are technical prerequisites (3D model components) to create this simulation.
These are newly created components (functions, materials, cameras, etc.) from this topic simulation.
As of early 2024, Michael Cai has finished developing the preliminary version of the platform in Blender. Its source codes and a tutorial are stored in the project team's SkyTracker (login required to access).
For the high precision, physically-based night sky image synthesis including various light sources such as sunlight, moonlight, zodiacal light, airglow, etc., see this paper by Jensen et al.
These are underlying astronomical concepts to teach with this simulated topic.
These videos show the changing celestial sphere due to Earth's rotation. The second video shows a moving camera orbiting around the Earth.