Academic Project
"Oddly Satisfying"

CMU Entertainment Technology Center

1 month : 2018/11

Team of 5

Programming (Unity, C#, Shader)

“Oddly Satisfying” is project from "Building Virtual World" course at Entertainment Technology Center, Carnegie Mellon University. "Oddly Satisfying" was exhibited at ETC Festival 2018 as a selected work. This work is a unique audio-visual art crafting experience in CAVE (3 walls surrounded immersive space) with Vive controllers.

#Immersive_Space #Media_Art

Carnegie Mellon University
Entertainment Technology Center
1 month : 2018/11
team size
my contributions
Programming (Unity, C#, Shader)
#CAVE #HTC_Vive #Immersive_Space #Media_Art #Shader_Programming

Oddly Satisfying is an audio-visual experience designed for CAVE (an immersive virtual reality environment with surround three walls). Following the steps starting from simple designing choices to 3D drawing phase, guests go through unique art-crafting experience that is meditative yet creative. Even for those who do not feel confident in art crafting, Oddly Satisfying can give visually appealing final results for everyone. Sculting and painting in 3 dimensional space is a unique experience that brings 2D physical action into virtual space.



CAVE Exhibition overview

"CAVE" is an immersive space where three projected screens can surround a number of people to provide immersive experience . HTC Vive Controllers are tracked through lighthouse and enables guests to explore 3D space.

Experience Space

Utilizing the strength of CAVE , unique space transitions have been designed : opening up the new space, horizontal and vertical movements, and rotation of the space. These transitions invite guest into the atmosphere of the world and que the next phase of creative activity.


The most technologically challenging part in implementation was the sculpting . The team tried to deliver freedom to the guest to change the shape of the object. At the beginning stage, lot of tests have been done, such as generatively creating shape, morphing the shape, and creating liquidy blob shapes with sub points. However, in order to run this experience in CAVE, which requires at least 4 displays rendering at the same time, these options were too heavy in calculation.

Experiments in basic deformation of shapes

The solution we ended up was to give optical illusion or morphing with displacement map . With the custom shader, grayscale pixel values of displcement texture correlates to the height of each points in the sphere object. Mapping 2D UV texture into sphere shape was another challenging part.

Final sculpting interaction

In order to morph the shape in real time, the collision contact points with the guest's controller interface are calculated and bumps out smoothly around the contact points. Circular areas around the contact points bump out . Although there is more possibility for much smoother morphing, such as calculating the whole map with gaussian blur, heavy calculations were intentionally elimiated from options.

Displacement texture calculation based on collision contact points
sculpting code
process of developing sculting method
All the guests create their own art work at the end

What satisfies the guest the most is that every single guest creates the work different from each other. As guest walk around in the exhibition space, he/she can draw particle trails with the controller in 3D space. In order to intensify the depth and 3 dimensional effectively, the object rotates around on its own.

particle shapes