Back to Projects
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 reflections can be expensive in VR, I implemented a performance-oriented solution. Instead of calculating reflections dynamically, the cubemap reflection is pre-baked into the shader. Using simple mathematical logic, the shader selects between different cubemap textures depending on the player's viewing direction. This technique preserves the illusion of dynamic reflections while significantly reducing rendering cost.

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 to enhance the visual glow of activated stars

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