Week 3 of VR Challenge—Using the Facebook API, JSON & nostalgia
One of my favorite make believe inventions is a device in Harry Potter called The Pensieve. You point a wand at your head, extract your memories into a cauldron then you can revisit them or share them a friend. As you may imagine, The Pensieve is useful in moments where you’d like to be pensive. You want to reflect on who you are, how you’ve gotten here, or you want to share your past with a friend. How can VR help you think about your past?
Do static images look compelling in roomscale VR?
Kind of! Seeing this as a screenshot doesn’t do it much justice but its a curious effect inside the Vive. Pictures look huge and you’re seeing them in a strange new context.
In order for this to work correctly, I need a way to access photo image data, time stamps, and maybe other meta data to add later. Facebook’s graph API was a no brainer.
This is a good tutorial on setting up FB authentication in Unity. The next part was tough (Massive thanks to Jack Donovan for helping me work through the challenge). The flow was something like this.
Pull raw JSON from FB → Convert JSON w/ LitJSON so it can be parsed → create a new list of urls → Download X photo data into list with IEnumerator → Store photo data into list → Take total of all items in photo list and create new cubes → load photo url from list into each cube ⤵
At this point, we have something fun to work with. To create atmosphere and control, I turned the hand controllers into flashlights and added navigation ability to the controls. Then music and magic dust to create some atmosphere and depth.
So far this has been the most encouraging project to date. I had a few friends come over to try it and both explored inside of it for sometime. I can think of many ways to improve this thing and many different directions it can go and that’s kind of the point. The way we flip through our past is pretty well worn and established on FB and online. VR offers a new territory to explore and potentially, a better way to reflect.