V1.10 - added single click solar system, all planets orbiting the Sun
V1.20 - added accurate size scale comparison between solar system planets and the Sun
V1.30 - added accurate distance comparison if the Sun was 2mm in diameter
V1.40 - added paint mode - paint with planets (and spaceships)
V1.50 - added realtime satellite tracking (17,000 satellites and that's not even all of them)
Universe Creator Real-time Satellite Tracking Video
Universe Creator is an app for the
Magic Leap One that gives you the magical powers to create a universe in your living room.
Using your magic wand (6DOF Control) you can pick stars, planets, comets, galaxies and more and place them anywhere in your
space. By using the touchpad you can move the celestial body in/out or scale it big/small. The more you scale an object
up the more mass it has, however, in the current implementation mass is only used to allow smaller mass objects to orbit
larger mass objects. Stars can never orbit anything else as their mass is set to infinite.
A smaller mass object can orbit any other larger or equal mass object. When you place a new celestial body in the universe
where there exists a larger mass body you will see the text appear that reads "ORBIT SOURCE".
At this point you can either attach the line to a larger or equal
mass body or tap the BUMPER to cancel. The closer a body is to its orbit source the faster the orbit. Orbit speed is
calculated based on the distance it is from the source.
Note that the orbits are not realistic, however, hopefully in a future release they will be.
HOW TO CREATE
Creating your universe is easy. Point your wand at an item in the LIBRARY and pull the TRIGGER. It is now attached to
your wand. Move it anywhere in your space and pull the TRIGGER again to place it. It's magic!
Press the BUMPER at any time to cancel an action. For example, if you grab something from the LIBRARY and want something
else instead press the BUMPER and the object attached to your wand is dismissed.
At the top of the LIBRARY are buttons. Point at the buttons and they will highlight the action they perform.
ATTENTION: If you are in DELETE mode you will need to switch back to ADD mode before putting objects in the space again.
There are three factions identified by colors Red, Green and Blue. Adding ships of different colors to the space will result
in a conflict and a space battle will occur. Which color will win? It is up to you to decide and up to you to observe the
outcome. How do you decide? By adding more ships of a specific color to reinforce the fleet. The more ships of the same faction
the better the chances of winning. Throw in a starship to clean up the rest. Starships are indestructible and will hang around
as long as there is a threat in the galaxy.
Pay attention to the fighter ships. As they fly around the room they will look for a another ship of the same faction to team
up with. You will soon notice they will fly in formation and work together. These pilots are smart!
The factions are all evenly matched so no specific color has any kind of advantage. However, I have seen one fighter take out
an entire six ship strong faction all alone. Could this pilot be Luke?
Click on the globe icon at the bottom of the Library to explore the Earth's orbiting satellites along with all the debris that
comes with it (such as depleted rocket boosters and fuel tanks).
How does this work?
There are two parts to tracking satellites in real-time.
First you need to obtain a recent TLE (two line element) database file from Space-Track.
It is a text file that lists all the publicly known satellites.
The data consists of the most basic and minimal data needed to replicate a satellite in orbit.
Secondly, using the data in the TLE files the current UTC time of day and lots
of math a satellite's position, velocity and orbit path can be computed.
I represent each satellite as a particle in Unity for the simple reason that rendering 17,000+ satellites requires the fastest
rendering path available. I then use the laser pointer of the controller along with a dot product calculation to determine
the nearest and most direct line of sight satellite and then display its name above the particle and plot its orbit path.
For performance reasons (and I hope to optimize this even more) the calculations for satellite positions are handled in
a new thread in Unity.