We were inspired by how VR allows you to experience fantastical situations you wouldn’t get to in real life. Based on that idea, we realized you can make a huge mess in VR and not worry about the cleanup! This line of thinking led to the idea of splatter painting. What if you could splatter paint over a whole house in VR, forming crazy, vibrant patterns? SplatterVR is a preliminary exploration of this concept, meant as a fun way for our group members to learn more about developing for Unity and for virtual reality.
What it does
The application runs on the HTC Vive. The player is spawned in a blank room, and is given a paint brush and a color selector. By swinging and flicking the controller at various speeds, the player can launch blobs of paint at the walls of the room in any color they want. The player can also toggle gravity for the paint blobs, clear the screen and teleport around the room.
How we built it
We began by outlining the main functionality of the application, noting that implementing core functionality would require three parts: the directional launching of “blob” projectiles, detecting a "flick" motion of the controller and creating paint splatter effects on the surfaces of our virtual room. Although we were working on fairly distinct tasks, when we encountered problems, we would solve them as a team, using them as learning experiences as we gradually developed an understanding of Unity’s underlying systems. Once we had those primary three tasks completed, we began integrating them together, smashing bugs until we had a working proof-of-concept. From there we added a variety of features, including: the ability to change colors, variability in exact size and orientation of projectiles, realistic paint and palette models, advanced lighting, etc.
Challenges we ran into
Due to our lack of prior experience with Unity and virtual reality development in general, we faced a very steep learning curve. As the first night of development went on, we found ourselves wondering if we would ever find our way out of the maze of interconnected systems that is the Unity game engine. A brief, but refreshing bit of sleep helped get us back on track, and by the time the mid-morning came we had finished our proof-of-concept.
Accomplishments that we're proud of
We were proud and surprised that we were able to finish the core functionality of SplatterVR so quickly, especially when progress at first seemed somewhat slow. This left us a lot of time to polish our simple idea into a cohesive experience that we feel can serve as a whimsical, yet compelling introduction to virtual reality for those who haven’t yet experienced it.
What we learned
All of our team members gained a solid foundation of Unity experience, which will allow them to continue exploring virtual reality and Unity development after the hackathon. We also gained a healthy level of respect for the potential complexity of game development, especially in virtual reality. Because of this, we will have a better understanding of the feasibility of future projects.
What's next for SplatterVR
Beyond granting SplatterVR a special place in our hearts and our GitHub portfolios, we plan to release our source code and 3D models online. We hope to receive feedback from the online VR developer community about our prototype to finalize our learning process.