Mystic Camp - VR Meditation Experience

Hand-Drawn Constellation Illustrations

Ursa Major constellation reveal

Ursa Major - In-Game Reveal

Draco constellation illustration

Draco - Hand-Drawn Illustration

Shader Graphs

Water Shader Graph

Water Shader Graph

Interactive Grass PBR Shader

Interactive Grass PBR

Fire Shader Graph

Fire Shader Graph

Mystic Camp

VR Meditation Experience

UnityVRShader GraphVFXBlender

Role

Technical Artist / Developer / Environment Artist

I contributed across both the technical and artistic sides of the project, including environment asset creation, shader development, VFX creation, and VR-focused performance optimization.

Overview

Mystic Camp is a virtual reality relaxation experience where the player sits beside a peaceful lakeside campsite in a magical environment. The experience focuses on atmosphere and immersion, allowing players to relax near a campfire while surrounded by natural elements such as water, grass, and glowing fireflies.

The goal of the project was to create a calm, visually rich environment that remains performant in VR, where stable framerate and visual comfort are critical.

Technical Contributions

Stylized Fire VFX

I created the campfire visual effects used at the center of the scene. The fire was designed to feel stylized and magical rather than realistic, fitting the atmosphere of the environment.

  • Animated flame effects
  • Dynamic glow lighting
  • Supporting particle effects

The fire acts as the main focal point of the scene.

Firefly VFX

To reinforce the magical atmosphere, I implemented firefly particle effects floating around the campsite. These small glowing particles provide environmental motion and help make the scene feel alive while maintaining lightweight performance suitable for VR.

Interactive Grass Shader

The grass system reacts physically to the player's presence. Using tessellation-based deformation, the grass bends and reacts when the player interacts with it. This creates a more immersive environment while maintaining a stylized visual style.

Magical Water Shader

The lake water uses a semi-realistic stylized shader designed to work well in VR.

  • Animated water surface
  • Reflection effects
  • Stylized lighting response

Because real-time reflections are expensive in VR, I used a pre-baked cubemap instead. The cubemap captures the surrounding environment once, and the shader samples it for the water surface rather than re-rendering the scene from the water's perspective every frame.

A static cubemap reflection looks flat though - it doesn't move as you change your viewing angle, which breaks the illusion of water. To fake depth and motion, I apply a parallax offset: I shift the cubemap sample coordinates based on the view direction and the surface normals (driven by the animated water normal map). As you look around or as the waves ripple, the reflection appears to shift and distort like it's sitting on a real, moving surface - all without the cost of true dynamic reflections.

Constellation Interaction System

One interactive feature allows the player to discover constellations in the night sky. Players can point at individual stars to activate them. As stars are selected, they light up and become connected to form a constellation.

The system is implemented using:

  • Unity Line Renderers to dynamically draw constellation connections
  • Scripts to track star activation and constellation completion
  • Shader and post-processing effects for the star glow

When a constellation is completed, the system reveals the name of the constellation and a stylized illustration representing it. The constellation illustrations were drawn by me and integrated into the experience using post-processing and glow effects to create a magical reveal moment.

This system combines interaction design, scripting, shaders, and visual effects to create a calm exploratory activity within the environment.

VR Performance Considerations

Performance optimization was a key part of the project because VR requires stable high framerates.

Optimization Strategies

  • Baked cubemap reflections instead of real-time reflections
  • Lightweight particle systems
  • Shader-based environmental effects rather than complex geometry

These choices allowed the scene to maintain immersion while remaining VR-friendly.

Tools

UnityShader GraphUnity Particle SystemBlender