top of page

ABOUT

Snow Much Fun is a virtual reality snow experience where the goal is to interact with virtual snow and play around.

 

The player can create snowballs of different sizes, throw the snow at objects, make snow sculptures and draw in the snow. Audience members get a glimpse into the virtual world through a fixed screen and can change their view point by moving and rotating their phone. The VR player can see the audience member in the virtual world and vice versa. They can interact with each other by throwing snowballs at one another and the VR player can show the audience members their snow sculptures.

PROJECT DEMO

GOALS & MOTIVATION

We were motivated in developing an immersive VR experience. We wanted to give people the opportunity to experience virtual snow and emulate the feeling of playing in real life snow. The snow simulation is a significant part of our experience, so we put emphasis on that aspect and kept the design of the environment simple. Further, we focused on how the user interacted with the snow and how to keep the interactions straightforward and easy to comprehend. The group had different levels of experience when it came to VR and our goal was to give everyone the opportunity to learn and focus on their interests, while also achieving our common goal. We think it is an interesting challenge bridging the gap between the audience members and the VR player. We wanted to give the audience more control over their experience and their perspective by engaging them in the experience. We hope that by engaging in our experience, people are entertained and get a sense of how it is playing with actual snow.

 

Goal 1

Engage the audience in the experience

Challenge: Create a novel viewpoint control

 

Goal 2

Make an immersive snow experience in VR

Challenge: Making a realistic snow simulation

 

Goal 3

Create a pleasant virtual environment

Challenge: Create good looking and cohesive textures, shaders, models and animations

CHALLENGES & OBSTACLES

The main challenges in the development of the project were to create a realistic and convincing snow simulation while also being mindful of the performance, engaging the audience members so their experience would be enjoyable as well, and to network across the different devices. Additionally, we wanted to keep the complexity of the interactions to a minimum so we focused on the implementation of the interactions. Some obstacles we ran into during the process included particular shaders that were created that could not be rendered on the VR device, and lower quality and more latency when running the project on the VR device compared to running the project from the Unity editor.

LESSONS LEARNT

Over the duration of this project we have all developed our knowledge of computer graphics, interaction design and environment design. We gained knowledge about VR development and interactions as well as experimenting how to incorporate the audience in the virtual reality experience. A key aspect we will take away from this project is given the short timespan, to focus on a narrower scope and complete that before continuing with the project.

TECHNOLOGIES

Screenshot 2023-01-12 at 23.48.14.png

Unity

We used the Unity Game Engine to develop the game since we all have prior experience with it. Since is a widely used game engine it is easy to find information as well as free game assets online. It is also good for mobile game development. 

Mirror.png

Mirror

We used Mirror to handle the network communications in the game. Mirror is a frequently used open source plugin for Unity that provides server-client communication which is why we chose to use it. 

Blender1.png

Blender

We used Blender to create 3D models for the game and the 3D printed tangible as well as for rigging and animation. We used Blender because it is an open source and relatively easy to use toolset to create 3D computer graphics that also allows for rigging and animation

GitHub-Mark-120px-plus.png

GitHub

We used GitHub for the code management as we all have experience with it and it allows for branching and version control. We also used GitHub to oversee and distribute tasks.

Screenshot 2023-01-12 at 23.50.04.png

AR foundation

ARKit / ARCore

We used the AR foundation framework for the augmented reality part of the game as it is made for Unity and allows you to work with both ARKit for iOS and ARCore for Android. 

2991572_68ed2591c491.webp

Oculus XR plugin

We used the Oculus XR plugin for the virtual reality aspect of the project. We used this because it is made for Unity and provides display and input support for Oculus devices.

MAKING OF SNOW MUCH FUN

RELATED WORK

This paper presents a method to simulate how loosely packed snow behaves when it is manipulated, for example when it is stepped on. This is achieved by using cameras placed beneath a mesh, to capture placements of object and then a combination of depth render-textures, surface shaders, compute shaders, wind maps and pixel displacements to create the desired outcome. The main challenge regards the performance, and that this is computationally expensive, the resolution of the texture they used had a big impact on the performance. Which is something that we have to keep in mind in our project.

The Virtual House of Medusa is a co-located virtual archeology installation for museums where a VR player takes the role of an archeologist. To share the VR experience with the audience, 4 players can join the virtual world and interact with the VR player through tablets. They can also look around freely in the virtual world giving the audience a full control over their perspective into the game world.

This research found that the the precision and accuracy is about 2 times lower in VR compared to throwing in real life. Further they found that the users in their user study struggled in particular with accurately releasing the object they were throwing using the VR controllers.

Credits

Bézier Path Creator by Sebastian Lague

Unity tool used to smoothly move the arms of the VR player

My Mountains Texture by snowmanfree

Used for the mountains in the environment

Winter wind whistling through window by audible-edge

Wind sound effects

Screenshot 2022-10-29 at 20.37.17.png

Guðrún M. Ívansdóttir
gmiv@kth.se

  • LinkedIn

Implemented the interactive snow shader on the ground and contributed to the AR game mechanics and gameplay. This included implementing mechanics behind throwing snowball as a AR player, snow ball animation and UI. Additionally contributed to the design of the environment. Took part in the design and decision making related to the concept and user experience of the game.

Screenshot 2022-10-29 at 20.37.25.png

H. Embla Sigtryggsdóttir
hesi@kth.se

  • LinkedIn

In charge of the initial VR setup, e.g. setting up the VR rig, locomotion and the representation of virtual hands. Contributed to the implementation of how snowpiles are picked up and how snowballs are made. Made 3D models and texcture for the VR player and snowpiles. Created a skybox shader. Also in charge of setting up this website. Took part in the design and decision making related to the concept and user experience of the game.

Screenshot 2022-10-29 at 20.34.35.png

Kári S. Aðalsteinsson
ksad@kth.se

  • LinkedIn

In charge of networking and contributed to the VR game mechanics and gameplay. This included the interaction of snowballs and snowpiles and combining them together to increase their size. Also implemented the arms for the VR player. Took part in the design and decision making related to the concept and user experience of the game.

Screenshot 2022-10-29 at 20.37.37.png

María Ómarsdóttir
mariaoma@kth.se

  • LinkedIn

Implemented the controls for the audience members and how they change their perspective. Created 3D models for the environment and modelled the snow figure (AR player representation). Contributed to the VR interactions, including throwing and the creation of snow sculptures. Took part in the design and decision making related to the concept and user experience of the game.

Screenshot 2022-10-29 at 20.34.50.png

Sindri Pétursson
sindrip@kth.se

  • LinkedIn

Implemented the snowballs for the project, including the modeling, shattering effect, snowballing physics, and impact markings. Additionally, created the small creature within the project, handling its modelling, rigging, animations, sounds, interactions, and wandering behaviour. Also made the demo and making of videos for the project. Took part in the design and decision making related to the concept and user experience of the game.

bottom of page