Beyond Mirror Therapy

↝      Year

2026

↝      Description

What if a small movement could go a little further? For my Master's thesis, I built a controller-free VR exercise environment that turns limited physical finger movement into a fuller virtual grasp. Running on a Meta Quest 3, it brings together hand tracking, playful plant-watering tasks and a painterly visual style, with the aim of making repeated hand practice feel achievable and rewarding. What started as a research prototype has since grown into an adapted environment for an upcoming study at Uniklinik Erlangen with exoskeleton partner ottobock, complete with a new balloon game, an AI-based asset workflow and a connected live dashboard.

↝      Tools used

Unity    
Cinema 4D     
Meta XR SDK     
Various AI models
Demo from my thesis presentation

 

A little goes a long way

Hand rehabilitation after a stroke needs repeated, meaningful practice. But if your fingers can only move a little, a task that asks you to fully close your hand can become frustrating before you've really had a chance to start. And asking you to grip a VR controller to exercise that same grip? A little counterproductive.

VR gives us an interesting opportunity here: the hand you see doesn't have to move exactly as far as the hand you have. Inspired by the idea of altered visual feedback used in mirror therapy, I wanted to explore whether amplifying the movement that is still there could make a task achievable, while keeping the user in control. Off to Unity I went!

The demo starts with opening and closing the hand to calibrate its available range, then compares watering without and with amplification. The unassisted attempt doesn't succeed; with amplification, the user can complete the exercise.

 

Same hand, a little more reach

The prototype runs entirely on a Meta Quest 3, using its cameras to track the hands without controllers or extra wearable sensors. A short calibration records how far the user can open and close their hand, and I use that range to calculate how much to amplify the finger curl. A small physical closing movement can then become a fuller virtual grasp.

The tricky part is where to do this. Simply posing the visible fingers differently wouldn't change what the game thinks your hand is doing. I placed a custom amplification component in Meta's hand-data pipeline, before both the hand visuals and interaction logic receive it. That way, the hand you see and the hand that operates the tool agree. Your movement still drives the action; it just gets a little more mileage.

Without amplificationRestricted opening
With amplificationThe same opening, expanded virtually

 

Water you waiting for?

Of course, opening and closing your hand while staring at a counter isn't exactly the most exciting game idea. Instead, I made a little plant-watering environment: someone asks you to help their plant, you water it, and it grows and blossoms in front of you. The exercise becomes a small, visible achievement rather than just another repetition.

There are two watering tools, each encouraging a different movement. The garden hose needs you to close and hold your hand, while the spray bottle responds to repeated squeezes. Early testing taught me that the model itself matters quite a bit: a spray-bottle-shaped tool made people squeeze repeatedly even when the instructions asked them to hold. Giving each mode its own recognizable tool helped the interaction make sense at a glance.

The tool stays attached to the hand and the water is guided towards the plant, keeping the task focused on hand closure rather than fiddly picking-up or aiming. A little artistic assistance to go with the movement assistance.

 

Watering toolsGarden hose and spray bottle

 

Starting small
Growing with each squeeze
In full bloom
Under the petalsJoint weighting

I modeled and rigged three plant variants in Cinema 4D, then let the watering progress drive their growth animation in Unity. The colors in the joint-weighting view show which parts of the mesh are influenced by different joints. Scaling those joints one after another makes the plant unfold from a tiny seedling into its finished shape, with a blossom animation rounding off the task. Together with water particles, sound effects and small requests from different characters, it gives those repeated movements a little personality.

 

A different kind of brushwork

For the visuals, I wanted something friendly and lightly painterly. The main trick is a custom shader using a hand-painted texture filled with brushstrokes, with different strokes in each of its red, green and blue channels.

Those three channels can also describe the X, Y and Z components of a surface normal - the direction a surface faces for lighting. Blending these painted directions with the model's actual normals makes the lighting break up into brush-like patches. The geometry stays the same, but the light behaves as if someone had painted over it. Some sweet little shader math, without having to put actual brushstrokes into every model!

 

Painterly lightingStandard and modified shading on the blue spheres

 

Putting it to the test

To test the interaction, I ran an exploratory study with 11 healthy participants whose finger movement was restricted using medical tape. Each person tried the same two 60-second watering tasks with and without amplification, then rated how the interaction felt.

What interested me most was how that assistance felt. With amplification, participants rated their grip as more powerful, closing their hand as more comfortable, and their own performance as more competent. They felt less insecure, discouraged or irritated, and were more willing to keep practicing. For an exercise built around repetition, feeling that your effort actually gets you somewhere is quite an important part of the experience.

The questionnaire reflected this across several dimensions: perceived grip power rose from 3.36 to 6.73 on a seven-point scale, while competence rose from 3.41 to 6.07. Motivation and perceived rehabilitation value increased too, and burden/frustration dropped for every participant. The extra flowers were encouraging - everyone completed more plants, with the mean total rising from 3.45 to 8.36 - but the change from "this feels impossible" to "I can do this" was just as meaningful.

Without amplification, some participants couldn't get a watering tool to work at all. With amplification, all 11 were able to use both tools and successfully water plants in both exercise modes. For those participants, assistance didn't simply improve a score; it made the exercise possible in the first place.

There was a tradeoff: ratings related to agency and hand fidelity stayed high overall, but dipped slightly, particularly for how correctly the virtual fingers matched the physical hand. Some participants noticed glitchy or overactive movement. Making the action useful and keeping it believable need to go hand in hand, quite literally.

This was a proof of concept under simulated restriction, rather than a test of recovery in stroke patients. What it showed was an encouraging interaction principle: limited movement could become enough to succeed at a task, while that success still depended on the person's own attempt.

 

Feeling the difference

Mean questionnaire ratings on a 1–7 scale, without → with amplification.

Grip power: 3.36 → 6.73
How powerful the hand felt.

Effort comfort: 3.27 → 5.45
Less uncomfortable effort when closing the hand.

Competence: 3.41 → 6.07
Feeling capable and satisfied with performance.

Motivation / rehab value: 3.73 → 5.45
Willingness to practice and perceived usefulness for rehabilitation.

Burden/frustration: 3.95 → 2.09
Lower is better here: less frustration and physical demand.

 

Up, up and away

The project has since grown beyond the thesis: I adapted the exercise environment for AutoAssist, a collaborative stroke-rehabilitation research project funded by the German Federal Ministry of Education and Research (BMBF). With partners including ottobock and Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), my work on the VR environment is in preparation for an upcoming study at Uniklinik Erlangen with the exoskeleton setup.

The broader project explores assist-as-needed rehabilitation: combining ultrasound sensing, intent detection, AI and VR to adapt assistance and exercise difficulty as a patient progresses. The goal is more personalized therapy that keeps people engaged in their practice. It's an exciting context for the same question that started my thesis: how can we make the movement someone has available enough to do something meaningful?

Exoskeleton and VR test setupA user exercising with the headset and exoskeleton

 

A little help behind the scenes

For this version, I added a balloon game. Opening and closing your hand moves a balloon up and down, collecting stars while avoiding obstacles. In the middle sits a beautiful monument that changes between levels, with the stars and obstacles floating around it. The therapist can switch between these levels from the live dashboard, changing the scene while the app is running.

Different levels also meant different assets, and the project's timeline and budget didn't leave room to create everything by hand. For this part, I adopted an AI-based asset creation workflow to help build out the balloon game's environments. It was another opportunity to adapt my way of working to the project at hand, bringing asset creation and game development together on a tighter schedule.

 

Balloon game and level showcaseLevels switched via the therapist's dashboard

 

Keeping in touch

There is also a less visible side to the environment: the app connects to a database to report information about its usage, and a live dashboard lets the therapist send commands back to the running app - including switching the balloon game's level, as shown in the video above. The exercise on the headset is one part of the project; being able to see what it is doing and interact with it from outside is another.

Bringing together interaction research, programming and technical art has made this a particularly rewarding project to work on. From helping a small plant bloom to steering a balloon around a monument, the common thread is making a little movement go further - and giving it something worth doing.

←      Go Back