Search Unity

  1. Engage, network and learn at Unite Austin 2017, Oct 3 - 5. Get your ticket today!
    Dismiss Notice
  2. Introducing the Unity Essentials Packs! Find out more.
    Dismiss Notice
  3. Check out all the fixes for 5.6 on the patch releases page.
    Dismiss Notice
  4. Unity 2017.1 is now released.
    Dismiss Notice
  5. Unity 2017.2 beta is now available for download.
    Dismiss Notice

Voxeland - Voxel Terrain Tool

Discussion in 'Assets and Asset Store' started by Wright, Jun 25, 2013.

  1. CazicThule

    CazicThule

    Joined:
    Nov 29, 2012
    Posts:
    95
    I'm having a problem following this tutorial:

    http://vimeo.com/67686049

    After I've made the mud block and selected it, it still paints the cliff block in the editor. Also, changing the brush size has no effect.
     
  2. HertzWhnIP

    HertzWhnIP

    Joined:
    Aug 11, 2013
    Posts:
    4
    We are building a game with a large map, 5000 blocks x 5000 blocks. Is the idea to make one Voxeland asset that size, or to make many separate assets that fit together and make a large map?
     
  3. PyroStudios

    PyroStudios

    Joined:
    Sep 23, 2012
    Posts:
    130
    Brush size doesn't work for me either in this latest update.
     
  4. Samsson

    Samsson

    Joined:
    Oct 12, 2010
    Posts:
    165
    Last uptade is not on the asset store ;)
    Brush size is buged for everyone, but wright made a new uptade who hasn't been yet approved by unity (they doen't work on weekend).
     
  5. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    939
    @mryan150: seems that unity fixed this leak in version 4. Are you using 3.5?

    @CazicThule: Block type selector shoul work. If you could send me a scene and a data file I can take a look what is wrong in your particular case.

    @HertzWhnIP: your terrain is definitely too big for Voxeland. You need to consider that the terrain is volumetric, it is not flat. So, for instance, if your terrain height will be at least 100 blocks, you will get 5000*5000 multiplied by 100. That's a large amount, really.

    @Samsson: thanks for an idea to split chunk calculations and mesh creation. But I'll think in a direction of multi-threading. Blocks should be calculated parallel to main thread, like a lightmaps.
     
  6. HertzWhnIP

    HertzWhnIP

    Joined:
    Aug 11, 2013
    Posts:
    4
    re: Large Map 5000 x 5000

    Thanks. But isn't there a way to load only part of the map into Unity at a time, so that a map could be endlessly big (only limited by the size of you disk)? Won't it let you break the map into sections and only load the sections you could see at the time, dropping those you can no longer see?
     
  7. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    939
    Voxeland can work that way - build only chunks that are close to camera an destroy chunks that are far. But all the terrain uses one data - one Unity .asset file. There is no way to load only the part of an asset, as far as I know. The problem is that a data file becomes too large. An override data class with a dynamic loading would be a good way out of the situation, but I haven't looked in this direction yet.
     
  8. HertzWhnIP

    HertzWhnIP

    Joined:
    Aug 11, 2013
    Posts:
    4
    Is it possible to use separate .asset files and load in / drop them as you move through the world?
     
  9. Frosenborg

    Frosenborg

    Joined:
    Aug 7, 2013
    Posts:
    5
    I've been testing this functionality and I have two 1km/1km/100m scenes. One has 16 separate terrain blocks the size of 250m/250m/100m, the file size of each .asset being 54 936 kB. The second has four terrain blocks the size of 500m/500m/100m with the file size of .asset being 219 731 kB, so the overall (file)size of the terrain is the same in both scenes.

    The first scene runs quite well and is stable, the second one runs but crashes easily. The Dynamic Build feature works and the separate terrain files show up when they come in range, so it's possible. But at the moment Voxeland isn't designed to work this way and there are limitations that prevent you to create big worlds out of separate files.

    btw. Dynamic Build works in Playmode only if Playmode Edit is checked ON in the Settings.

    Samsson said it well Wright

     
  10. stevesan

    stevesan

    Joined:
    Aug 14, 2011
    Posts:
    48
    Hi there, just bought this and it is very cool!

    We are considering this for a pretty large-scale terrain game, and I was wondering if there were plans to use sparse data structures instead of dense arrays? Like an octree or something. Are there plans for this soon, or is there a reason not to? I was thinking about adding it myself, as the source code is quite clean.

    Cheers,
    --Steve
     
  11. stevesan

    stevesan

    Joined:
    Aug 14, 2011
    Posts:
    48
    I've been playing around with it, using Perlin noise and what not, but the smoothing seems to be less in the plugin than in the web demo. Here are side by sides for comparison, left is the great looking web demo, right is what I get when I build Voxeland/Demo/DemoScene.unity:

    http://imgur.com/a/tRor3

    As you can see, the left side seems much more smoothed out and rounded, and thus less blocky looking, than the right. Is there a setting somewhere I forgot about? I don't see any such parameters in Voxeland Inspector panel.

    I did not change the web demo scene at all. I'm on Unity Pro 4.2.0f4.

    Thanks!
     
  12. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    1,846
    You can play with the "1st" and "nth" variables in the chunk script. Increase the values to get smoother result.
     
  13. stevesan

    stevesan

    Joined:
    Aug 14, 2011
    Posts:
    48
    Hmm you mean VoxelandChunk.js? Not sure which variables you are talking about. As far as I can tell, the code just averages the 6 neighboring vertices. I can do this more than once I guess...

    Profiler.BeginSample ("Relaxing and Normals");
    PreRelax();
    Relax();

    PreRelax();
    Relax();

    GetNormals();
    SmoothNormals();
    Profiler.EndSample ();

    Does that make sense?

    UPDATE: So doing just 2 passes of Pre/Relax makes it look quite good. If I try like 4 passes, I start seeing seams between chunks (a bit odd..should just work, no?).
     
    Last edited: Aug 13, 2013
  14. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    1,846
    well, I was refering to VoxelandChunk.js yes, the variables named "relax1st" and "relaxNth"

    --edit--
    I haven't tried what you suggest, but I dont think it will be good performance wise. Im sure wright, will have a good answer for you :)
     
  15. mryan150

    mryan150

    Joined:
    Feb 21, 2013
    Posts:
    6
    I have seen some other voxel systems in unity that produce (seemingly) infinite terrain. I was wondering if you have plans, or know of a way that we could implement this, because as of right now loading large terrains is very taxing on the system, to the point of unplayable. I suppose that I could get around this by loading in multiple voxeland terrains, however even if you match them up, if you "dig" in one, it will go under the other, and let you go through the terrain. Is there a way to merge these terrains together so this doesn't happen? if so that would help with the infinite terrain, or at least it should. It would also help with the dynamic build. I don't know how hard this would be to implement.

    I hope I don't sound rude, I love the tool, there are just these few issues that are keeping me from being able to use it in the way I want. Thanks and keep up the great work.
     
  16. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    939
    The smoothness returned in 1.51, along with numerous fixes. This version is on asset store now.

    And if you already surfed the code - there is a way to change smoothness :) PreRelax() smoothes a raw block structure, while Relax() smoothes tesselated faces. You can alter them both by changing the functions themselves:

    Instead of first faces loop in PreRelax:
    you can do something like:
    and in a Relax you can add factor as a multiplier in the first line:
    The only reason smoothness factor is not included in the settings is that I plan to do a per-type smoothing, to add a possibility to get a smoothed blocks along with a cubical ones. So you can play around with Relax and PreRelax, but but be aware that algorithm can change in future versions.


    mryan150: I dont know why do you guys try to weld two terrains - there is no difference between two (or four, or n) loaded Voxelands and the one of a big size with a dynamic build turned on. Do you really need welding, or should I look towards other size increase methods - for example, dynamic data loading or octrees mentioned somewhere above?
     
  17. sefou

    sefou

    Joined:
    Aug 30, 2011
    Posts:
    287
    Hi Wright ,

    Ctrl-Left click to replace block don't work .
    Shift-Left click to dig block with differrent texture than base texture don't work.


    Can you fix it ?

    I use Unity 4.2.0f4

    Thanks.
     
    Last edited: Aug 13, 2013
  18. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    939
    Just made a test, everything works for me. Could you please send scene and a data file to mail@denispahunov.ru
     
  19. sefou

    sefou

    Joined:
    Aug 30, 2011
    Posts:
    287
    Hi,
    scene and data file sended.
     
  20. Frosenborg

    Frosenborg

    Joined:
    Aug 7, 2013
    Posts:
    5
    I can, with a little workaround have a single 1km/1km/100m terrain in the scene with Dynamic Build on but editing it crashes Unity, the .asset file is too big in size. The scene where I have 16 separate terrain files to create the same land size, with Dynamic Build on doesn't crash Unity when I edit the terrain, so there is a difference.

    Welding separate terrains together to create a big world would be a fine solution for me because I don't need the player to edit the terrain in-game.
     
  21. CazicThule

    CazicThule

    Joined:
    Nov 29, 2012
    Posts:
    95
    The brush size + texture tools seem to be working now in 1.5, thanks.

    I am, however, getting lots of build errors for Android, it is due to lines such as these:

    newBlocks = new int[newX*newY*newZ];

    Can you please ensure that these definitions start with the "var" keyword?
     
  22. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    939
    @sefou: I've loaded a scene and data in 4.2... And everything is just fine. So I'll have to investigate further. Could you please send me a project, just remove anything which is not concerned with Voxeland.

    @Frosenborg: so 16 small files are better than a big one ) I'll keep that in mind, maybe I'll add some tool to weld terrains. But I think better way to increase land size is octree - I'm working on it.

    @CazicThule: already made for a new version. I'll release it along with other fixes soon, sorry for inconvenience...
     
    Last edited: Aug 14, 2013
  23. CazicThule

    CazicThule

    Joined:
    Nov 29, 2012
    Posts:
    95
    It only seems to be a problem with Android, seems to be the way Android interprets JS.

    Is there currently a way to programatically raise/lower terrain at a given point? Or is it purely an editor extension at this stage?

    EDIT: Just noticed the SetBlock command, but is there a way to get the X,Y,Z coordinates from, say, a raycast hit? I want to be able to shoot a ray from an FPS controller and build a block at the location that it hits.
     
    Last edited: Aug 14, 2013
  24. drizztfun

    drizztfun

    Joined:
    Jul 2, 2013
    Posts:
    21
    Wahh... help :p

    I just upgraded to the new version.. and this time i did not lose the borders.. but my GROUND!!!

    Its just gone now.. i was building on ground zero more or less.. so one dig, and i am through.. and now.. the ground is gone...
    What can i do now?
     
  25. Frosenborg

    Frosenborg

    Joined:
    Aug 7, 2013
    Posts:
    5
    I looked up octree and while I don't fully understand how it works, it sounds like a good solution, the way Voxeland handles file sizes now is way too advanced for current hardware.

    Like the new update btw.
     
  26. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    939
    @CazicThule: there is a post with more information about SetBlock. And there is an Voxeland.Edit function to build a block with a raycast. You can use it directly or copy to your code and use as reference. Shortly - you need to use chunk's triToCoords array:
    @drizztfun: so your terrain is on zero level? Try using
    instead of
    in VoxelandChunk, line 485. Later I will add offset feature to data, which will have a possibility to raise your terrain.

    @Frosenborg: in octree the size of terrain will be determined by its complexity, but not the geometrical dimensions.
    Thanks )
     
  27. drizztfun

    drizztfun

    Joined:
    Jul 2, 2013
    Posts:
    21
    Hi Wright

    thanks again, that did it.

    And i have already my self made tools for raising/lowering terrain by a level ;) I will just build on level 1 now not on the lowest, that should solve it.
    I always had trouble with it on level 0 anyway, before the update, sometimes it was disappearing :p for some seconds, depending on the sun/light.

    One "internal" question.. why do you use the "exists" ? I was playing a lot with voxeland now, and for me block = 0 means, doesnt exist..
    And block 1+ means, there is texture 1+ on it.
    I have made some routines which detect differences after user edits, save each changed block in a 32bit integer only, and then send it as binary to my server. Works fast and 100% fine until now. And its just a tiny amount of data for transfer and saving :)

    And thanks to the update, the rebuild is fast now. Great work :)
     
  28. drizztfun

    drizztfun

    Joined:
    Jul 2, 2013
    Posts:
    21
    Hi,
    maybe i should share my experience for others to get a quicker start with Voxeland.

    1.
    First.. of course you work with C#, so wait.. what about this strange UnityScript... Easy for most of you, but for those who don't know yet: Just move the files Voxeland.js, VoxelandChunk.js, VoxelandData.js and VoxelandIntersection.js to another folder..
    For example : Plugins\Voxeland

    2. Now we can get access to our Voxeland easily, as we are used to:
    var voxeLand = GameObject.Find("Voxeland").GetComponent<Voxeland>();

    3. Maybe you use NGUI like me, and you like the events.. so you want to use NGUI's OnClick to detect clicks on voxeland landscape, for moving your toon etc. I just add my script to the chunks after each rebuild: (GroundAction.cs is my script with Onclick obviously)

    var voxParent = GameObject.Find("Voxeland").transform;

    foreach (Transform child in voxParent)
    {
    var colliChild = child.FindChild("LoResChunk");
    if (colliChild.transform.GetComponent<GroundAction>() == null)
    colliChild.gameObject.AddComponent<GroundAction>();
    }

    4. detecting changes by users
    I dont use the built in function for runtime-changes, because i need some more tweaks.. So first i make a copy of voxeLand.data.blocks[...]; The size is of this structure is
    voxeLandSize = voxeLand.data.sizeX*voxeLand.data.sizeY*voxeLand.data.sizeZ;

    After the user is done with playing, just compare the original and your own array, and save the value. Its just an integer for each block, so not much to store...
    Please be aware that this actually changes your asset file on disk :p I did not bother changing that, since i use a webplayer...

    PLEASE MAKE A BACKUP OF YOUR ASSET FILE BEFORE PLAYING HERE !!!

    5. manipulating blocks
    Either as in 4. you do it directly in the voxeLand.data.blocks.. and call voxeland.Rebuild() after..
    or you can

    int blockType = voxeLand.data.GetBlock(x, y, z);
    to read a block
    and
    voxeLand.data.SetBlock(x, y , z, blockType , blockType != 0);
    to set one

    Blocktype is the block which you have defined in the editor.. starting with 1, since 0 means nothing :)

    With those things you have enough at hand already to dynamically change the terrain FAST at runtime, even load data from another source and not only the asset file, make holes after some boom boom ;) or whatever you like.

    Have fun :)

    Sorry Wright for abusing your nice system ;)

    And guys.. i am new to unity and c#.. just a couple of months now.. please feel free to improve my tries with better ways ;)
     
    Last edited: Aug 15, 2013
  29. CazicThule

    CazicThule

    Joined:
    Nov 29, 2012
    Posts:
    95
    Great post, thanks!

    After I use SetBlock() the changes don't show until I call Rebuild(), is this expected?

    And is there a method for deleting blocks? Using 0 as a blocktype doesn't seem to work.
     
    Last edited: Aug 15, 2013
  30. drizztfun

    drizztfun

    Joined:
    Jul 2, 2013
    Posts:
    21
    Hm, not sure anymore about the SetBlock.. i am at work now, i will check that later when i am home. I am using SetBlock right now for bigger changes only, like raising or lowering the terrain by a level or loading data for custom changes.

    If that doesnt work, you can use the call from the edit mode.. I just dont remember it now, i will check it later.

    But deleting blocks works with SetBlock.. the last parameter is Exists or so.. if you set this one to false, it should delete blocks.
    Maybe Wright can comment on that better ;)
     
  31. CazicThule

    CazicThule

    Joined:
    Nov 29, 2012
    Posts:
    95
    Yep, setting the last parameter to false does the trick. I also forgot to not use GetOpposite() on the coords for deleting blocks.

    One weird thing I've noticed is I get a nullreferenceexception when trying to return the chunk (hit.transform.parent.gameObject.GetComponent<VoxelandChunk>()) from a ray when I aim the camera directly down, whereas it works fine in any other direction. This means I can't currently dig directly down.
     
  32. Frosenborg

    Frosenborg

    Joined:
    Aug 7, 2013
    Posts:
    5
    This is the part that I actually understood, before I looked up octree I was wondering if it would be possible to "flush" unused voxels out of the terrain to optimize the file size, something octree does :) One thing that left me wondering was terrain creation functionality, could you create a small terrain first and then build on it untill you come to the file size you feel is optimal, or do you still create a x*z*y file and build in that space?

    I have to admit that I can't really code at all but game developing itself isn't all Greek to me, as a designer and a as "the idea guy". With Voxeland, I really do think you have a winner here. Keep up the good work!
     
  33. ruslikkk

    ruslikkk

    Joined:
    Jul 10, 2012
    Posts:
    5
    Hi! I'm having problems with textures. They are seamless, but it still turns like this.
    $1.png
     
  34. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,388
    hi!

    im looking for voxel asset for multiplayer game that i would like to do that would be fairly large sized open world where multiple players can change the terrain realtime.

    so what are realistic possibilities of voxeland being put to such use.

    i guess the issues are how to get the generated maps on downloaded to the player that are joining and how to keep them all synced enough.

    i guess there is initial terrain generation and downloading it to players as they join. also as the players change the terrain downloading the changes to them, keeping them all synced

    then there is how will non voxel object, plain old static models be able to be placed inside the voxel area.

    also would be nice to have grass and trees growing all around the tubes and cavern.

    basically i am working on game that is completely below the ground. players can dig and fill in. but i need to be able to generate not just the voxel, but all the objects in the terrain for them to find as they explore

    i also need to be able to explode area when they trip off like explosive traps. and make caverns around their spawn area so they can spawn in and please objects around their spawn areas, like perhaps pickups and perhaps even rocks and buildings.

    i'm not looking for something blocky like minecraft, im thinkging smooth surfaces with blended textures.

    so do you think this would be good engine for that kind of stuff?

    thanks in advance
     
    Last edited: Aug 18, 2013
  35. Eralmidia

    Eralmidia

    Joined:
    Dec 21, 2012
    Posts:
    10
    Just got this plugin. Seems really nice so far. How far away are procedural generated terrains?
     
  36. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    939
    Thanks drizztfun for an explaining post! However, it's better not to access blocks[] and exists[] directly - there will be no blocks or exists in future version, just an octree. But GetBlock, GetExists and SetBlock will remain, so you can use them for internal data operations.

    CazicThule, data.SetBlock is just a data operation, your landscape knows nothing about it, and cannot update on this function call. To set a single block on a landscape you'd better use voxeland.SetBlock(x,y,z,type). It will automatically update the changed chunks. Note that it is not VoxelanData, but a Voxeland function.
    I'll take a look what happens when a ray casted directly down.

    Frosenborg, in octree the file size of the terrain will be changed (increased or decreased) when you change the terrain itself, so there is no way to set terrain dimensions by file size. However, you cna resize you terrain - and it is available in a current version.

    drizztfun, Block type 0 is always an empty block, but there could be empty blocks besides. Here we come to the question about exists array. For example, blocks with objects are not filled, and they are false in exists array. GetExists is called too often to make it look like "if (blocks[..]!=0 blocks[..]!=3 blocks[..]!=4 ...)". Imagine that the exists[] defines block structure and mesh, and blocks[] are just coloring it in a particular texture.

    ruslikkk, Voxeland uses an atlas of 16 tiled textures. One texture (atlas area) per block face at random. You can use the included substance archive to prepare textures inside Unity, or prepare textures in graphical editor. You will find instructions to the last-mentioned in a manual.

    im, you can set blocks with scripts, this will help to make an explosive and spawn areas, and to sync terrain changes over the net. And there is no problem to place objects underground (they need to be in a non-filled blocks, thought). However, there could be difficulties synchronizing newly connected players - it will be too slow to pass them all the voxelas data, so you will have to monitor changes somehow... or force to connect players at the beginning of game round only.

    Eralmidia, generated terrains octree and etc will be in the first half of September, most likely.
     
    Last edited: Aug 19, 2013
  37. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,388
    hi again im interesting and licensing your asset please provide link to your api/documentation. i need to see if it would work for me. thanks in advance!
     
  38. GXMark

    GXMark

    Joined:
    Oct 13, 2012
    Posts:
    371
    I recently purchased voxeland and am very impressed so far with the authors persistence for perfecting his product.

    A terrain system that is editable in game will be really great for multi player online games but i read that their is going to be a player sync issue regarding the size of the voxel data. What is needed is a kinda octree delta which tracks its changes and is saved somewhere central to the players so that when they log in the current octree information can be retrieved thus maintain synchronisation.

    I've been playing around building a landscape and it lacks the ability to flatten and raise larger areas. This kinda brush would really quicken up terrain production during game mode.

    I also tried adding in a dynamic sky system and water products and noticed that the highlighting block which tracks around the surface in game disappeared and only was visible on a right click of the mouse. Is that standard functioning as i thought it was not meant to work that way and be visible as the mouse cursor moves around the game view.

    When using the create voxel wizard some better explanation is needed to understand how large the voxel terrain that your creating is going to be. I just felt it was a bit confusing the size of it. Also in the tutorial video it creates a nice volume cube to start with but i was experiencing a flat plane like object with a ripple on it.

    I also noticed some strange things happening when i assigned the grass texture in settings that it changed my water material on another object. Really strange happenings there to. Will try to recreate and right about that more.

    Has anyone tried the current version on a mobile device yet? Some stats on this would be very interesting such as running on an iPad, iPhone or Android device.

    Some other observations that interested me about performance. I noticed that although the draw calls looked acceptable the processor was really working hard on my i7 quad core 64GB ram intel PC. What part of the product is causing this processor intensive usage the most. Has this been looked into for potentially more optimisation etc?

    Lastly, I've played around with at least 3 other terrain run time systems in unity and this holds the most potential for being the standard in this field.
     
  39. shwa

    shwa

    Joined:
    Apr 9, 2012
    Posts:
    392
    Hi,

    Just bought Voxeland.
    Love it!

    Trying to figure out if there's a simple way to resize the terrain in the demo that came with it. ?

    I want to test two larger sizes.

    1. 2x the width and 2x length.

    2. 3x the width and 3x length.

    Is there a way to do this?

    Can one have more than one terrain in a scene?

    thanks!
     
  40. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    939
    im, you can find Voxeland help here. Also this post could be useful.

    GXMark, thanks! Highlight uses transparency, and it seems that water uses it too (and maybe a sky uses transparent clouds). There could be a standard sorting bug (typical for Unity and many other engines), making one transparent object invisible. You can assign other material for a highlight in settings. You can create a cube from a plane clicking "Cap Bounds" in settings section. When the terrain is not changing it should behave like a standard mesh, there should be no performance issues on a pc like that - could you please pm me details - what was the size of the terrain, what was fps and if there were any actions with terrain?

    shwa, already emailed you, but possibly anybody else would like to know. You can resize a terrain by selecting it's data asset and setting its new size in "resize" section. You can have more than one terrain in same scene.
     
  41. Captian-Brink

    Captian-Brink

    Joined:
    Aug 23, 2013
    Posts:
    44
    ~~ Excuse me for I am novice - I am a new Unity hobbyist, not professional by any means.

    I'm heavily interested in Voxeland and have a few questions.

    1) Will it be possible to create a variety of pre-designed sections you've built previously, and when you play the game the world generates a map by calling for one of these pre-designed sections and mending them together? I'm thinking of a Minecraft style of infinite (or very large) world that can be randomly generated - but via pre-designed sections. Possible? Or just wishful thinking?

    2) Voxeland and multiplayer has been mentioned before, but would a map similar to that of my first question be asking too much?

    3) SplineBend clash with Voxeland? (I have not downloaded either, but I am contemplating doing so)

    4) Is water/liquids an issue for Voxeland? How could one simulate water in this environment?


    Thank you!
     
  42. sefou

    sefou

    Joined:
    Aug 30, 2011
    Posts:
    287
    Hi,

    3) SplineBend work perfectly with Voxeland .
     
  43. GXMark

    GXMark

    Joined:
    Oct 13, 2012
    Posts:
    371
    GXMark, thanks! Highlight uses transparency, and it seems that water uses it too (and maybe a sky uses transparent clouds). There could be a standard sorting bug (typical for Unity and many other engines), making one transparent object invisible. You can assign other material for a highlight in settings. You can create a cube from a plane clicking "Cap Bounds" in settings section. When the terrain is not changing it should behave like a standard mesh, there should be no performance issues on a pc like that - could you please pm me details - what was the size of the terrain, what was fps and if there were any actions with terrain?

    I noticed that only when you have the Voxeland gameobject selected in the hierarchy view do you get the highlighter on the brush showing up in the game view. Why does it not show up when you select another game object? I thought it was a transparency issue but seems not.
     
  44. zephren

    zephren

    Joined:
    Dec 7, 2012
    Posts:
    25
    why is the terrain and the block types lit, I want to use realtime lighting but my assets area all dark but your terrain is all lit, so i cannot make day and night cycles. how do I turn of the lighting or adjust the brightness to you terrain blocks.
     
  45. asdfghjkloi87654

    asdfghjkloi87654

    Joined:
    Feb 16, 2013
    Posts:
    28
    Hi,

    I have not created Voxeland but maybe I can help too

    @captain brink : you cant pre-design randomly generated worlds but you can give a perlin noise a raw structure like hills or flat ground.
    To add this go to voxelandchunk.js and search the voxel placing function. That must be three for loops with x,y and z or something.
    Then play around with the Mathf.perlinnoise function. If you dont like it you can try to create four or more terrains and spawn them randomly on the fly.

    Because there is no water at the moment -ok you can add a block with water texture - you should try to add metaball fluid.
    Just google it there are many examples.

    @zephren maybe its a bug , I can modyfy brightness at the sun gameobject

    my question : how to create bioms like forest,dessert...
     
  46. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    939
    Captian Brink, i'm working on automatic land generator, but it will have different approach. It will create procedural terrain from noise and erosion functions, not with pre-made areas.
    Voxeland is a terrain plugin, it has no liquids. You can create water using horizontal plane like in standard unity terrain, or maybe with something more complex like custom mesh, or - just an idea - using other Voxeland with water shader assigned (I have not tried this though).

    GXMark, this sounds strange. Could you please send me a scene (just remove all unnecessary objects)?

    zephren, there is "Additional ambient" color value in settings. Try setting it to black.

    asdfghjkloi87654, bioms? At least its not a minecraft ready-fitted ) This is far advanced land generation function, and I have not even planned it. You can create forests and deserts manually, but it seems to me you mean automatic bioms. I'll think about bioms after the first iteration of implementing land generator.
     
  47. RSH1

    RSH1

    Joined:
    Jul 9, 2012
    Posts:
    155
    To be honest I would prefer if this plugin remained focused on terrain and building mechanics rather than "Minecraft" game mechanics such as procedural heightmaps, erosion, liquids etc.

    All of these things have been discussed in depth in this thread: http://forum.unity3d.com/threads/63149-After-playing-minecraft/ and there are numerous open source examples and libraries available. This is something the users can easily implement themselves, so IMO it's kinda a waste of Wright's time working on this sort of stuff.
     
  48. GXMark

    GXMark

    Joined:
    Oct 13, 2012
    Posts:
    371
    I do agree with RSH1 building mechanics and optimisation are most important.
     
  49. PISCES

    PISCES

    Joined:
    Jul 28, 2013
    Posts:
    6
    This asset is really nicely done, however I seem to be running into a major issue with using DX11 as the renderer. As soon as I turn on the DX11, there seems to be strange artifacting in the form of pure-black regions on the mesh. It looks as if it has something to do with the shader’s normal mapping? I’ve included an image below to try and explain:
    $DX11_SHADER_PROBLEMS.jpg

    Is there anything I can do to fix this problem? Can you supply some modification to the shader to make it compatible with DX11? Thanks,

    -dan
     
  50. PISCES

    PISCES

    Joined:
    Jul 28, 2013
    Posts:
    6
    Here's another example inside one of the "cave" areas of the demo scene. Is there a work around?
    $DX11_SHADER_PROBLEMS2.jpg