Sun
Mercury
Venus
Earth
Mars
Jupiter
Saturn
Uranus
Neptune
Asteroid Field
PLANETS
The Solar System
I wanted to conceptualise the Solar System such that it resembles a realistic solar system with real-time scaled rotation about its own axis and revolution about the sun while making the textures as realistic as possible with little compromise on quality. I used Unity Shaders to make the rings around Saturn and Uranus respectively with directional light and fading according to angle of rotation of the light around each individual planet. Lastly, I ensured that the planets sizes relative to the sun were scaled accordingly and placed a similar distance away from each other compared to the original Solar System model, scaled down by a constant factor. I also added attraction forces to each planets to obey Newton's law of gravitation. Lastly, I designed and optimised the gravitational attraction field around each planet such that any incoming object with a Rigidbody would be pulled closer to the planet. The last picture represents an asteroid field in between Earth and Mars created using a generic object pool and an instanced asteroid renderer where asteroid information is put into a class and attached onto an asteroid prefab such that it will fade away after it exceeds a certain parameter. It will be instantiated if it is below a certain value to ensure that the desired visual effect is achieved.
​
​
​
​
SPACESHIP NAVIGATION SYSTEM
An Advanced and Realistic Navigation System
This is an advanced navigation system that takes into account the relative position of the spaceship in the entire universe using the celestial equatorial coordinate system of right ascension and right declination which are the horizontal and vertical angles subtended by the spaceship relative to the equator of the Earth.The values of the angles are converted to hours, minutes and seconds using an equatorial coordinate conversion table to indicate the relative rotation of the Earth with respect to the planet in a 24 hour cycle. It gives users a realistic three-dimensional feel to the entire world space such that it is able to give a relative position and distance of the spaceship relative to each planet.
​
The speedometer is designed to give a gauge of the speed within the desired range of the minimum and maximum speed using double interpolation of the speed and the angle of the needle.
​
While the 3D player camera is to give an accurate view of the rotation of the player by taking into account the offset and direction at which the camera is facing with respect to the spaceship.
Earth Menu
Earth Facts
Singapore Information
Earth Menu
Something Different In The Making
PLANET UI
I designed a simple interactive menu for each planet in The Solar System, compromising of 3 main sections: General Information, Atmospheric Composition and Time Dilation. This Menu was overlaid on top of the screen using Unity User Interface tools. For the text used to label each planet, I used an OnMouseOver function to set a boolean. I used a conditional statement to verify the state of the boolean. If it was set to true, it would instantaneously interpolate between the current colour of the text and the colour white using a Color.Lerp function. If the opposite was present, the present colour would interpolate towards a clear colour. I also managed to perform spherical interpolation on the text such that it would always face the forward direction of the current camera rendering the scene, from its current rotation using Quaternion.Slerp. I implemented an array for the country information menu(Singapore in this case), for both GameObjects and Texts data types. I put all the UI present on the menu into the array and performed the same interpolations to achieve the desired effect. This is characterised by the UI appearing when the cursor is placed over the desired game object and fading when the cursor is not. All of this, to create a clear and concise UI algorithm by making it more user friendly.