After a surge in popularity over the past few months, Bob Ross and his therapeutic painting series has become embedded in the hearts of many. People, including large internet personalities, have even attempted to immerse themselves by painting along with a Bob Ross episode. Carrying around a hunk of materials and having to replace the canvas of an easel after every painting can be cumbersome, though. This is where the motivation for The Joy of Painting With Bob Ross in Virtual Reality comes from. With this project, players can paint endlessly without having to worry about replacing painting supplies.

What it does

The Joy of Painting in Virtual Reality is a simulator that uses Oculus Rift and Leap Motion. The goal is for the player to paint along with whichever Bob Ross episode they choose.

The player is placed in a room. In front of the player is a painting canvas and an old television with controls for a few different Bob Ross painting episodes. If the player looks down with the Oculus Rift, then a color palette will appear. The player can select and mix colors. After selecting a color, they can use Leap Motion controls to paint on the canvas.

Challenges I ran into

The Oculus was incompatible with all of our laptops. We tried multiple things, such as downgrading operating systems and trying different versions of the utility, before deciding that it must be an incompatibility with our mobile GPUs. We didn't want to let this stop us from developing in Oculus, however, and Wes offered to drive us to Chris Brown's house to pick up his desktop PC. The drive was over 40 minutes, but it was worth it since all incompatibility issues vanished with the desktop.

What's next for The Joy of Painting in Virtual Reality

Our goal is to make Joy of Painting compatible with non-VR users. It should work out-of-the-box with either Oculus + Leap Motion, controller, or keyboard + mouse. We also plan on allowing users to store their finished paintings on the wall in the room. Lastly, we wish to use some form of machine learning to calculate an accuracy score between Bob's painting and the player's painting.

Share this project: