1. Install the SDK and tools
2. Set up your device for development
3. Deploy the MPK to your device
4. You should see an app on your device called "Universe". Select it and launch using your controller.
- Might take a few seconds for the app to load and launch - be patient - a lot of content
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)
V1.51 - load and parse satellite database at launch instead of at every instantiate
V1.52 - using GPU instancing for satellite particles along with a few other performance updates
V1.53 - more satellite related performance optimizations plus added a frame rate counter
V1.54 - big satellite tracking performance boost, planet sphere sizes reduced considerably for better rendering performance
V1.60 - added exoplanet viewer feature
V1.61 - added exoplanet orbits showing distance (one meter = one AU) and speed (one second = one earth day)
V1.62 - fixed blunder in solar system where asteroid belt was between the wrong planets
V1.63 - some more satellite update optimizations plus updated satellite database file as of Nov 10, 2018
Planets, Orbits and Space Battles
Universe Creator Real-time Satellite Tracking
Universe Creator Exoplanet Viewer
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 the calculations for satellite positions are handled in a separate thread in Unity.
By clicking the EXOPLANET VIEWER icon at the bottom of the library your space will be populated with stars
all around you. Each star represents an alien solar system with a verified exoplanet. By clicking on any
of the stars you will see the exoplanet and its parent star at correct scales to each other and to our own
Sun and planet Jupiter. The exoplanet will also be at the correct scaled distance from its parent star with
one meter equal to one astronomical unit (AU) and its orbit speed will also be represented fairly
accurately with a time scale of one second equal to one Earth day. You may notice that some of these alien
stars are incredibly large compared to our Sun.
CREATE YOUR UNIVERSE!
Point And Grab System - this Unity package adds point and grab to your app. It is based on the Universe Creator
pointer system. Download it below and use it for free for your XR apps.
Unity Input Definitions for SteamVR
Download this and unzip into your ProjectSettings folder to be able to run
the Point and Grab system on VIVE. These input settings define some SteamVR button settings so the trackpad,
bumper and trigger are recognized by Unity's input system.