Categories
Emerging Technology Production/Portfolio Year 3

Emerging Technology- Production Piece

For the final assignment in Emerging Technology, I was tasked with creating a prototype immersive experience in any of the emerging technology sources we had experimented with or any that we found ourselves.

It was planned that I would make a digital Augmented reality experience using Zapworks but I soon switched the idea. For my new idea, I would be developing an immersive experience in Virtual Reality using Unity Engine. This experience would be similar to rollercoaster experiences that many people have already seen.

My reason for changing the idea was that I stopped liking my original idea. I just didn’t see a point in making an AR experience that I just couldn’t see people interacting with more than once. The VR experience however, is a much more engaging experience and could be developed further in the future to large lengths.

The Idea

My idea is to make an immersive Virtual Reality experience using Unity Engine, solely around Formula 1. The experience will have the user sat stationary while using the VR headset with interactable objects in the scene that they can use while a video plays around them to immerse them into the F1 world.

The experience will take place inside the cockpit of a Formula 1 car to try and give some immersion. The steering wheel will be the main interactable object. One of my biggest helps to making the cockpit realistic are in-helmet cameras used in F1 (as can be seen below).

My idea will grow as I develop it into the complete product that you will see below.

Asset Collection

For the VR experience, I needed to gather a couple of things to put into Unity. The three main pieces were a Formula 1 car, the steering wheel, and then a racing helmet.

To make the Formula 1 car, I got 2 different models and combined the parts I’d need to make the model look as I required. I also removed the majority of the parts that weren’t necessary so as to lower the amount to texture.

Model of an F1 2022 spec car
Model of an F1 2023 spec car

The model I produced from the two above

As well as the car I had pieced together, I got the steering wheel from one of the assets to put into the scene as a separate object.

Untextured Wheel Asset

I also had a helmet that I will be texturing to put into the experience for more interactivity.

Untextured Race Helmet Model

After collecting all of the assets I got to texturing them using Adobe Substance Painter 3D. You can see the finished models below.

Textured Helmet Front
Textured Helmet Back
F1 Car Front View
F1 Car Cockpit View
F1 Car Top-Down View

F1 Wheel Front View
F1 Wheel Rear View

I put a lot more effort into making the textures for the wheel and helmet as they are going to be more visible in the final product. I didn’t see many reasons as to why I should fully develop a car livery of great detail if the user will be unable to see it all.

Meta SDK Interactions

While I was preparing my models and textures for Unity Engine, I began to make the interactions with some basic block-out assets I had made.

For the project to work, I used a plug-in called Meta SDK Interactions which lets Unity function alongside the Meta Quest 2 I was provided for the project.

Meta Quest 2 Headset and Controllers

Meta SDK Interactions allows me to add a lot of interactions to different objects within Unity to allow the VR experience to be developed. More about it can be found on its page in the Unity Asset Store here.

To make a viewport for the headset I added an OVR camera rig and applied the necessary settings for the controller to be picked up. I actually found a tutorial of setting this up on Meta Horizon that helped greatly in setting things up.

After setting up the basic blocks for the VR to work, put in some test assets with grab interaction components in Unity so that I can actually pick up the objects and move them as intended in the experience.

It’s during this process that I applied all of the materials to my actual assets so that you can see them in the experience. I’m quite happy with how these turned out in the engine and think it works really well with my project at this stage. In the video below you can get a rough idea of how they look in-engine.

The next thing I wanted to implement was the actual steering with the wheel asset. To do this I duplicated the asset and then assigned a tag of wheel to the object I would need to pick up. After some scripting and setting up triggers, one object would be picked up by the user and then put to the steering block in the car. Putting the object where it goes will hide the original object and spawn the wheel you are able to turn with the analogue stick on the Meta controllers. In addition to this functionality, I made it so that when the controller moves away from the steering wheel it will snap back to the original position.

Code showing how the steering wheel snaps into position
Code to make the wheel interactable when it is in position

I did encounter a problem with the steering as the wheel would rotate along the bottom of the collider which can be seen in the video above. I thought that if I had time closer to the deadline that I would implement a fix to this but with it being a prototype project, I decided it could wait as there are more important things to complete.

Getting Race Ready

After the wheel was able to be snapped into place, I moved my attention to the helmet and making the user feel more grounded in the scene. This started with the helmet interaction I set up earlier.

Since you can already pick up the helmet, I began writing the code to have it disappear when it hit a collider at the players camera so that I could further develop it. Following the same principles as the code used to make the wheel fit into the car, it was quite simple to implement the helmet disappearing.

After that I had to develop the UI for a helmet to give the user the experience of what it might be like. All I ended up doing was attaching the helmet asset to the center eye anchor of the OVR rig in Unity. With some extra coding which was the same process as the wheel, the helmet would now disappear and then be placed at the camera like an actual helmet.

Viewport when the helmet is on the players head

Developing the Experience

With the wheel being set up, and now the helmet being put together and interactable as both are needed, I was able to start developing the rest of the experience around the user.

The video below shows where my project was at before I started this stage.

For the actual experience development, I first had to find a way to produce the process around the scene. I explored a few different methods. HDRI was an option for some time as it would let me switch to a different image layer or environment upon specific triggers. As I explored this, I couldn’t manage to get it working by myself so I went back to research and found a rather simple method.

The plan was to apply a video to a plane or shape in Unity Engine so that it would play in the experience and it would look like the player is in the car. I would use the base of the wheel snapping into place as a trigger for the video to start playing so that it wouldn’t begin before the player was ready for it.

I made a rough prototype of this working with some gameplay I had recorded of WRC Generations, just to test the base function would work and the video would play.

After this I went to develop the actual video. The way I decided to do this was with edited footage of the Formula 1 game as I couldn’t find a method of doing it myself with the time I had available.

The footage was all recorded by myself within F1 23 using the time trial mode and one race session. I cut down the recording and tried to make it more of a trailer for Formula 1.

With more time available for the assignment, I would have implemented audio and music into the project to further immerse the player. However I am happy with how it looks in Unity with the time I had available.

After the video was made, I put it into Unity and followed the same method as earlier to put it onto the wall and then changed the sizing so that it would look right.

I attached some shots below of what the experience looked like in VR.

Un-narrated Video

Below is a self recorded video of the entire Virtual Reality Experience I developed in Unity.

Narrated Video

Below is the same video with narration covering the purpose, key concepts, research applied to the project and other things like software use.

Further Development

With emerging technology developing more and more every year, there are many ways I could develop this project further. I see two potential ways to go that are very possible being a sat down experience like I developed for this project or into an actual VR racing game.

The stationary VR experience could be developed for the Formula 1 brand. It could be stations at teams fan zones, the F1 Exhibition, any F1 event such as F1 75 at the O2 Arena in 2025. It can be an active thing that travels with the brand to each race weekend, bringing some interactivity for fan and a look inside what F1 drivers may experience. There are large possibilities as to how far this could be developed and implemented.

Many different racing themed events have this sort of thing happening with pop-up sim racing arcades so the experience would be easily implemented alongside these. It would be a very easy way to get market research for future development as well.

PRI SIM racing arena at PRI2024 via @myprishow on Instagram

As previously mentioned, it could also be developed into a racing game built purely for VR. This is however an oversaturated market as many simulation games are getting into VR support. Titles like iRacing, F1 23 & 24, BeamNG and Assetto Corsa have already implemented Virtual Reality via actual implementation or through modding. They enjoy the ability to simulate the experience of being in a race car speeding across a track.

VR headset being used alongside a sim racing wheel
F1 23 Gameplay in VR

With more time on the project, I would definitely develop it into the visual experience I spoke of first as I believe it will reach a wider audience and can be marketed better in a particular setting that doesn’t seem to be explored as of yet.

Closing Thoughts

My project did not go as well as I had hoped. I put myself in a difficult situation by changing my project idea. As explained earlier, I had changed it because the project I created allowed for more enjoyment in the development process and I couldn’t see the original idea being useful or interesting to a large group of people.

The way I had planned development was also a set-back as I had no defined plan. My original idea (using Zapworks and Augmented Reality) had a made plan following Agile Development methods that would guide me through the entire project.

Agile Development plan using a Scrum technique that I had for my original idea
Gannt Chart showing how I planned to develop my original idea

The change in project left me with nothing and I hadn’t made a new plan or process tracker. I just assumed that I would develop the assets and then some functionality with Meta SDK interactions and then further develop if the time allowed. This left me with many steps of development not defined and left me no room for trial and error with different ways of presentation.

Overall, I feel the Emerging Technology that I used was experimented with to some degree but still looks very basic compared to how it has been used in other projects, regardless of intended use. As a proof of concept, it shows some of what the technology can do but not nearly enough.

References

BeamNG (2015) BeamNG [Video Game]. Available online: https://store.steampowered.com/app/284160/BeamNGdrive/. [Accessed: 19/12/2024]

Camtool-Man (2023) F1 23 VR SUZUKA [YouTube]. Accessible online: https://www.youtube.com/watch?v=IZqJ1bLaLU4. [Accessed: 04/01/25]

Codemasters (2023) F1 23 [Video Game] Electronic Arts. Available online: https://store.steampowered.com/app/2108330/F1_23/. [Accessed: 19/12/2024]

Codemasters (2024) F1 24 [Video Game] Electronic Arts. Available online: https://store.steampowered.com/app/2488620/F1_24/. [Accessed: 19/12/2024]

Eurogamer (2024) The Meta Quest 2 VR headset is back down to its lowest-ever price (image). Available online: https://www.eurogamer.net/the-meta-quest-2-vr-headset-is-back-down-to-its-lowest-ever-price. [Accessed: 11/11/2024]

iRacing (2015) iRacing [Video Game]. Available online: https://store.steampowered.com/app/266410/iRacing/. [Accessed: 19/12/2024]

Kunos Simulazioni (2014) Assetto Corsa [Video Game]. Available online: https://store.steampowered.com/app/244210/Assetto_Corsa/. [Accessed: 19/12/2024]

KT Racing (2022) WRC Generations [Video Game] Nacon. Available online: https://store.steampowered.com/app/1953520/WRC_Generations__The_FIA_WRC_Official_Game/. [Accessed: 03/01/2025]

Meta (2023) Meta XR Interaction SDK (Unity Asset store). Available online: https://assetstore.unity.com/packages/tools/integration/meta-xr-interaction-sdk-265014#version-original. [Accessed: 28/11/2024]

myprishow (2024) The PRI SIM Racing Arena was bigger and better than ever at #PRI2024! Reserve your booth space for PRI 2025 now! bit.ly/ESRA2025 [Instagram] 21 December. https://www.instagram.com/p/DD2KpXXxduI/?img_index=2. [Accessed: 04/01/2025]

OniricFlow VR (2017) Extreme VR Roller Coaster: Virtual Reality 3D Video for Samsung Gear VR Box [YouTube]. Available online: https://www.youtube.com/watch?v=rDjYa5LPn5s. [Accessed 11/11/2024]

Redgrund (2024) Aston Martin F1 AMR23 2023 [3D model]. Available online: Aston Martin F1 AMR23 2023 – Download Free 3D model by Redgrund (@redgrund) [f6ba825] (sketchfab.com) [Accessed: 23/05/2024]

SDC PERFORMANCE (2024) Racing Helmet – SC04 [3D model]. Available online: Racing Helmet – SC04™️ – Download Free 3D model by SDC PERFORMANCE™️ (@Lambo_SC04) [d6f2005] (sketchfab.com) [Accessed: 23/05/2024]

TheoDevF1 (2022) F1 2022 Generic [3D model]. Available online: https://sketchfab.com/3d-models/f1-2022-generic-9b2fc584679e468ca3a7cb98a75857d2. [Accessed: 23/05/2024]

Varjo (2024) Case Vesaro: Accelerating VR into pole position for simracing [Image]. Available online: https://varjo.com/blog/vesaro-varjo-vr-sim-racing/. [Accessed: 04/01/2025]

Visa Cash App RB F1 Team (2022) F1 DRIVER’S EYE Lap With Pit Stop! [YouTube]. Available online: https://www.youtube.com/watch?v=kfwE65kJLdI&t=119s. [Accessed: 11/11/2024]

Leave a Reply

Your email address will not be published. Required fields are marked *