Prototyping Stack Space

Prototyping Stack Space

When I joined eleVR last year, one of the first project ideas we had was for a shared online art studio for critique and collaboration.  We wrote up the idea into a proposal document that detailed why we thought it was important to have shared, genuine artistic experiences at a distance.  I hadn’t used much VR at that point, so even though I had thoughts about why these were interesting ideas in theory, I wasn’t sure how they would translate in practice.

Screen Shot 2017-07-29 at 12.50.55 PMThe original Stack Space proposal screenshot:
Two physical sculptures created in different locations, scanned and brought together in VR


After months of experimenting in various social VR software, the eleVR team ended up using Anyland the most for our weekly discussions, for prototype building and as a general playground and studio.  I liked Anyland not only because it provided a blank slate for creating the worlds, avatars and objects, but also because the social features were robust and nicely designed.  One feature that it lacked, however, was the ability to have persistent physics act upon the created objects.  In my real world art studio, I was beginning to explore ideas of physical tension in objects of different materials and weights.  In Anyland, possibly because of the technical limitations of supporting persistent physics over a network, physical calculations are limited to objects that only exist for 30 seconds, and then they disappear.  So, to create static, persistent objects that demonstrated ideas of tension, I had to simulate them by pretending where pivot points, angles and weight might be:


CaptureyyyPseudo-tension sculptures in Anyland


Eventually, SteamVR Home Beta was released for the HTC Vive and, to our surprise, it had the ability to stack objects (from a predefined set) in a social setting.  Immediately, M and I found ourselves in an empty martian landscape, intuitively creating piles and piles of sculptures that were body-and-physics-centric. 


Stacking benches, blocks and columns in SteamVR Home Beta

The experience in SteamVR Home Beta felt the closest to some of the ideas we had fantasized about for Stack Space, and all that was missing was the ability to import custom 3D models for stacking.  I realized that I could use A-Frame and its growing list of third-party components to approximate the SteamVR Home experience, and begin to prototype our Stack Space idea. Using A-Frame and the third-party components aframe-extras, aframe-teleport-controls, and networked-aframe, I prototyped the Stack Space app in Glitch.

In the prototype, you can generate objects at various scales, grab them and stack them together, and even glue two of them together so they remain permanently attached! In the first couple trials of using it, it feels very satisfying and fun to use.  The moment I made a few stacks out of objects from mine and M’s studio practice, I started to feel the energy that I think I had been after in our proposal.

One surprising behavior of the glued stacks is how the glueing isn’t perfectly stable, and the individual pieces of a stack stay only loosely connected if you move them apart too quickly. Vi pointed out that this allows for “alternative physics” to be part of the creative process; the surprising object-interactions are unlike anything I’ve ever seen in my real life studio!

Surprise floppy glueing physics in Stack Space

I plan to spend the next few weeks playing in there a lot more, adding more features, and reflecting on how shared, physical, intuitive artistic experiences feel, what other new media possibilities they offer, and how they might someday be accessible to wider audiences.

For now, if you’d like to try the prototype yourself, follow along below!


Screen Shot 2017-08-03 at 12.21.49 PM

Click to Launch

Remix on Glitch


To Use

Load Stack Space on Nightly with a Vive headset

To Move

Teleport with either Vive controller thumbpad


To Grab & Throw

Reach in and grab objects with either Vive trigger and throw and release


To Generate Shapes

Press grip button on either Vive controller, objects fall over target


To Glue

  1. With the right Vive controller, laser-point and menu-click on first-object
  2. Then laser-point and menu-click on second-object
  3. Objects should be glued!


Known Issues

  • Gluing highlight needs to reflect 2+ objects
  • Physics is still needed for certain shapes: ellipsoids not yet possible
  • Glued object behaviors need more exploration
  • Floor renders a few inches too low


Wish List


If you have a Vive, try it out yourself and let us know what you think!

– Evelyn