Homestay
Studio: Jam3 Platform: VR Year: 2017
Homestay is a virtual reality story about a Canadian family who hosts a Japanese exchange student named Taro. The stay takes a turn for the unexpected, and changes the hosts’ thinking about family, hospitality and nationality. The VR experience is a linear progression that takes place in a world of delicately folded paper, inspired by the Nitobe Memorial Garden in Vancouver.
The visuals required highly accurate color control of its elements. So each element - diffuse light, ambient light, fog, shadows, textures - have independent intensity and color controls. Allowing tweak carefully each pixel's color.
My roles: Lighting, rendering, optimization.
Diffuse Light
Here are a simple directional light math, dot with vector 3 and normal direction of the mesh. This data is used in a T of lerp that separate lighter area from darker. The lighter takes a given color and intensity.
Ambient Light
Ambient light takes the darker area of diffuse. Also, ambient light needed to be influence by lake's color. That way, in additional to have its color and intensity also receive influence from lake's color.
Shadows
To help bring papercraft style was needed soft shadows. Above there are solution to blend dynamic and static soft shadows using unity GI data. Then, I put control for its smothness and intensity. Shadow takes its color from ambient light.
God Lights
Here I used Unity particles system and in its shader, I added dust, and transparency by ground and player's proximity.
Fog and Triplanar Texture
The intension of the fog is more to blend the ground with the skybox than give atmosphere feel. So, unless its be influence by object position, it is influenced by world position, also, its fallof is short so fog takes speedly 100% of influence. Its color is given by 2 color, one that paints up, another, down and it is multiplicated by texture triplanar map.
Everything is made of paper. So triplanar mapping using the same texture in each axies was the best solution. In addiction to given nice results, It saves considerable time with UVs.
Optimization
Implementation