Greenhouse AR Project

Spark Emerging Technogies

For this semester I continued with an Augmented Realtiy client project alongside SPARK EMERGING TECHNOLOGY LAB who are the UK's leading augmented reailty agency, and I have been a huge admrier of theirs over the last couple of years within the AR agency.

Client brief

My client for the project are a london based company, who specialise in building small construction buildings, in confined areas for city gardens My Room In The Garden. These buildings are unique due to the fact that they do not need planning applications to construct: "standard rooms have a max height of 2.5m, which doesn't require planning under 'permitted development rights'" (My Room In The Garden. The buildings also desiged in a modular flat pack form factor for fast construction, built from sustainably sourced plywood and wood boards.

My breif was to create an augmented reality application showcasing the building in real time and would enable customers to augment the model in the garden live. This will provide a unique experience for the user and will give a marketing advantage for myroominthegarden aganist their competitors, thus increasing sales and brand awareness for the company.

Documents

  1. NLT 2 Document

Product research

Next i started to research the asthetics of the building as well as the features that it contains within. For example, the walls are made out of made using FSC certified Birch Plywood, with the option to upgrade to higher-spec version includes insulated wall/roof/floor panels and glass door/windows (Arch Daily).

Next i looked into the interior of the buildings, where i discovered the main features of the interior and thought about how the user would be able to maximise their augmented experience within the building. For example, each wall modules can host different finishes such as peg wall, mirror, plain or decorated wood, etc. The user can compose the interiors to their taste and need (Arch Daily). As a result i thought that i would keep the shelving and stools within the model, to allow the user to be submerged in the full experience.

Finally i looked into a exploded axonometric view of the building top understand each individual component, that forms the 3-D model that will be augmented.

Brain storming and mind mapping

After looking into the features of the full scale green house, i began to break down the augmented reality features of the greenhouse AR model that I will develop. For example, a key part of the model is the interactvity for the user. Therefore i decided i would incorporate scripts suchas gazem rotation and pinch to zoom script to incorperate the interactivity.

Week One Development- Testing and identified problems

To start of with the development of the project, i built out a new project in unity with a mock up greenhouse to test out any features that may be cause issues. During the testing of the greenhouse, i identified that the parent needed to be at the bottom of the summerhouse, as the pivot was underground the model.

Next I downloaded AR foundation to enable the augmentation of the application

After adding the data into the Lamborghini,

The next error was the enter the camera description within unity, which was preventing the application from building out.

I then entered in the Camera description with ‘Main Camera’ thus enabling the application to build out.

After overcoming the main issues to do with the pre build of the application, I then added a UI on the Spark Sphere.

Week 2- Developing model and adding scripts

After preparing the new model, and importing a foundation into the application, the Next Step was to import the model of the AR greenhouse into unity and apply the relevant scripts to the application.

Next I upgraded the graphic settings, in order to get the very latest textures and shadows. I decided to upgrade the render pipeline from SRP (Standard Render Pipeline) to URP.

As mentioned on the Banshee AR Guitar project, one of the most important and fundamental scripts of the application, is the ARPlaceATPoint script. This enables the 3D asset to be palced on any flat object into the application using AR foundation. The script was initially taken from my previous Troll and Dragon project, but was updated to allow for the transformation of each 3D asset inside the parent object for the Funko Pop project, and will be utilised in this script. In order for the script to find a flat surface, I used the pre existing vector two script that divided the screen into 2/2 on the X axis and Y axis to allow for the Sphere to be placed in the centre of the screen.

I implemented the Rotation script, enabling the assets to rotate from finger input. This script was found from StackOverflow rotation script.

3D space. I dragged the script along into the ‘onclick’ function and assigned the ARPlaceAtPoint script to function. I then dragged the Parent containing the Greenhouse model into the Transform.

After implementing the scripts to the models, i integrated the assets within the summerhouse such as the chairs, which people will be able to view inside of the Greenhouse

Next I implemented the Game Object into the Ray Caster manager which enables the Game object to be Augmented in real time.

Within sphere object I added the ARPlaceAtPoint script that enables the AR Greenhouse to be placed on a flat surface. I was then able to add the function to add the Interior and exterior.

Basic ui, Door updates and Testing

The next step was to customise and alter the shader through the greenhouse doors. I decided to use a orange tint in the windows, to add a more realistic look through the windows.

Here is the final model of the Greenhouse

Here is the animation of the door opening and closing.

Next I integrated the reset function into the UI of the application. I then set active for each of the buttons.s

Within the canvas I then customised the reset icon to be coloured Red.

I then added the separate button to allow the Interior to be placed.

Here in this clip, I’m able to augment the greenhouse model and walk around inside the model.

With the rotation script attached, the Greenhouse is able to be adjusted and rotated around.

Week 3- Triggering door opening upon gaze

Next in order for the Greenhouse Open and Close automatically, I created an open and close door trigger to occur.

Next I added the tag ‘hasinfo’ to enable the Greenhouse's doors to trigger when the the camera looks at the door.

I then utilsed the code from Third Aurora. This is due to specific line in the Gaze script code: OpenInfo(go.GetComponent InfoBehavoiur>; this allows for the maincamera to interact with the Greenhouse due to the line in the code "GetComponent". Therefore, the gaze camera is able to get the infobehaviour information from the greenhouse and interact with it.

I then implemented the invisible URP shader to the project.

Here is the first iteration of the Greenhouse outside in the car park. Here you can the Greenhouse being utilised by walking in and around it.

Week 4- Final UI

My next task was to create a better up to date UI for A Room in my Garden. As a result I created a UI in photoshop that would be suitable to build out in the application, inside the canvas.

Next, I added UI buttons within the Canvas. I then readded the functionality such as the sphere script.

One issue I encountered was the UI integrating in the camera feed, which was initially a problem. However after re looking at Unity, I found that the UI had merged into the camera feed and was corrected.

Final Outcome 🏆

The final outcome of the project showcases the greenhouse representing a life-size interactive version of the building. The model successfully opens and closes, rotates and deploys when pressed. When entering the building the doors interact with the camera, and open the doors towards the user, allowing for the user to enter the building and imagine what the building would look like in their garden. This application will not only provide the customer with a detailed understanding on what the building will look like in reality, but will provide a unique marketing experience for potential customers.

Workplace Reference

Here is my workplace reference from Spark:

Reference

Reflection and Analysis

To reflect on this project, as it was my final project with spark I felt that I had learnt a lot to do with the basic scripting on how to deploy an AR application without marker based AR targets. I enjoyed the challenge of building the project for a large unique company such as my room in the garden, and felt it was great opportunity. Overall as I have had previous experience in building these applications, and developed my knowledge and experience with C sharp, the development of the project went smoothly.

Time Management

I structured my time management on a week by week basis, where I made sure that I took each stage into account. The My Room in the Garden project (Greenhouse AR), took four weeks to complete, with the Banshee AR guitar project taking 9-10 weeks to complete. This was down to the amount of development work required to build out the application as well as manging work alongside my dissertation too. The Stoney Tigers NFT platform however stretched between week 9-10 and week twelve, due the longevity that it took for the development and completion of application, partly due to the postponed handover document from our client. Overall I was happy in the way I managed my workload, however was not happy with the delayed development of the Stoney Tiger Project.

Handover information

Upon handing in the augmented reality application, the relevant files were all stored on Spark labs computers. As Spark own the projects and the files are on their computers/ databases, they do not need handover documentation.

References

  1. Spark Lab- https://www.spark-lab.co.uk/

  2. My Room In The Garden- https://www.myroominthegarden.co.uk/

  3. Arch Daily- https://www.archdaily.com/948181/my-room-in-the-garden-boano-prismontas

  4. Rotation- https://stackoverflow.com/questions/
    57790059/rotating-an-object-at-which-i-am-looking-arfoundation

  5. Third Aurora- https://stackoverflow.com/questions/
    57790059/rotating-an-object-at-which-i-am-looking-arfoundation