Building a VR world in VR

Before Biped Blocks even had a play mode, it was an editor (how else was I going to make the scenes for the play mode?). I've really been wanting to share the editor for a long time now. But I realized that even though it works fine for me and the kids, it might not be that self-explanatory. So the last week I added a font system (and made a font), a help text system, an undo system, some new menus, and did all sorts of little tweaks... Finally I have a version that I think I can share!

Maybe it would have been easier to use an existing editor, I don't know. But this approach allows me a lot more control, it's in VR, and I think it's an interesting experiment in itself. Today, I want to introduce the editor and share a few of  my thoughts about it.

The Bipeditor

The purpose of the editor is to be able to place boxes of different sizes, colors, and orientations (since that's what the world in Biped Blocks is made of!). So far, there are tools to
  • move / create / resize / delete boxes,
  • set and pick up color from boxes,
  • drag around the world and rescale how big it appears when editing, and
  • drop into the scene where you want to and start to play.
There's also undo/redo, an option to toggle help texts, and save/load/clear.

I've tried to pack quite a lot of functionality into the tools (especially the Move Tool!) so that you won't have to switch around between tools as much. From the start, I decided to design the editor so that each controller can be used independently, with the same set of tools available (it's only when you resize something that you need to use both at the same time). Hopefully this should allow for a lot of flexibility and make it easier to find a setup that suits your own style.

By default, the scene is scaled down by a factor of 1:8 when you're editing compared to playing. I find that the scale difference lets you build scenes at a reasonable scale, while keeping pretty good control of the details. (But you can change the editing scale with the Move World Tool if you like.)

Building things in VR

I really like the feeling of building VR content in VR. I've never really learned to use any kind of 3d modelling software. But when I've tried, I've always felt that one of the biggest obstacles is trying to manipulate three-dimensional geometry on a two-dimensional screen.


Why do I like using the Bipeditor? Some of the reasons that I can think of:
  • Working with 3d geometry in VR feels a lot more direct.
  • Building with solid objects makes it feel more physical.
  • You can step around in your scene and look at it from different angles.
  • It's easy to choose the best angle for the task at hand.
  • When you get a flow in your motions, it shows in the result - a bit like the feeling of flow in a painter's brush strokes.
I think there's a lot of potential to make it feel like you're building and manipulating something physical, but the Bipeditor probably only scratches the surface here. 

Lessons about using the third dimension

Even though it feels a lot more natural to build 3d content in 3d instead of on a two-dimensional screen, I found that you have to use the third dimension with some care. It is still easier to manipulate something in a plane than in 3d, and our human depth perception is not as accurate as our perception in the other directions. Introducing the ability to e.g. let you move an object in 3d instead of in two dimensions at a time makes up for this, because there's no good way to pick two dimensions out of three that are relevant. But you shouldn't use the extra dimension just because it's there.

When I made the color picker, I first thought that "space has three dimensions, and so does color - great!" , so I could just let you pick a color by mapping a movement in space to a change in (r,g,b). I modified the concept slightly to use one dimension for intensity and the other two for hue/saturation. It turns out that it was pretty hard to use! So I decided to let you control the intensity by swiping on the circle pad instead. I think that it's a definite improvement, but I'm sure there are even better ways to do it.

There's a similar challenge when resizing boxes: my experience is that it's not always that easy get the right width, height, and depth at the same time. I haven't changed it so far, but maybe it would be better if you would only change one or two of them at the same time.

Want to try it for yourself?

Do you have a Vive and would like to try it out? You should probably start by taking a peek at the Bipeditor Manual to get the high level concepts, though I've tried to make the help texts explain most features too. Then please find Biped Blocks in the downloads section, I have updated it to include the Bipeditor. I know that the editor is a bit bare bones, but I would be really interested to hear what you think about the editing experience!

Comments

Popular posts from this blog

Climbing outside the box

Walking (and jumping) on your hands in VR

Can I make hand walking accessible to more people?