Camilo's Journal
PROPOSALS
Project 1 Proposal : VR terrains
Presentation for Project 1 Proposal
End Presentation for Project 1
Project 2 Proposal
before after
---- ----
3 | 5 | Goal 1: articulate VR visualization software tool goals, requirements, and capabilities
2 | 5 | Goal 2: construct meaningful evaluation strategies for software libraries, frameworks, and applications
2 | 4 | Goal 3: execute tool evaluation strategies
3 | 5 | Goal 4: build visualization software packages
2 | 4 | Goal 5: comparatively analyze software tools based on evaluation
3 | 5 | Goal 6: be familiar with a number of VR software tools and hardware
2 | 5 | Goal 7: think critically about software
1 | 5 | Goal 8: communicate ideas more clearly
1 | 5 | Goal 9: Maintain an organized and well written documentation of the research processes done in class
ALL OTHER WIKI CONTRIBUTIONS
CONTRIBUTION 1 [complement Applications of VR main webpage]
CONTRIBUTION 2 [Replace table image for a google sheet]
CONTRIBUTION 3 [Add Fiji/ImageJ page]
CONTRIBUTION 4 [Add OBS studio to record video on Windows O.S]
CONTRIBUTION 5 [Add Holographic display website]
CONTRIBUTION 6 [Add MinVR cmake script repo]
CONTRIBUTION 7 [Add Unity VR started package]
CONTRIBUTION 8 [In class activity results]
CONTRIBUTION 9 [Photon Lobby and Rooms]
CONTRIBUTION 10 [Photon Control remote Game Objects ]
CONTRIBUTION 11 [Photon Remote Procedure Calls]
CONTRIBUTION 11 Photon Troubleshooting and answers
CONTRIBUTION 12 Debug WebXR using Oculus Developer Hub and SteamVR
CONTRIBUTION 13 Debug Unity at runtime using Visual Studio and VS-Code
CONTRIBUTION 14 Git Commit Large Files
HOURS SUMMARY
Total: 133 hours
HW 1/30
3 hours
Nine Seperate Changes
Takes 10 minutes:
Fix/Improve VR Applications entry page DONE
Add Fiji/ImageJ2 as part of VR software visualization. DONE
Improve and update wiki of software IATK . Maybe adding a video. The steps are from an old version that doesnt support the latests XR changes in Unity.
Add RagRug in the AR section of the wiki
Takes 1 hour:
Create link to important articles on VR applications in the real world, market and research on new hardware.
Add link to repos of VR opensource software
Add looking glass as part of the VR hardware website. DONE
Takes 3 hours:
tutorial on custom volume rendering on Unity.
Advance OpenSpace tutorial.
Script to facilitate build applications on MinVR DONE
1.5 hours
Reading OpenSpace and Gaia Sky tutorials and how make it work onVR.
Reading some of the ideas proposed on the csci2370 website. I'd like to know more about the research on galaxies.
HW 2/1
3 hours
Reading different projects.
Reading about RagRug to understand how it works.
Doing goals chart.
Creating VR software google sheet and replace the old image.
Adding Fiji/ImageJ to the wiki.
Revisiting Oculus Quest2 installation process. Following the guide in the wiki.
Potential Project Ideas
Represent in VR Gravity and atmosfere on multgiple planets using OpenSpace
Do something with RagRug
Create custom volume visualization plugin in Unity that can be useful to future students and projects
Google Earth VR
Tokyo tower
Naruto Ramen located in Upper Manhattan
Fox point - Providence RI
Google Earth Web
Tokyo tower
Naruto Ramen - Upper Manhattan
Fox Point - Providence Ri
HW 2/7
1 hour
Project ideas:
1. Represent in VR Gravity and atmosfere on multgiple planets using OpenSpace :
Research data about different places in the solar system from multiple space agencies. Get specific numbers on gravity, atmosphere pressures and colors.
Create VR scenes representing locations in the solar system
Create interactive content that people can move around in the scene to compare experiences.
Class Activity: Grand tour across the solar system. Implement Proton for multiplayer VR and test in how high we can jump on each planet.
Deliverables : Executable that should run on multiple systems. Documentation on how to install and run. Documentation on where the data was acquiree from. Comparation between how users experience data in the application vs the experiences expressed by on other scientific documents.
Do something with RagRug
Research on actually works. Research on red-node.js and AR systems
Thinking on elements in real life I want to measure ( temperature , pressure , etc ) andd how to present them in AR.
Create a document explaining how to start working in RagRug so other students can take implement more applications and/or features.
Class Activity: Using the Oculus Pro measure an specific aspect in the class room.
Deliverables : Documentation on comparing multiple AR APIs and hardware. How easy is to implement this type of multi environmental applications. Differences between VR and AR when including data from the real world.
Create custom volume visualization plugin in Unity that can be useful to future students and projects.
Research on how to implement volume redering on unity.
Implement a custom volume viewer in Unity
Compare against other volume rendering plugins in unity or unreal.
Implement interactions in VR
Class Activity: Load different volumes with different sizes and resolutions and/or use collaborative VR to measure lag , resolution and interactivity.
Deliverables : Source code, steps to build, install and run. Documentation comparing different volume viewer softwares.
Brainstorm software evaluation metrics:
Performance loading huge amounts of data.
Maintainability - How often is updated.
Usability - How easy is to use for new users
Project : Experience planets in the solar system using VR .
Having a lot of scientific data on how gravity and the environment factors on each planet in the solar system , I plan to model a low resolution terrain of certain planets and their atmosphere, and simulate how people would experience physics ( momentum, motion, atmospheric pressure) on this alien worlds.
I need to do the following to get star working on the project:
Research and gather data from recognized space and astronomy agencies.
Learn how to set up a Unity VR project and how script physic. (I am already taking the online Unity VR pathways)
Look up some terrain models of different planets. I will try to model some terrains if I cant find them.
Learn how to implement multiplayer in Unity using Photon or inbult Unity multiplayer supoprt.
Research on the file format of terrains and how to easily export them to Unity. Some plugins might help.
Use Blender for converting data files from stl formats to fbx or obj ( Unity friendly formats)
Class activity:
All the students enter into a single scene, experience the physics on the planet by throwing elements to the distance. measuring how far they go. Also, an activity on how jumping feels on that specific gravity. The atmosphere should simulate how the sky looks in that planet.
Metrics for class activity:
How many can connect to the same simulation
Lag perception in the simulation
Motion sickness moving on planet terrain.
Milestones:
02/14 Produce 3D scene of at least 2 planets different from earth. Terrain and atmospheres.
02/16: Simulate gravity in planets and test how high user can jump
02/23 Physics throw elements in the scene and simulate their motion. some simulation on atmosphere pressure on these planets.
02/28: Implement multiplayer in the scenes Using Unity photon. Create a main lobby where users can initiate their multiplayer session, and then launch the 3D planetary scene. In multiplayer mode, create an avatar of the users in the simulation. All the user actions should be noticeable or traceable for other users.
03/02: Continue with Multiplayer. If time, determine what criteria will be evaluated and how that will be evaluated. Create survey for class activity
3/07: Make video tutorials for 3D visualization and for VR visualization. Prep for class activity
03/09: Class Activity
Deliverables:
Executable of the application. Hopefully the same instance of the app works for single and multiplayer modes.
Videos on how users feel using the application. Survey about motion sickness.
Write wiki contributions 1.. Tutorial on how produce such environments 2. Tutorial on multiplayer implementation with best practices.
2/11/2023
3 hours 30 mins
Researching and adding information about Holographic Displays - 1 hour.
Adding more info on how to run Fiji/ImageJ in VR mode 1 - 30 mins
Learning Unity VR - Set VR scene - 1 hour
Researching, adquiring terrain data from planets. Convert the terrains in a Unity friendly format - 1 hour
2/12/2023
2 hours 30 mins
Preparing power point project plan presentation.
More work on 3D scene with terrains in VR
2/19/2023
3 hours
Git hub project with CMake script to build MinVR project
Update wiki
2/20/2023
1 hour 40 mins
Implemented physics on moon for Jump action
Tried to record a video of it, but my laptop ran our of batery.
2/23/2023
Paraview Screenshots
Ben's Volume viewer
3-5-2023
5 hours
Added 2 additional planets ( Earth and Venus )
Added new elements into the scene ( rovers, tables, ball, hammer, landers )
Added air density and test with different values
Added UI to reset the position of the ball and the hammer
3/6/2023
4 hours
Researching on multiplayer plugons for unity
Adding Photon plugin to project
Implementing server-client and networkig objects
3/11/2023
3 hours
Testing multplayer
Add bakcground audio for each planet
Tesitng apk for class activity
3/15/2023
4 hours
Adding wiki contributions from the in activity class
Recoding new video of final product
3/19/2023
3.5 hours
Reading homework paper and thinking project 2
Research on datasets from seti and other radio telescopes observatories
Reading some OpenGL ES implementations to port legacy code to quest 2 for possible ideas for project 2
Project 2
Idea 1 : Continue with VR planets. Adding content with the idea of teaching how different aspects of the planets in the solar system
Create a new form asking the students in class what they would like to leant about astronomy and other planets. Asking for feedback on the first VR terrains (UE)
Research on other tools I can compare VR terrains against and create evaluation.
Identify what I want to teach or demonstrate from VR terrains.
Implement new features.
Create form or table to compare how effective is VR terrains to teach about other planets.
Create Collaborative tasks on different scenes for multiple participants in the same instance of the application ( multiplayer)
Milestones:
04/04 Fix multiplayer
04/06: Create collaborative task :
Obtaining water on earth vs moon. In groups of 3 persons they start on earth and are require to collect water which is located on multiple sides of the map. Next, they will try to collect water located in the moon, which will be located in pieces of ice sparse in the moon terrain. After collecting many rocks, they will have to process the iced and converter to water.
I'll think on another task that is easy to do on earth but difficult to do on mars.
Users will be able to see each others avatars and its position in the world in real time.
For networking I'll use Unity - Photon plugin.
04/11 Test
04/13: Test and Prep for class activity ( a least collaborative tasks in 2 planets )
04/18: In activity class
04/20: Add another collaborative task on other planet
04/25: work on wiki contributions [ Make video tutorials on how to create collaborative VR in Unity
04/27 : ]work on wiki contributions [ Make video tutorials for 3D visualization and for VR visualization ]
4/2/2023
6 hours
Fixed lobby scene where players wait to connect to the multiplayer scene.
I had an issue loading the Moon scene. The interactive objects were nto grababble. I debugged for a long time but couldnt solved it. I realize that the scene is broken and I had to recreate the Moon scene.
4/3/2023
2 hours
Recreate Moon scene and test multiplayer.
4/6/2023
2 hours
Trying to fix errors on instantiating game objects that contains a XR tool kit component. When they spawn on the level the lose all the interactions with the grabbable objects
4/8/2023
7 hours
Rebuild Moon scene to figure out what could be wrong with the network rigid bodies transformations
Fixed errors on interactions between users and grabbable objects, testing with multiple players.
Plan and design the challenge in the moon. For now it could be like a treasure hunt.
Adding content to the Moon scene.
4/9/2023
4 hours
Research on more challenges to add to the scenes. Tutorials on how modify terrain in Unity
Started work on Mars Challenge
Mars challange looks like a cheap video game
4/14/2023
3 hours
Preparing project for in Class Activity. Testing Moon scene.
Adding rocks models, grabbable interactions and
4/16/2023
6 hours
Adding more content to the Moon scene. Rocks and more UI to explain the challenge dynamics.
Research on Photon Rooms
Adding 4 Rooms to split the class.
Testing the user actions in one room wont affect others.
4/17/2023
9 hours
Research on Photon Remote Procedure Calls and implementing them in the Moon scene
Adding UI button that starts a counter on all clients
Added Render to Texture for Moon stones
It seems that while I was cleaning the code I broke the avatar's networking transformations
Testing with Jakobi
4/18/2023
0.5 hours
In class activity
4/22/2023
7.5 hours
Finishing Dave's in class activity. Researching covid-19 3D models and analyze them
Restarting a clean Unity + Photon scene to try to figure out why the avatar's network transformations are borken.
Fixing avatar's networking transformations. DONE
4/24/2023
6 hours
Adding wiki contributions control remote objects , remote procedure calls and lobby and rooms
Creating mock up scene to take screenshots and videos for the tutorials.
4/28/2023
5 hours
Finish Melvin activity using inmersive VR ( it took me more than expected because I didnt save the initial screenshot and I had to start from scratch)
Researching new features I can add to the VR-Terrains application
4/30/2023
10 hours
Starting workoing a feature in the VR-Terrain application where the avatars can spawn an emoji ( a UI panel in 3d space) to indicate their position to other avatars
Continue working on avatar signal position indicator. Again, photon is not streaming the position of the UI panels to the other clients.
After 2 hours I finally found the error, but I had to start a networking test project and add component by component until I realized what I was forgetting
Research on terrain modification in Unity and start working on Mars terrain challenge
5/01/2023
5 hours
Still working on mars challenge. The terrain modification s work on multiple clients.
I did some research on other networking libraries that work in Unity than I can add to the wiki
5/04/2023
5 hours
Wrapping up the Mars challenge with modifiable terrain. It looks like a cheap version of Minecraft.
It took me a while to apply the challenge design and adding a few new places where the users cant move
I tried to modify the skybox but I think the one I already had looks way better.
Some time I forgot track in the middle of developing project 2
I would add another 10 hours, while researching, debugging, implementing and testing multiplayer mode. It wasnt 10 hours straight, but it was in the course of the week from april 3 to 7.
5/12/2023
3 hours
wiki contribution on how debug webxr using oculus developer hub
Preparing for final demo, poster and some videos.