Monday, June 30, 2014

Off-grid Copy

It seems June was Clipboard month. Just to close on that topic, there is one interesting thing we did with the clipboard I would like to introduce: Off-grid Copying. You may ask what is that, and more important, do we really want it.

Imagine you want to copy a piece of a scene you have done. Normally you would create a selection box and copy its voxel contents into the clipboard. The selection box can be resized, but so far, the selection boxes have been necessarily aligned to the world axes.  What if you could rotate the selection box?

It does bring up an interesting possibility. Now you can get any slice of an existing object, no longer you are constrained to the horizontal or vertical.

The following video shows this in action:

In this case we were just rotating a selection box. The really nice bit about this is, it does not have to be a box. It can be any arbitrary volumetric shape.

This opens up a new set of tricks. You could for instance make a statue. Then select the statue using a regular on-grid selection box and copy it into the clipboard. Now comes the trick: you could use the clipboard contents (the statue) as the selection scope. This would copy the voxels as usual, but their outside shape will still conform to the original statue.

Another way to see it, is you can perform boolean operations using the clipboard. What I like about the approach is it feels simple once you try it. You do not need to understand the "booleaness" of it all. Just like you can have circular or even free-shaped selections in Photoshop, you can have your selection take any form you need. Sweet!

Monday, June 2, 2014

Copy Paste Paste Paste

I did not see this one coming. I must thank players for showing me this: Old-school copy and paste helps a lot when you are building with voxels. Take a look at this screenshot of a Landmark build:

It many not be obvious at a first glance, but a lot of what you see here is the result of copying and pasting.

It is true that non-voxel edition systems also have copying, but I believe this is a very different mechanic. A voxel clipboard is a new thing.

When you paste objects in a mesh based system (like Maya, or a traditional game engine editor), you are cloning objects or creating instances of them. This is very cool and allows you to do many invaluable tricks, however, every time you paste a new object goes into the scene. If you paste overlapping an existing object they do not merge into one. In some sense, pasting in mesh systems does not help you build a larger thing. You build an assembly of things.

In mesh based editors you get a sense that every paste counts. The scene complexity grows every time you press that Ctrl+V. Yes you could stack some boolean modifiers and have any new pasted meshes in them, but this is getting complex now. My interest is systems anyone at home can figure out.

Copy-Paste with voxels feels organic. It is more like the clipboard in a word processor. You get things you like and combine them in a new form. Then you copy the new form and use it as an element of something else. All this time you are working on only one thing, it remains simple in your mind. You are not leaving a long trail of objects behind you.

One thing is certain, we are taking the clipboard very seriously now. Here is a video showing some new cool tricks we are able to do:

There are still aliasing issues, just like with our line tool, so some configurations may not paste back into pristine conditions. I think this is alright as long as you remain aware of what the limits are. And of course, our plan is to continue to bring down these limits.