Some last min attempted additions to my project before submission.
Sound
Oculus Spatialised
I added Oculuses spatialised audio to the tools so that the sound interacts with position velocity and its environment. I wanted to make something more for the scene that would make use of sound.
Turntable
In designing a turntable I underestimated the depth of design choices that I would need to make. such as where the player can grab. how the rotation reacts to the position of the player’s hand, whether the hand holds onto the controller position or grab point position.
Record Player
In seek of more objects to emit sound I had the idea for a record player that using joints to imitate the record needle and start playing the music. also possibly later adding the ability to change records and record sides. however, I did not give myself enough time to have this idea so late in production.
After making the controller models vanish when holding an interactable. I had to move the Hand tag ridged body from the controller prefab to the XR toolkit prefab as to not disturb the hand count on the toolkit animation. otherwise, the hands would not register to leave the toolkit collider.
Deciding on the setting wasn’t a huge priority of mine. of course, my first thought whereof a Japanese style garden with paper wall buildings (I even went to visit Kyoto gardens to get a feel for the style) but thinking back to my own experience I first was made aware of bonsai at Royal Botanic Garden Edinburgh when I was very young. I find the art deco and nouveau greenhouses visually interesting and in the back of my mind I intend to create a world for VR-Chat at some point and although the Japanese style is very popular with the Anime fan community’s on VR-Chat I feel as if it a style that’s a little played out.
I found this Victorian-style greenhouse under creative commons through the sketchpad blender plugin and used it as a base to create my main botanical space. this model was made to be viewed from the outside and its supports are hollow on the inside so I cut up the model and turned the curve inside out.
used an empty at a 45-degree rotation and used it as a mirror object for the x and y-axis. I then merged them together and created the centre cross and with Ctrl-F created window pains.
I rescaled the Greenhouse in Unity and remade the materials making the glass have additive transparency so the glass wasn’t completely clear but would let light through.
I feel now that spending a day making the greenhouse larger and into the shape of a cross was a waste as all the gameplay elements take place on a desk and the player is gifted far more space than is needed making it feel as if the room feel large and empty. I added cubes as table placeholders. I ended up removing the table in the centre because it felt isolated and lonesome so I moved the XR Rig and toolkit to be on a table away from the centre. I had I little look at the decor that could help fill all the empty space. TLDR: too much space not enough time.
After importing the tools in FBX format I added the animations from the sheer FBX to it’s prefabs animation controller as well as creating 3 animations in unity for the other 3 tools that would open the
I have been working in Blender to create the bonsai tools for my project. I decided to have the different parts of the mesh divided into separate materials this is less optimal but I thought if I decided to edit the materials in unity later I could visually affect the blade to dull or allow customer colours for the handles and pins. To the 3d cursor to the centre of the pin and then setting the origin point of the parts to the 3d cursor, then rotation one part by 180. I made the Cutters, Trimmers and this way but the sheers ended up being one object so I would need to figure out a different technique other than using a pivot object. I first considered using a vertex displace shader, so I split the UV to have it organised left to right. however, I realised that using bones and weight painting would allow me to have more control over the mesh’s movement in the long run.
sheer UVs
sheer weight painted
broken normals
fixed normals
Thought it would be nice to have a place for the tools to go. I considered having it as a player.
In class, we discussed coding techniques that we could use in our projects and our lecturer (Sokol) suggested I look into Lindenmayer systems to generate my Tree. I find the idea of being able to have my tree grow over time very appealing and is a far cry from the restricted step by step tutorial I had in mind for my project.
Since finding out about L-systems I have watched a few videos including this one video above that shows the L-system growing over time made in Javascript (there GitHub download was broken), as well as 3D l-systems like TreeSketch and ones found on http://www.algorithmicbotany.org/TreeSketch/ and semi interactable unity example on the unity asset store.
In Class Sokol gave us a step by step tutorial talking us through creating the sets of rules (the axioms) and the dictionary that defines those rules with a String builder. I didn’t think I got it to work at first but realised, later on, I just needed to zoom out and I had what you could just about call a tree, Just without deviations, a third dimension, leaves, growth or colour.
I noticed that the sidebar was filled with branch prefabs and found that I could instantiate them as children of the pot by using the above. I think later on I could use this to have branches understand their hierarchy in that when an older branch that is higher on the hierarchy is cut the children of that branch will fall off. However, my understanding of the system right now has it so that when I edit a branch it all branches in its iteration.
I created this script to make it easier to view the l-system in-game view. which rotates the camera around the pot by drawing the mouse across the screen. I did this by using the distance between where the mouse clicked and the mouse currently is.
I then created two scripts, one from the orbit around the Y-axis (up and down) by clicking and dragging the screen and the other so I could zoom in and out. At first, my zoom script moved the cameras transform position but the meant the camera would clip through the leaves so I edited the cameras FOV instead and had it bound to the mouse scroll wheel.
Now that I had set up a rig that allowed me to view the L-system. Iv had to think more about how this will work with a VR player. The XR camera isn’t something I have to worried about however if the Bonsai is on a table, as is the player would have to walk around it. I rather the player be able to use a turntable to rotate the tree as they work on it. I thought having the branches parented to the pot as I had done previously would mean I would just need to change the rotation of the camera to the rotation of the pot. However, because the l-System position is determined only at the Start the rotation of the pot would be implemented after restarting the game. So I would need to put it in an update function to have it rotate the way things are right now but that I feel would scale poorly and be incredibly taxing on the system especially running in VR. I Tried to detect if the tree was moving with an exterior script that would detect if the tree was moving and call an update. this didn’t get me anywhere.
So I started to plan out my VR experience for Virtual Spaces and have decided to explore the art of Bonsai. Creating a miniature tree that the users will be able to manipulate whilst learning about the tools and techniques used in creating living art. I could also use it as a way to teach the history of bonsai as it moved from china to japan to all across the world and how it became synonyms with zen Buddhism. possibly also touching on famous individuals like Makoto Azuma, Yuji Yoshimura, Kunio Kobayashi, Akanori Aiba.
Bonsai is seemed to be quite a rabbit hole of complexity where creating a truly fatal reaeration of bonsai is seemingly infeasible as it’s important to remember that a tree is a living thing and they are incredibly complex. So I have to watch out for feature creep as the idealistic vision I might have for a VR bonsai simulation won’t be achievable in the few months I have for the project aspectual considering this will be my first dive into unity interactions and scripting. So I have listed out mechanics and features I think would be cool to have and listed them in order of importance and relevance. Some features like being able to see the tree grow will prove to be incredibly challenging for me but we love the challenge.
Branch Bending
Branch Wire
Branch clippers
leaf sheers
Temperature
Real-time growing
Seasonal changes
Dead bark
customer pots
Root rake
Root cutting
Decoration
History and meditation lessons (getting over it with Bennett Foddy style)
Contextual & Theoretical Studies and Virtual Spaces
So after wrapping up are previous 2 projects and after a week break for reading and watching plenty of youtube. we now have 2 new projects to get on with.
Contextual & Theoretical Studies
For Contextual & Theoretical Studies we have started to look deeper into the state of the art and what is currently presently being adopted into the industry. by looking at papers and articles submitted on sites like ACM Digital Library & Research Gate. I will be writing an essay for this unit “A portfolio of writing that connects practise with theory and research and demonstrates a clear understanding of the key themes addressed in the unit lectures 1,600 words” as these last couple of weeks I had a number of ideas that I would love to write about in my essay these being.
VR overlays and multiprogram communication in VR and VRm minigames/metagames
Will the wider adoption of VR by the public lead to less effective VR in therapy How much experience with VR effects bias influence.
Does increase detail in games lower the development of imagination
Anonymity how it changes behaviour and if it differs in VR
2nd persons place in VR narrative and perspective position
I narrowed my decision down to idea 1 and 5 as the other seemed to be more objective research-based questions that would be better explored in technical papers. I leaning more towards writing about the 2nd person as I have already thought intensively about this beforehand after playing “Moss” about a year ago. as much as overlay games like Portable Farm interest me there aren’t many examples outside of that game and its a rather new concept that I would prefer to revisit later where I want to get 2nd person out of the way as there is a lot of variety in VR perspective.
Virtual Space
somethings I take seriously but rarely is it myself and my work. So I might have to work with a few loopholes when creating my serious VR interactive experience for my Virtual Spaces unit.
I started to surround myself with serious topics to try and spark some inspiration tracking creating the Padlet above to try to figure out my approach 1st watching some Vice documentaries on world affairs and issues. I then realised although it is imperative that these issues be explored, Billy Beeson aged 22 is not that person and even after just reading about these issues a smidge I’m already emotionally exhausted.
So looking elsewhere Wendover productions had a lot of inspiring videos on the world environment and economics. I had a brief time working as a bin guy over one summer an exuberance that has made me think about waste and where it ends up. however, coming up with a serious and engaging way to dispose of trash altho plausible seemed unlikely. It could be fun in an arcade genre where you cleaning up a beach or working a recycling plant conveyer belt in order to build up points multipliers to reach s new high score.
Then after looking into social and personal issues through the lens of Healthy Gamer. gg I tried a different approach looking at serious games and the kind of interactions I would like to create. In the hopes of using game design and mechanics to tell the story. Dwelling on things like the polarisation of thought and the enforcement of extreme opinion. It would be possible to address these through game mechanics alone and wouldn’t need to be heavy-handed in its message, where you could teach the player through the game mechanics alone where the goal is to balance two extremes and avoid the extremes of 2 outcomes. I like the idea of creating a game with only a loose state or a game the lends itself to speedrunning.