My idea behind the creation of my first project for Cardboard had many dimensions – social, humanitarian, and pure joy of creation. I portrayed a calm night in a forest, with a full moon in the distance and peaceful background of night bugs singing. This whole utopia was extended by a not-so-utopian factor – it was all on fire. There were fires burning everywhere around the player, their sounds blazing and covering the peaceful melody of the night. The only possible interaction with the environment was to shoot out more fireballs, thus making the player unable to prevent the disaster from happening, she could only make it worse.
In the social context lays the first interpretation of my project. It is about the literal destruction that humans cause in Nature. It is our involvement that only makes it worse, as we are unable to turn back time and prevent the disaster from happening in the first place.
The second interpretation of my project is a little bit more subtle. I imagined this forest as a mind map of human brain and consciousness with its sulci and gyrus as the terrain, a mountain, on which ideas, trees, grow. When destruction, or depression, or any other mental condition takes over – the fires – often times the individual cannot stop it from happening by rushing to take some action, shooting fireballs in my example, and should stay calm and just take it all in; let it flow through them. To me this is a very important issue, both because of my own recent and not so recent struggles, but also because I have come to realise that many people suffer in their everyday lives because they are not willing to stay calm and let go. I wanted to show this struggle and also give a way out of it – listening to the peaceful sounds, looking around and enjoying what one has. This works in the context of NYUAD because we live in a desert so such forests are not present but they are still highly appreciated by many here.
Of course, it can be interpreted also as the inability for humans to prevent entropy and a metaphor for our ongoing struggle. This is a more dark interpretation, but still a valid one.
Lastly, I enjoy forests and fire, and I wanted to experience it. Virtual reality allows to interact with fire like never before, like a superpower, and to be able to manipulate it in previously impossible ways. It empowers people, which makes them feel good.
On the topic of creation I will now say a few words about the actual code behind the project. For the fires spread around the forest I used a free asset available in Unity Store, which had the fires and their sounds already prepared for me. The background, the terrain, the forests and the moon I made using already existing in Unity options. For the realistic forest sounds I used a free recording from a forest I found online.
Shooting the fire, my interaction, was naturally the hardest one to make. At first I wanted to use the Fire Assets’s options; however, I learned that reading someone else’s code and being able to understand, and use it, is not always the most straightforward thing and I was unable to do it. So, I did what my professor recommend me – “Why not make it yourself?”
Thus, I created a particle system that I connected to the Cardboard trigger with an if function, so that only when you press the trigger it fires. Then I got the position of the player’s view in order to make the particles shoot in the right field of view. Using the position and rotation of the camera I told the particle system to go in that direction with the Instantiate function.
My biggest problem was making the particles move uniformly in the direction in which they were shot, because by default they spread around. In the update function of their script I added a transform.forward function multiplies by the time it takes them to travel, which I could control. Then I used a material and sound effect from the Fire Asset to attach to my particles so that they look like little fireballs.
If I had to work more on this project I would do the following:
- make the fires in the forest appear gradually for the purpose of player immersion
- make a single particle when triggering the button
- make the particle induce fire where it lands – this would be made by checking if there is anything on the way of the particle with a Raycast function and then triggering a fire asset or particle system on a spot, defined by the location of the original particle, when the raycast function returns a small distance 0.4f(for example)