top of page

THEREFORE I AM

An interactive VR experience

Creative Director / Engineer

ENGINEERING

Variable Color Coding: Boolean   Integer   Float   Vector

Puzzle

TOUCH

In SC02: Cubic Tunnels, the player will find the cubic puzzle. The player can touch the levers to rotate the cubes in order to solve the puzzle. The lights will switch on when a cube is in the correct orientation.

The order of the cubic puzzle is determined by the order of environments that the player has passed.

Problem: 

After playtesting about 10 players, some players were confused about which row they should align the colors to. 

Solution 1:

Light up the bottom row to make it clear that the colors should be aligned to the bottom row.

Solution 2:

Desaturate the side and top row.

Scaling
Scaling

SCALE

The player can scale certain objects in the experience. The scalable objects have a visual indicator (glowing shader). In the blueprint, I created two variables: Initial Distance and Initial Scale. I set the Initial Distance by subtracting the first hand world location to the second hand world location. After setting the Initial Distance, I set the Initial Scale by getting the world scale of the target static mesh. For every tick, the distance between the first and second hand is divided by the Initial Distance, and then multiplied by the Initial scale. The value is the new scale of the target object which increases and decreases with the distance between the left and right hand.

 

Controls:

Hold left & right grip

Scale down - Move arms closer to each other

Scale up - Move arms further away from each other

BP_ResizeCube_text.png

FOCUS MODE & AI FISH

Fish

In SC03 Aqua Jungle, the player has to capture a tuna in order to get directions from Loxa and Quama. 

The player must be in "Focus Mode" to capture the tuna.

Focus Mode is a special ability that the player can use to slow down the global time while maintaining the movement speed. Focus Mode lasts for 5 seconds. The player can easily approach the tuna by using "Focus Mode".

Controls:

Press X

BP_AI_Character_text.png
BP_AI_Behavior.PNG

RANDOM MAZE GENERATOR

The random maze generator uses the recursive backtrack algorithm, which repeats itself until it's unable to complete a step in generating the maze. When finding a valid tile to add to the maze, the algorithm checks two tiles away to make sure the path is not completely blocked. When the current tile doesn't have any valid tiles to move, the algorithm starts to backtrack. The repetition of this process grows the path and eventually generates a random maze. 

The maze uses a grid to determine where the maze walls should be placed. In order to do so, the grid has to be numbered so that the boarder walls can be differentiated. 

Grid numbering equation: 

Top Row = l

Right Column = (ix) + (x-1)

Bottom Row = (x-1)x) + l

Left Column = ix

The maze also needs to know how to get the numbers of neighboring tiles so the walls can be placed accordingly

Neighboring grid number equation: 

North = c - 2x

East = c + 2

South = c + 2x

West = c - 2

Construction Script

BP_Maze_Construction.PNG

DYNAMIC MATERIAL

BP_Exhaust_text.png

Caustics Material

Caustics In-game view

Sign Light Material

Sign Light Material In-Game View

BP_LevelStreaming_text_edited.png

LEVEL STREAMING

When a player collides with the trigger, the next level loads and the previous level unloads by using the FlipFlop node. This method maximizes the performance while enabling players to have a smooth experience without loading screens.

PHONE BOOTHS

Kaley Cho is a technical artist with a BA in Animation & Digital Arts from University of Southern California. 

  • LinkedIn - Grey Circle
  • Vimeo - Grey Circle
  • Instagram - Grey Circle
  • Facebook - Grey Circle
bottom of page