Michael's Journal

HOURS SUMMARY

Total: 143 hours

HOURS journal

1/24/21 - 1 Hour

  • Reviewed the course home page.

  • Began setup for Oculus Quest 2.

1/25/21 - 4 Hours

  • Began Journal.

  • Finished setup for Quest 2.

  • Messed with UI, tried out Google Earth VR both with Oculus link and Paperspace.

  • Read information from last year's wiki.

1/26/21 - (in class)

  • Took Pictures in Google Earth VR

    • Left to Right: Barbour Hall at Brown, McDonald's near my high school (Manhattan, NY), House I grew up in (Brooklyn, NY)

1/27/21 - 5 hours

  • Explored some more VR software:

    • Medium by Adobe/Oculus Medium

      • Spent a little bit disproportionate time on this because I was originally trying to use Oculus Medium with Oculus link, but turns out that Oculus Medium is a depreciated version of Medium by Adobe (I think I had the old one on my account when I got a Rift). Medium by Adobe worked well.

      • Seems like this does not have a great means for collaboration, although the models can be exported and used in other programs. The most that this program can probably do in terms of collaboration would be to have one person in VR create/alter a model, export it on the fly, and then other users can see the exported version.

    • VRChat

      • Spent a small amount of time on this, seems basically entirely for entertainment purposes, but it would be interesting to see something with a more academic focus, but with basically the same features.

  • Looked into VR documentation online for Unity a little bit, seems like the main difference between that and Unity 3D is just setting it up for VR (probably by downloading support code/templates).

    • Surely will be more complicated for CAVE/Yurt, will need to look at our wiki more.

  • Project Ideas

    • General purpose live collaborative 3D model viewer/highlighter/editor (same idea as one mentioned in class)

      • Basically like Medium but collaborative

    • General purpose mixed media presentation software

      • I probably should look into Quill, but general idea here is something that combines Powerpoint slides with seamless transitions to 3D models, so people can basically make a presentation in VR and take advantage of it.

    • CAD modeling with real-world dimensions

      • This is intended to be modeling for real-world construction (e.g., parts to an existing machine).

      • Need to do more research on this.

    • 3D live view of satellite mapping/general space trajectory mapping

      • Would be interesting to see objects in space with their paths/orbits mapped out.

      • Need to look into Open Space


1/28/21 - 4 hours

  • Spent time looking into Vader Immortal episodes 1 and 2 (Star wars video games)

    • Movement options seem to be fairly normal

    • Episode 2 adds the ability to force grab, which could be an interesting way to interact with objects at a distance for data visualizations

      • For example, making a quick pulling motion can bring something close to you immediately in VR


1/29/21 - 5 hours

  • Spent more time looking into Quill and Medium

    • Quill is definitely more of an animation tool, although it is a good source of inspiration for what presentations can look like in VR

      • In viewing mode, quickly snap to different views, play audio on command, all from UI overlay on controllers

  • Also spent some time messing around with VRChat

  • Played Vader Immortal episode 3, nothing especially new

    • Something I took more notice of this time playing was that force grab is assisted by highlighting the current "grabbable" object

    • Also took note that force grabbing can be sometimes confusing when there are multiple objects; highlighting is helpful, but selection can still be messy

2/1/21 - 3 hours

  • Brainstorming/Fleshing out Project ideas more:

    • Add boilerplate code for collaboration to MinVR

      • Things that need to be done

        • Will need cross-platform networking code (and will need to document this on the wiki, will probably use something like Boost.Asio).

        • Will need to somehow test with multiple people (may need help from other students, or a way to emulate VR on an extra machine)

        • Will also have to create tutorial

      • Class Activity

        • Unsure if this is before/after the project is done, but if it is after then ideally would be good to give a walkthrough/lab for the tutorial

      • Deliverables

        • Wiki information on collaboration with MinVR

        • Ideally full tutorial and boilerplate code anyone can use for MinVR projects more easily

    • Make a collaborative presentation system in Unity

      • Things that need to be done

        • Create a VR Unity project with networking (sometimes can be difficult/annoying)

        • Add to wiki with information about how this works/what it looks like

        • Flesh out presenter/viewer unity scenes

        • Create some import pipeline (maybe even just images and 3D models at first, but ideally something like websites or PowerPoints would be nice too)

      • Class Activity

        • Would be good to present something in the end result to demonstrate a use case

      • Deliverables

        • More Unity wiki information overall

        • Perhaps a tool for classes (if project is successful enough)

    • Deep dive into existing collaborative software and UIs

      • Things that need to be done

        • High amounts of wiki documentation generally!

        • Need to look at general collaborative experiences available on Steam and Oculus stores (and also default software)

        • Ideally add a wiki page for each

        • VRChat, Rec Room, Tabletop Simulator all come to mind for potential collaborative VR (at least from the games side)

        • Need to document how UI/UX is done

          • Good amount can be done here, even just with avatars and their movement through virtual spaces

      • Class Activity

        • We can all try to "meet" in one of these pieces of software!

      • Deliverables

        • Mostly mentioned above, but this involves lots of wiki contributions

2/3/21 - 3 hours

  • Spent some more time looking at VR Chat

    • Also has features to draw in the air in some rooms, which could be useful for collaboration

    • Also seems to have lots of customization with avatars (you can create them, seems to be somewhat tedious though)

  • Project plan:

    • 2/9

      • Create basic wiki pages for most of the software I want to look at

      • Flesh out a wiki article on VR Chat

      • Fill in some information from past experiences, maybe replay parts of some games

        • Half Life Alyx (although not collaborative) has some interesting ways to interact with objects

          • Even early on they have a whiteboard that works notably well, also features a lot of puzzles, and has an interesting way of grabbing objects

        • Boneworks is more or less meant to be a VR "playground" which is somewhat all over the place, but it might be good to see what they have found for UI/UX (they start out with a "museum" that shows a lot of this stuff actually)

    • 2/11

      • Create a more definitive list of software that I want to look at for the later dates

      • Receive (and incorporate) feedback on wiki contributions made by the previous date, will better determine if it's best to still look into games, or if there are other recommended pieces of software to explore for user experience

    • 2/18

      • Spend time with Rec Room

        • Seems to be centered around making games for people to play together

        • Might actually be good for collaboration (depending on the complexity of the "games" that can be made...)

        • Document this on the wiki

      • Tabletop simulator

        • This is meant for playing board games (also is not exclusively VR)

        • Might be able to make "games" that are complex enough to allow for collaboration

    • 2/23

      • Try 2 more different TBD pieces of software/games that do not have much overlap with those explored earlier

        • Document them as I did above

    • 2/25

      • Create pages on just particular features (linking to examples of them in games by linking to the software that have implemented them)

      • See if livestreaming is also a viable collaborative medium

        • Essentially, systems with a single "driver" and multiple viewers

      • Look more into software that I previously explored if the new wiki pages need more details/refining

    • 3/2

      • Create some "toy" versions of these user interactions in Unity/MinVR

        • These would just be things that don't have an immediate purpose, might just involve moving some random object around, or bringing up menus and whatnot

          • Also would likely not be collaborative, but if someone else is working on a Unity project this could be a potential addition

      • Begin collecting findings in summary/presentation

    • 3/4

      • (same as previous meeting)

    • Potential Activities:

      • Meeting in one of the collaborative games/pieces of software

      • Demonstrating some of the simple "toy" user interactions in VR

2/8/21 - 5 hours

  • Spent more time in VRChat

  • Began Documenting Different kinds of User Experiences

  • Finalized project plan

2/10/21 - 3 hours

  • Documented experiences in VRChat and some other games by adding to User Experience pages

2/17/21 - 5 hours

  • Working on VRChat Tutorial

  • Recording some examples of movement and UIs from within VRChat (will add to wiki tomorrow)

  • Worked on presentation for tomorrow

Journal Evaluation by Laila -

Journal activities are explicitly and clearly related to course deliverables - 5

deliverables are described and attributed in wiki - 4

report states total amount of time - yes

total time is appropriate - 3

Keep up the great work!

Self Evaluation

Journal activities are explicitly and clearly related to course deliverables - 5

deliverables are described and attributed in wiki - 5

report states total amount of time - yes

total time is appropriate - 3

Notes for myself—time is a little low so will have to make up in the upcoming weeks.

Note: I did my peer Journal Evaluation for Melis.



2/20/21 - 2 hours

  • Testing out Rec Room more

    • Not much more to add to wiki, but wanted to double check

2/22/21 - 3 hours

  • Finished VRChat tutorial preparation

2/24/21 - 3 hours

  • Collected VRChat feedback from Slack

  • Prepared for Class Tutorials/Activities

  • Prepared Progress Report Presentation

2/27/21 - 4 hours

  • Setup Unity Project

    • Admittedly took longer than planned


2/28/21 - 4 hours

  • Figured out workflow for using Sidequest to load .apk that I would build in Unity

    • Again, this took longer than planned, but good to have a decent pipeline for development

  • Figured out how to use XR Interaction Toolkit in Unity

    • Made the process of adding simple way of showing off features easier

3/01/21 - 1 hour

  • Prepared for class activities

3/03/21 - 3 hours

  • Prepared for class activities

    • Ran into tracking issues for a while with hand tracking, but still fun to try out!

3/04/21 - 4 hours

  • Finished adding different kinds of locomotion to Unity Project

3/08/21 - 6 hours

  • Put together final presentation

  • Fixed journal issues

  • Oculus Casting Guide wiki

    • Forgot to copy to wiki from my Google Drive (sorry about that!)

  • Added Project to GitHub

3/15/21 - 2 hours

  • Project 2 Idea: Collaborative 3D model editing

    • Will be limited to small groups (going to focus on 2 people at the moment)

    • Overall plan (in order of priority):

      • Get local model importing and viewing working

      • Get basic collaboration working for viewing models

        • Also will try to make a system for connecting people that is a little easier, may need a web server for easily establishing P2P connections

      • Get local 3D model editing working

      • Get collaboration working for editing

      • Add another 3D datatype that is more "scientifically" focused, and any editing/viewing features that help with that datatype.

    • Deliverables:

      • Another piece of software that can be used to demonstrate collaboration in VR

      • Wiki additions for Unity, especially in getting collaboration working

      • Wiki additions for new 3D datatype used

    • In class activity:

      • Ideally, a little late into the semester we can try out what I have working thus far!

        • Would be really good for getting feedback on my progress


Project 2 Proposal Evaluated by Laila

    • The proposed project clearly identifies deliverable additions to our VR Software Wiki (4)

    • The proposed project involves collaboration in VR (5)

    • The proposed project involves large scientific data visualization along the lines of the "Data Types" wiki page and identifies the specific data type and software that it will use (4)

    • The proposed project has a realistic schedule with explicit and measurable milestones at least each week and mostly every class (5)

    • The proposed project includes an in-class activity (5)

    • The proposed project has resources available with sufficient documentation (5)

Project 2 Proposal Evaluated by Hiloni

  • The proposed project clearly identifies deliverable additions to our VR Software Wiki (5)

  • The proposed project involves collaboration in VR (4)

  • The proposed project involves large scientific data visualization along the lines of the "Data Types" wiki page and identifies the specific data type and software that it will use (4)

  • The proposed project has a realistic schedule with explicit and measurable milestones at least each week and mostly every class (5)

  • The proposed project includes an in-class activity (5)

  • The proposed project has resources available with sufficient documentation (4)



3/17/21 - 2 hours

  • Prepared Project Presentation

  • Began looking into importing meshes into Unity

3/22/21 - 4 hours

  • Read through seven scenarios paper

  • Looked more into importing meshes into Unity

    • Found a runtime .OBJ loader

      • will need a way to download an OBJ

      • then I need a way to open it inside the app

    • This is taking a little longer than planned, will try to get it working for our next meeting

3/24/21 - 6 hours

  • Worked on updating a mesh in Unity by loading in an example .OBJ file via a link inside the program

    • Took a while to get to work, there was an issue with the default shader the library was using, so it appeared in the editor but not on the Quest

  • Prepared for Cave Painting Tutorial

3/27/21 - 6 hours

  • Tested collaborating in Arkio with Paul ahead of time

    • Enjoyed testing out the software, seems very good for architecture, liked the ability to remove existing buildings on maps and then put in a new one.

  • Began working on web database system for uploading models

3/29/21 - 3 hours

  • Spent time trying to get Oculus information from Unity, didn't make much progress

  • Prepared for in-class Activities

3/31/21 - 3 hours

  • Continued to try to get Oculus information (e.g., username), requests would go through but returned messages would be empty

  • Prepared for in-class Activities

4/4/21 - 5 hours

  • Settled for instead getting device specific information instead of Oculus account info temporarily

    • Inside my program I display the first 4 digits of a hash of a device specific ID provided by Unity

  • Use this to load information instead of username

4/5/21 - 7 hours

  • Got translating and rotating a loaded .OBJ on the fly working

  • Put together in-class activity

    • Involves pipeline of booting App to find 4 digit code, using 4 digit code in the web app when uploading model, and then reloading the app

4/5/21 - 8 hours

  • Got translating and rotating a loaded .OBJ on the fly working

  • Put together in-class activity

    • Involves pipeline of booting App to find 4 digit code, using 4 digit code in the web app when uploading model, and then reloading the app

4/6/21 - 2 hours

  • (Morning before class) finished up in-class activity and bug with loading models

4/10/21 - 9 hours

  • Began work on adding networking to project

    • Decided to use Photon PUN

    • Went through some YouTube tutorials on how to get this to work

    • Added the ability to see other players inside the application

4/12/21 - 9 hours

  • Added the ability to scale objects

  • Finished up networking work

    • Got model transformations to be synchronized

    • Synchronized model loading via a buffered RPC

      • Essentially, the first person to load into the room for a given session will have their model loaded for everyone else (they will need to stay in the room, however).

  • Made some minor quality of life improvements (fixing some minor transformation bugs, moving code to appear alongside the controller)

  • Began preparing presentation materials

4/14/21 - 5 hours

  • Added Basic Photon Guide, mostly directly based on my collaborative project

4/21/21 - 4 hours

  • Fixed issues with final presentation

    • Added more images

    • Fixed formatting

    • Trimmed some text

  • Fixing journal issues