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.
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.
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.
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:
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.
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.
Comments
Post a Comment