You can get Voxel Farm now. For more information click here.

Wednesday, August 12, 2015

Texture Grain

So far we have been using triplanar mapping for texturing voxels. This is good enough for terrain but does not look right every time for man-made structures. With triplanar mapping, textures are always aligned to the universal coordinate planes. If you are building features at an angle, the texture orientation ignores that and continues to follow the universal grid. That has been a thorny problem for all voxel creators and enthusiasts out there.

It does not have to be like that anymore. Take a look at this previously impossible structure:


It is two wooden beams going at an angle. The texture grain properly follows the line direction. 

It is not only about lines, this can be applied to any tool. In the following video you can see how curves also preserve the texture grain:


This new ability is a nice side effect of including UV mapping information in voxels. This is no different than the zebras and leopards we stamped into the world in earlier videos, in this case the tool comes up with the UV mapping information on-the-fly.

UV mapped voxels are not yet released in Voxel Farm, it is just now we got to work on the tools so they take full advantage of them, but it really looks to me this will take our engine to a whole new level.

7 comments:

  1. I remember aligning textures back when working with the Worldcraft Quake editor. Of course, curvy stuff was completely impossible back then.

    Nice work!

    ReplyDelete
  2. I usually watch YouTube videos on 480p. Yours are some of the few I turn up to 1080p every time. :D

    ReplyDelete
  3. I can't wait to try this out in voxelfarm.

    ReplyDelete
  4. Really really impressive texture tech.
    and the easily lofted and curved objectives,
    is qute impressive as well.

    ReplyDelete
  5. Can the bricks be straight sided objects, like bricks tend to be? And curve the brick laying instead?
    I'm kidding, it looks great anyway! :)

    ReplyDelete

There was an error in this gadget