Highlights
Over a decade ago we worked with the Adler Planetarium on a visualization of the constellations, but one that allowed the user to move away from the earth and see how the constellations involved stars at very different distances from us, and keep flying even further away through the stars of the Milky Way.
This CAVE2 project is an enhancement of this idea including not only the 88 official IAU constellations from 1930 but also those of other cultures.
Getting started with Unity for CAVE2
The press play and you should have a sample VR environment running in unity on your laptop that you can also configure to run in CAVE2
Getting started with Unity and C#
While CS 428 made use of a combination of models and code, this class project will be primarily code based.
Unity can launch a variety of external editors for working with code - a good multi-platform one is Microsoft's Visual Studio Code Unity's preferences allow you to set an external editor under External Tools.
Personally, when creating applications with Unity I like to have a fair number of separate accessible backups. Time Machine on the mac is really nice for this, and there are similar programs on Windows and Linux, but if I am being really careful, once I get a part of my project working, I quit Unity and make a backup copy of the entire project directory before moving on to the next part. Its really easy to make one simple change somewhere that breaks the entire project and its often much faster to just go back to a prior version of the code than to hunt down the problem. I make these kinds of regular backups every 30 minutes, to an hour or two once I have gotten to the point that I have something worth keeping. I highly suggest investing in a big USB drive and just keeping lots of backups until you are sure you don't need them.
Getting started with the stars
The athyg_26_reduced_m10 dataset is 69 MB decompressed and has all stars out to 100 light years + all stars to mag +10. Removing unnecessary columns reduces the dataset to 27 MB. You will need the following columns:
Note that the SPECT column has some lines with commas in them that may cause trouble for your parser. All you really need from this column is the first letter OBAFGKM.
You should also remove any rows with missing X, Y, Z or spectral type as those will be necessary to add the star to the scene.
Wikipedia has information on colors and sizes at Stellar_classification that you should use to set the color and sizes of the stars
It will likely be more useful to convert the velocity to parsecs per year (1 km/sec = 1.02269 E-6 pc/year) Initially sol should be positioned 1 meter above the floor in center of CAVE. Initially stars with a negative declination should be lower than sol and stars with a positive declination should be above sol to put the north star near the zenith. This means you will need to adjust what X, Y, Z map to in the CAVE.
Initially a parsec should map to a foot in CAVE2
It is really really important to keep the frame rate interactive, at least 30 fps in CAVE2 so you will likely only be able to use a subset of the data. A good starting point is all stars within 25 light years and everything with a hipparcos #. You will likely want an easy way to change the number of stars shown as you move from testing in the simulator to testing in the CAVE. You should try and show as many stars as possible while keeping the frame rate up.
Once you have the stars, then you can move onto the constellations
Stellarium Skycultures at skycultures has information on the constellations for various cultures. You will probably want to start with 'modern'.
You should make sure that all of the stars with a hipparcos # in Stellarium are loaded into your application.
Initially the user should see all of the 88 modern constellations. You can use lines to link the stars into the constellations but make sure you pick a nice color for the constellations and not the default pink / magenta.
The user should be able to start time moving and see how the currently visible constellations (and preferably all the other visible stars) will change over time using the VX, VY, and VZ values for each star. Note that you should pick an appropriate time scale factor to make this change visible, maybe 1,000 years per second. There should also be a display in the space showing how much time has elapsed.
Pick one constellation and add additional educational information into your application about that constellation that the user can bring up. This could include visuals or voice over. It could discuss the constellation from a scientific, historic, cultural point of view.
Then you can move onto the exoplanet data
The NASA Exoplanet archive has a lot of data at app=ExoTbls&config=PS By selecting columns we can reduce this down to the HIP ID and the number of planets. There is a large number of duplicate lines in this reduced dataset and you can ignore any lines without an HIP ID.
The user should be able to re-color the dataset from OBAFGKM to a usable color scheme based on the number of known planets in the system. The user should be able to bring up information to explain this color scheme within the application.
Interaction
The user should be able to use the CAVE wand to do various things in the application:
fly in any direction, and rotate (roll, pitch, and yaw) in any direction using one of the hand controllers. The standard CAVE flight mode should work for this and that should be the default. As the user moves in the CAVE or flies the CAVE through the dataset the virtual world should tell the user how far they are away from Sol in parsecs. Note that in particular 'walk mode' is a bad idea when there is no floor.
bring up a menu of at least 5 other sets of constellations to choose from and have those displayed instead, or display no constellations. Allowing the user to choose from more constellations is better.
Everything should be very smooth and look very classy
There should be an appropriate, and not at all annoying, music file playing on loop in the background. The user should be able to easily swap out that file for another of their choice.
Any lines and text should look very nice.
You should create an initial information panel about your application
Roughly the point break down on the project implementation will be:
Much of the work on this project is going to be optimizing the application to look good while running at greater than 30 frames per second in stereo in CAVE2, so its important to get a version working in the simulator and then CAVE2 quickly to have enough time to iterate on the optimizations. You can also do some debugging on an HMD like the Quest and through the CAVE2 simulator, but the different platforms have different graphics capabilities, and CAVE2 runs on a cluster, so its important to test on CAVE2 regularly. I will be holding office hours in the main EVL lab so people can test on CAVE2.
This Arts and Humanities has been solved by our PhD Experts at My Uni Paper.
© Copyright 2026 My Uni Papers – Student Hustle Made Hassle Free. All rights reserved.