Voxeland - Voxel Terrain Tool

Hi

really nice one, good job!

took me a bit to get used to it, but i really like it now. it clearly wins against the PLANE :stuck_out_tongue: i had before :wink:

What i would wish forā€¦ is some tool or function to get the textures modified like its needed. Maybe i am just too clumsy for that :wink:

I noticed that the highlight-marker stays active and visible when entering playmode, even if edit in playmode is not activeā€¦thats a bitā€¦ annoying :wink:

Is there any way to resize the voxeland created? just extendā€¦ if i realize after some work, that its not big enough. that would be nice too.

Right now i am trying to get into the code. What i need is to produce some ā€œDiff-Fileā€ for changesā€¦ in a multiuser-environment. So that i can only transfer the changes and store them on the server without creating too much overhead. I saw that SetBlockā€¦ thats perfect for setting. Now i just need to find the changes the user makes before he hits some save-button or like that.

Anyway, thats just ideas, as i said, great work, keep it up!

hi Wright , i really liked voxelland after i checked on your web demo , but i do would love to know if it does might be usefull in my project or not ,

1 - does it has mesh collider or terrain collider
2 - can it be flagged as static and light mapped just like a regular terrain .
3 - does it render as partially like the normal terrain , or just like regular meshes .

and thank you

hƩhƩ, sorry terrific means terrible in french !

your english language is sometimes so complicated !!! lol

1 Like

Wow, very impressive job !!!

Good continuation !

Iā€™ve got a substance for Substance Designer - you set our texture as input and receive proper texture at output. Itā€™s in my office pc, and I will try to publish this substance as soon as I get there on monday.

About highlight - Iā€™ve checked out and there is such a bug indeed. Iā€™ve missed it before and it will be fixed. Thanks for report!

All the voxeland terrain stored in data file:

  • (voxelandData).blocks is a one-dimensional int array of all block types used in your terrain. Its length is sizeXsizeYsizeZ (where size - is dimensions of data). To get block number in array by coordinates use zsizeYsizeX + y*sizeX + x. To find changes in data you have to compare two ā€œblocksā€ arrays.
  • (voxelandData).exists is a boolean array of all blocks existance. If true - block is filled with ground, if false - it is an air block. Its count and methods are just the same as blocks array. Note that if a block is marked as ā€œfalseā€ it will not be displayed event it has a ground type, so you should compare ā€œexistā€ array too.
  • (voxelandData).ambient is array of floats that set ambient color of blocks. It can be re-calculated by (voxelandData).CalculateAmbient() so there is no need to compare these arrays.

To get access to single blocks you should call (voxelandData).GetBlock(x,y,z) to get a block at a coordinates x, y, and z, this will return int block type. And (Voxeland component).SetBlock(x,y,z, type) will set a block at specified coordinates, where type is int of a block type. Please note that GetBlock is called on VoxelandData (asset file), while SetBlock is called on Voxeland component (terrain itself). In future version I will add GetBlock() to Voxeland to make it more clear.

hereā€™s the info you requested:
1 - voxeland generates a mesh collider.
2 - it could be lightmapped
3 - voxeland chunks are common objects with renderer and mesh filter. Unity terrain does not have an ability to create such a complex geometry.

Thanks azert2k and thanks all for accolades!

simply: wow ā€“
although terrain texturing is a bit corrupted on my mac book pro (nvidia geforce 9400m ā€“ as with most triplanar shadersā€¦)

lars

Just bought it, very cool so far.

only complaint, 1 type of grass seems very limited.

Hi Wright,

awsome plugin. Can we add differents materials grass ?

Thanks

1295712--59789--$img.png

I have already started to implement this idea. Btw link grass to texture option will remain, you will just have to set grass block type number in textyre type.

Hi lars, if you assign a simple Terrain4 shader - will a bug remain?

hi again,

i am really more than happy with voxeland, its just working great with most things. i especially like the exact editing, where i can really design even small features precisely.

Justā€¦ as somebody else already asked :slight_smile: What about a c#-Version? would be so much easier and nicer to integrate for meā€¦ and i guess for many others tooā€¦
Maybe consider it?:wink:

Hi Wright,

is it possible welding 2 voxelands ?

Thanks

You can set block data with script. To make a welding you should make all of the first (0) and the last (size-1) x or z of two blocks to be the same. The post somewhere above describes how to set (voxelandData).blocks

I will consider C# version after auto-generator. I see there is big demand for it, so I nearly surrendered) Ok, ok, Iā€™ll think about it seriously. )

Is this better than the terrain toolkit form sixtimesnothing?

I dont know this terrain toolkitā€¦ but Voxeland is nice, try the webplayer. I tried all voxel-terrains i could find and i stick to this one, even if it has that SERIOUS language-flaw :stuck_out_tongue:

But hey, i managed to access it all from my c# code and implement my own runtime-editor, its all working like a charm now.

I ran the demo and watched the introduction video and itā€™s very impressive. I do have a few questions though before purchasing:

Iā€™d like to use this for a multilayer shooter Iā€™m putting together. From what I read in previous posts, this does have a collider and culling works, correct? How is the performance; draw-calls and such?

I saw that you can change the brush size, what about amount of how much is added/taken away?

Is it possible to add additional maps, such as specular if needed? I have no idea how the mesh is generated, but what about DX11 support to smooth out the terrain mesh based on distance?

Finally, would it be possible to activate/de-active at run-time the ability to modify the terrain? Iā€™m thinking about an option to allow both teams a certain amount of time to change the terrain during game play, say for 30 seconds.

Thanks!

Looks great indeed. Question, will auto-generator use custom variables to create the landscape? Instead of being just random, i was thinking also of an option for the user being able to define a few aspects for the terrain - such as its general size, frequency and diameter of caves and cliffs, water and foliage percentage coverage, etc. And a customisable density brush for placing trees and models maybe? Just my thoughts.

Yup. You got me. :wink: Iā€™m not a native speaker, and I can make mistakes. To be honest - sometimes I feel ashamed for them. :slight_smile: If you find such a mistakes in editor, inspector panel, tooltips, help file, or anywhere - please let me know, donā€™t hesitate, this is very important! You can write me a forum private message or mail to mail@denispahunov.ru Thanks in advance.

Voxeland has a mesh collider and a terrain created could use occlusion culling. It consist of several meshes - chunks - which could be turned on and off by oc.
Terrain uses one draw call per chunk (two if realtime shadows are on). Chunk size is 100 m^2 by deafult .

Hmmmā€¦ Never thought of digging depth. But it should be not hard to implement, I guess I can make it in one of the future updates.

You can write your own shader. Voxeland uses common surface shader which could be applied to any other object. The texture blend is set by a vertex color.

It is possible. But please note that occlusion culling mentioned above could not be recalculated in realtime. So you may experience artefacts when chunks are not displayed using oc and realtime editing.

I donā€™t think that the first version of the generator will be so complex.But it will evolve, and Iā€™ll try to add all the necessary features.

PS glad to hear that some are choosing this tool, having tried all the other. Iā€™ll try my best to get rid of the flaws :slight_smile:

Once I promised a texture substance for Substance Designer for drizztfun. It gives the possibility to prepare perfectly tiled Voxeland textures in just a couple of clicks. Iā€™ve sent this substance via personal message recently, but I think it would be fair if anyone can get it.

I am a little surprised by the fact that only one person asks for the texture creation tool. Seems that others are pretty happy with default textures. Iā€™ve got nothing against it, but it could result in a lots of games with the same landscape. Please feel free to use substance to give your game individuality. :wink:

http://www.denispahunov.ru/voxeland/VoxelandTexture.sbs

1 Like

Before I purchase, I noticed that your grass and trees have motion. Is that using Unityā€™s wind, or was it animated within the model? I ask in case I wanted to integrate this with some sort of storm system.

Is there also an easy way to smooth the terrain to a flat surface? I had to click multiple times to get the original flat surface again in your demo, depending on how much land I added/removed.

I think you miss-understood when I asked if there was an option of a setting on how much land to add or dig. Say in the demo is one unit; can I choose 3 units and add or dig 3 times as much?

I like the idea of using Substance to texture the terrain, and have some more options for texturing! Ever consider about having a secondary ā€œblendingā€ texture get generated automatically on the vertical surface? Iā€™ve seen a couple of engines do this (although Iā€™m drawing a blank of which ones they were), so when you choose grass, the cliff side has a different texture. Your competition Ruaumoko has a cool snow feature that adds that texture depending on elevation. Just a thought of a cool feature to add! :wink: Anyways hereā€™s a screen shot:

Thanks!

Your English is fine - I think he was referring to your choice of JavaScript over C# :wink: