Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Voxeland - Voxel Terrain Tool

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

  1. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    Ascensi, I was thinking about a stamping system. It is more convenient in use than loading heightmaps in some areas without changing the others. But I plan to do it in a form of stamp brush, so copy areas should not be too big - lesser than a hundred of units or so.[/QUOTE]
    That would create incredible control! I didn't want to ask for the brush system although I'm glad you were already thinking of it. If you could make the brush size flexible to use custom sizes I would greatly appreciate it! I believe my computer can handle bigger sizes.. I was experimenting using the Oculus rift sculpting and recording it with bandi cam with skype all at once! Using the Oculus Rift gave me the exact perspective on sculpting for players to comfortably travel whereas normal editor sculpting I would repeatedly have to enter play mode to see if the character could travel properly between tight spaces.

     
    Last edited: Mar 12, 2016
    lazygunn and Wright like this.
  2. MentalTOAO

    MentalTOAO

    Joined:
    Nov 10, 2013
    Posts:
    3
    Hi,

    I'm having some trouble when running the asset from a library instead of it lying bare in the Asset folder:
    Whenever I interact with the terrain (having the GO selected, adding/removing voxels) it adds/removes/replaces the voxel correctly, but then immediately deselects the GO and either selects a hidden chunk or the Highlight object itself.
    This makes it pretty much unusable for me right now, as you have to re-select the GO after each action.
    Is this a known issue?
    Also, is there a date for the next update yet? Is there a changelog?

    Cheers
     
    Last edited: Mar 15, 2016
  3. atmosfearteam

    atmosfearteam

    Joined:
    Nov 10, 2015
    Posts:
    42
    @mm_ASH So, I just now got around to looking at this. Thanks for doing it. :)

    I'm wondering though, how would this apply to on-the-fly generated terrain? In my game I am actually using the infinite generation and not customizing the terrain myself. I was hoping to have randomly generated caves and such along with the randomly generated terrain as the player moves through it (like Minecraft). Or would your method not work for that?

    I mean, I need the caves to generate themselves without me manually specifying where they should go because the terrain will be randomly generated for each world in my case, not a terrain that I've pre-built.

    I've been doing a lot of research and it seems the way most games (including Minecraft) do it is using the Perlin Worms technique.
     
  4. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    Unfortunately I made it mostly for edit-time baking. So it`s better to ask author to create such feature in generator if you need.
     
  5. atmosfearteam

    atmosfearteam

    Joined:
    Nov 10, 2015
    Posts:
    42
    Ok, thanks for letting me know. :)

    @Wright In that case, are there any plans for such things in the future of Voxeland? Or perhaps some sort of guide of how we would go about doing this ourselves? I've been looking through the code, but I'm having trouble wrapping my head around it. Not even sure where to start lol.
     
  6. Reiika

    Reiika

    Joined:
    Jul 18, 2015
    Posts:
    43
    I have a question, what functions can be used to essentially find the ground height at position x,z so that I can write some code to tell if the player falls through the terrain to afix them to the proper height?
     
  7. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,267
    Wow that looks really cool! Great job!

    MentalTOAO, what do you mean under "running from a library"? Have you made a dll of it?

    atmosfearteam, not in a close future. I'll start with making Voxeland work with MapMagic, which is mainly heightmap (i.e. 2d) generator, and then I'll see what I can do to make caves in 3d.

    Reiika, voxelandTerrain.data.GetTopPoint (int x, int z), where x and z are coordinates of a player as ints.
     
  8. MentalTOAO

    MentalTOAO

    Joined:
    Nov 10, 2013
    Posts:
    3
    Yes, I did. Without changing the code, mind you. I tested it in the Asset-version in an empty project and it worked. Doesn't as DLL, though. Weird thing is, in the Asset version the highligh in editor mode flickers and is only visible while the cursor in in motion. In the DLL version it does not flicker, yet the selection is all borked, as described. And even worse, when using Shift+Click it gets "stuck" and when I move the mouse it still removes / adds voxels, even though I let go of the mouse button.

    Also, minor bug that you probably found and fixed already: The application of volumetric brushes can cause exceptions if the brush's extends go below y=0.
     
    Last edited: Mar 16, 2016
  9. Reiika

    Reiika

    Joined:
    Jul 18, 2015
    Posts:
    43
    Thank you Wright!

    Can we also get a more in-depth break down of the commands that can be used with the API?

    For example what does GetBottomPoint do, I am trying to figure out the best way to approach dealing with things like caves and such using this system, I am getting great results just would like documentation on the code a little bit more ;)
     
  10. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    By the way is it possible and does it make sense performance wise to add Frustum Culling to Voxeland? I could imagine it working as long as chunks are small enough. I thought it would be interesting if Voxeland had chunk streaming mixed with Frustum Culling (maybe when looking in a direction the land is set to load in 20-30 degrees out of camera range before the camera is allowed to see it..
     

    Attached Files:

    Last edited: Mar 22, 2016
  11. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    @Wright I copied this over from my PM to see if other people are interested in this idea:

    Hi Wright, if you are still interested in the mesh/heightmap brush to help sculpt Voxeland Artistically in mind besides a brush system I would wish for a drag and drop feature into the terrain with the ability to see the mesh as you position it xyz or just xy then when you release the button the mesh vanishes and becomes part of the terrain-this would be great work flow! You might be able to add physical scaling to the mesh with the middle mouse button before dropping it into the terrain (one left click on mesh then drag it to position over terrain - middle mouse button to scale -left click to release into terrain. I understand that this scaling option would likely have to be done through your own UI since I Unity doesn't have this specific drag and drop process built in.

    Another way (might require more programming) is dragging and dropping a heightmap with the physical appearance visible over the landscape before releasing it with the left mouse button to become part of voxeland kind of like having preview of the terrain with the heightmap in physical form before it becomes part of the terrain. This would be great for having a heightmap library and allow people to use their own. But if people wanted to create freaky landscapes they could maybe drag a human body mesh, a dragon mesh etc to become part of the terrain.

    Rivers, mountains, Creatures, people, buildings, tree stumps etc all stamped into the terrain.
     
  12. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    I would love some edit-time oculus functionality, I've been thinking about it a bit having done some level editing experiments with the oculus last year. Map magic would definitely be a priority however (just got a prototype of a thing using map magic, oculus and leap motion going and it's looking great).
     
  13. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,267
    Ascensi, I think that the stamp brush will look like a 3D grid of cubes - at least it's initial version. For filled voxels a cube will be drawn, for empty ones - it will not.The thing you describe looks more like a feature "bake meshes to voxels using their world position and scale". But I like the idea to make it with a brush. I will think about all the brush features after MM integration - it is really my priority because both of the products will benefit from it.
     
    Ascensi likes this.
  14. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    @Wright Have you tried working with voxel terrain stitching for neighboring Voxel terrains? I was envisioning how to do this thinking that the terrain script would likely have to be disabled on all but the one terrain you want to match the borders with and new edge sculpting tool that works on the adjacent terrain simultaneously. I need such a tool for developing large terrains that can be streamed and also to make unique terrain styles between each. I would eventually bake to mesh so I can set the meshes to be streamed.

    Recap: Reasons for multiple Voxeland terrains:
    *High Resolution terrains with different terrains types (large flat areas and large mountains) each new terrain allows 8 unique textures.
    *Create worlds with multiple terrains to be baked to mesh and later streamed to work with VR
     
    Last edited: Mar 30, 2016
  15. magicbananna

    magicbananna

    Joined:
    May 9, 2013
    Posts:
    22
    I am interested in buying this asset. However Does this support heightmap generation or does it use a noise to generate height? I realise heightmaps are 2d images and trying to set 3d height may be difficult but can it be done? Your web demo is great, I like the implemented culling. I am extremely interested in buying this, and for the price wow. I was even considering paying $2500 for terrain engine. What max size world/chunk can be generated?
     
  16. Jrodz

    Jrodz

    Joined:
    Apr 8, 2014
    Posts:
    29
    This voxel tool looks very promising for a bulldozer, excavator simulation I am beginning work on. Can the voxel size/resolution be adjusted such that I could get very fine grain control for things like using a bulldozer to grade (level) and create a road? I am trying to decide whether to use voxels or just create an algorithm for adjusting standard terrains by adjusting their heightmap. Any recommendations from devs who have experience with this tool and terrains in general would be very welcome!
     
  17. AdanGrotesco

    AdanGrotesco

    Joined:
    Sep 26, 2015
    Posts:
    33
    Hi! have you some idea about the date of next realease and what will include?

    have you plans for Uber Standar shader ultra compatibility?


    Thanks a lot!
     
  18. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    The reason why I'd need a "bake meshes to voxels using their world position and scale" is because it can take an extreme amount of time to manually brush/sculpt the terrain to mountain size and brushing it in will not include the micro details like erosion as well as generating or taking height map unless you change the brush size. If Voxeland generator specific settings can be added to a brush this would make sense to get features like erosion as you sculpt the land (set up with each texture but generate features with brush should be able to be disabled/enabled (optional) because you might just want flat areas at some point etc)
     
  19. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,267
    I've got your point. I can see what I can do with it, but it will cause a lot of change since Voxeland uses singletone pattern. So it will not be fast.
    It seems to be a separate tool that can work write to Voxeland data. Unfortunately, I don't have a plans for this now, but I admit that creating such a tool could be interesting. Maybe I'll do some experiments with it when I get some tome for that.

    Voxeland supports both: you can use a heightmap input generator, or noise generator, or both - input a heightmap and then add noise to it. And you can even apply erosion after.

    You need a voxel terrain if you plan to make a complex land forms such as caves, hanging cliffs, floating islands, etc. In case of excavator simulator I'm afraid you will feel a lack of resolution and will get almost no benefit from using voxels.

    I plan to integrate Voxeland with MapMagic in next big update. To do this I've got to tweak MM first to be sure that it's fully functional and will not have a drastic changes further. Maybe there will be some minor update before (but I can't say the ETA), it will introduce the some bug fixes (like aimRay fix), probably the clone brush, plugin compatibility, changeable smoothness value.
     
  20. Reiika

    Reiika

    Joined:
    Jul 18, 2015
    Posts:
    43
    I am excited for the next big update I really would like to see Voxeland + MapMagic working together,

    1. How is it looking with the Multithreading support? I see it in the documentation but haven't been able to turn it on,
    2. I am trying to find ways to get a sweet spot between generating the terrain large size and not having a heavy CPU hit on the generation as even with my setup I see it is taxing on the CPU during generation causing FPS hits.
     
  21. Redlotus99

    Redlotus99

    Joined:
    Apr 19, 2016
    Posts:
    7
    I have read through the forum a few times about Voxeland and what it can do. I have also tried it and like what it does. I saw where it was mentioned that it doesn't support biomes, is there a way around this or are biomes planned at some point?
     
  22. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,267
    Reiika, the multithreading support was an experiment, but it did not work as expected, producing some minor visual artifacts, and, more importantly, a bug with a collision during the generate in thread that could make the player fall down through the terrain.
    If I will return to multithreading it will be made for generating new chunks only, not for the terrain change (or at least I'll make the main thread wait for other threads generate, which means almost no multithread effect).

    Redlotus99, me plan as is follows:
    1. implement biome support to MapMagic
    2. make MapMagic (with biomes feature) generate land for Voxeland.
    So currently there are really no biomes, but I'm going to bring them in through the other plugin.
     
  23. Redlotus99

    Redlotus99

    Joined:
    Apr 19, 2016
    Posts:
    7
    @Wright

    Awesome..sounds great.
     
  24. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    @Wright Thank you for considering the additions! I don't mind initially if the terrains will load slow.. if I can use tessellation at least on each terrain and then bake them later keeping tessellation things can speed up considerably.

    One last question for now, can RTP now work with Voxeland? is there a fix or is that on the list to look into when your other project is complete?
     
    Last edited: Apr 27, 2016
    jovino likes this.
  25. Redlotus99

    Redlotus99

    Joined:
    Apr 19, 2016
    Posts:
    7
    I'm fairly new at Unity and while I have been able to produce a Voxeland terrain without issue, I am wondering if there is a way to make trees spawn dynamically much like the infinite terrain does. I assume that with MapMagic this will probably be possible, is there a way to do it currently?
     
  26. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,267
    Both Voxeland and MapMagic can place a tree prefabs in scene using some generator logic. They can do it dynamically and it is possible to create infinite terrains with them. Tree generation setting in Voxeland could be found in Forest Generator sections.
     
  27. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    1. Are there any other ways to improve the performance of Voxeland?
    I really don't want to have to export as OBJ in order to gain the performance boost.

    2. Would removing the LOD, self shadowing/AO, Raycasting/Colliders and other unneeded features in the Voxeland shader help boost performance etc and by how much?

    I guess the only thing I need is the ability to sculpt in edit mode and the triplaner texturing part.
    Ability generate UV2 for beast lightmapping helps a lot too.

    3. Can I use the latest version of Voxeland in Unity 4.6 or not?

    4. I am using 3.10 and there is a triplaner shader memory leak all the time and for some reason I am having trouble understanding the chunking system. I have created a terrain with chunk size of 30 and it is 5 10 Voxels high and 40 x 40 Voxels. I can see there are 400 child chunks but only 4 of them show geometry, the rest claim to be chunks but have no geometry in them just empty game objects with a hi res and low res so is this a bug?

    Because I deleted all 396 empty chunks so only the visible chunk geometry remain, however when I exit playmode those 396 get restored....
     
    Last edited: May 10, 2016
  28. TD10074405

    TD10074405

    Joined:
    Aug 23, 2014
    Posts:
    35
    Firstly.. Removing LOD will SLOW the system down as you'll be rendering the full geometry outside the Detail distance i.e more draw calls and more processing?? The shader works fine on even a relatively slow computer that I have as our development machine at PSCo... Later versions of Voxeland are much better, I had a very very large AO (Area of Operation) and less lag than previous versions. Even with massive amounts of speedtrees and dynamic grass.

    Yes it runs in the latest version (I use it with Unity 5.4B)

    Why are you still running 3.1? Unless you ermm pirated it... I know that version is on certain unscrupulous websites. The system in 3.1 is completely over complicated unlike the latest (4.32) which is much better, its multi-threaded, batching is faster and less complex, the LODing is better etc, The demo scene in latest version is much nicer and has a HUGE work area to try out, the editor is improved as far as I can remember too. The price of Voxeland has now gone up however as far as I can tell, I'm sure I paid like £40 and its now like £80 / 101Euro. The issue mentioned about empty chunks isnt present in the latest version as far I can remember unless you're baking then I dont know.
     
  29. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,225
    Voxeland looks fabulous, I am particularly fond of the vertex AO which gives caves such depth, a few questions:
    1. How is performance on terrain modification? I read a year old review complaining about hiccups.
    2. Reading the doc I see that all methods take int, in voxel space, what is the command that converts vector3 <-> vector3i ?
    3. SaveByteList looks like isn't stream friendly, is there a method that'll work with memory stream?
    4. Is data compressed internally?
    5. Does physics use physx which means rebuilding meshcollider on terrain change (slow) or do we have voxel friendly character controllers?
    6. when the player moves on infinite terrain, I suppose voxeland unloads chunks that are away, does it store the changes?
    7. does it have some form of a* pathing? I'd guess using the connection between the voxels as graph would allow that (Tertavol does that, but discontinued)
     
    Last edited: May 15, 2016
  30. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    Hi there, yes I did pirate it so I could test it out in Unity 4.6 because I heard the latest version doesn't work in 4.6 anymore. Due to my setup I will be staying with 4.6.

    I plan to buy the product once my peace of mind is set and so that's why I asked the questions.
    As you said this is not a cheap investment so I am waiting for the right time to buy it.

    Anyway my question came because after I made a small level I exported it to .obj format and imported it back in to see a double fps improvement from 800 set pass calls per second (Voxeland Mesh) to 1600 (Static .Obj Mesh).

    Now there are obviously differences between the Voxeland Terrain mesh and the Static Imported mesh such as the shader's and Lightmap UVW so that was why I was asking so many questions because If the performance is good enough then I don't have to export it a static mesh, although I do want to make my own Physics and disable the Voxeland Physics.

    Ultimately I think I will need a Skype session with the author to truly show them what I am talking about and if my needs with the tool can be met then I won't hesitate to buy it.
     
    Last edited: May 15, 2016
  31. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,267
    There's no need to bother pirating anything as I can always provide prospective customers with a fully functional and the latest demo version.
    SilverStorm, I've just sent you a link to the latest Unity 4 compatible version demo with a personal message. Although I'm not very happy that you've pirated Voxeland, but at least you've confessed :)

    You can bake Voxeland terrain into Unity meshes and keep them in scene or as separate assets. There will be no difference in rendering performance, but the baked meshes will not consume time to build.

    laurentlavigne, thanks, I'm really glad you are enjoining Voxeland's AO!

    Voxeland takes main thread's time to build chunks, but splits process into several frames. You can try demo to see if hiccups are significant.

    There is no particular Vector3i class in Voxeland, it uses just a three ints. You can cast to int all of the coordinates or use Mathf.FloorToInt - the last one better deals with negative values.

    Yes, all the blocks of one types in a "column" are grouped together and treated as one tall block.

    Voxeland does not use any special voxel physics, it uses the standard mesh colliders. The hiccup for rebuilding collider was really a pain in Unity 4, but it's much faster in latest Unity versions.

    Right, the chunks are unloaded, and all the changes are stored.

    Voxeland does not have a pathfinding algorithms.
     
  32. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,225
    Thanks Denis,
    I see from the demo that each time a tile is added, hiccup happen. Reading your messages you say you're having trouble with multithreading letting the player fall through the floor. Do you wit until all chunks are updated before switching back to the main thread to build the meshcollider?
     
  33. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,267
    The problem is that character can move during terrain generate when adding blocks. And once the mesh collider is applied it could be just under the new collision mesh. Anyways, a player will receive a delayed terrain change - maybe just a couple of frames, but is feels wierd.
    Chunk locking and making the main thread wait will not give a performance boost (except when two chunks are updated at once, this happens only when changing chunk border blocks). I'm thinking about calculating AO and chunk geometry in several threads (while the main thread waits), but to do this I'll have to re-make threading system.
     
  34. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,225
    I see what you mean but don't aim for zero latency because it won't happen. One or two frames wait is perfectly ok - It's up to the game designer to mask delay with the usuall pyrotechnique : spawning particles where carving/building happens.

    Yes AO and chunk geometry is good candidate, anything that removes the hiccups.

     
  35. Twoonebe

    Twoonebe

    Joined:
    Mar 30, 2013
    Posts:
    174
    Hello Guys,

    a question it is possible to make flying islands with Voxeland and to get near the quality on this screenshot here ?
    or have anyone an idea how can i go this ?
     
  36. magicbananna

    magicbananna

    Joined:
    May 9, 2013
    Posts:
    22
    You can basically Create any type of terrain with this plugin. This is what you are looking for, but keep in mind i only took 5 mins to make this and didn't spend huge time fine tuning.
     
    Blackbox514 and hopeful like this.
  37. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,225
    Can you have multiple voxeland volumes in a scene?
     
  38. magicbananna

    magicbananna

    Joined:
    May 9, 2013
    Posts:
    22
    I dont think you can mate. I tried to do that when i first got the thing, and from memory it didnt work. However I currently have a vast ocean seperating my land masses and i just use an un- generated, voxeland tile as the sea floor. I use it like this.

    Green tiles = terrain that has height actual terrain on it. And blue = completely flat or even sub terrain tile for ocean floor.
    i have them set to roughly the same size as a unity stock terrain. so my current work is huge with big oceans. I was swimm testing the other night and swam straight for 40 minutes and still didnt hit land lol.

    (Not an actual representation of my game map, just an example).

     
  39. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    Yes you can. Just like you can create many terrains in Unity, you can create as many Voxeland Objects as you want and edit them separately.
     
  40. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,225
    Wow that's nice!
    Wow that's nice! Uterrains can't be moved at runtime, can voxeland volumes be transformed at runtime?
     
  41. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,267
    One of Voxeland users, mm_ASH, even made a floating island generator, it is described in this post.

    You can move and even scale Voxeland object - both in editor and in playmode. The only thing you can't do with it is to rotate.
     
  42. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    I'm still hoping for full Tessellation with displacement compatibility with Anio's AAA terrain shader. He now has added control over the brightness, spec, smooth and metal levels over each texture.
    In the bottom on your left is a Unity terrain with Anio's shader.. on your right -Voxeland without tessellation. If the displacement texture shader can work with Voxeland you'll have some pretty amazing photo-realistic scenes..
    upload_2016-5-17_22-58-48.png


    I want to use the shader with Voxeland. Would be amazing for caves etc.. probably repeating myself here.
     
    Last edited: May 19, 2016
  43. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    I have uploaded the video for anyone else to see if you are also having these same issues?
    The video order of issues is:
    1. There are over 100 empty game objects that were created and only 4 of them are actually being used as a real chunk while the others are scattered in random areas in the scene, is this because they are pre-allocating memory for a super large terrain because I would think it would be better to create as you go?

    2. I tried renaming the chunks to identify real ones (used to export them as obj later but the tool doesn't seem to distinguish between real ones and empty ones, should probably fix that and it also renames them back when changed.

    3. Playtesting gives about 400 - 500 frames per second (no Vsync benchmark) and if I export these 4 meshes as static the frame rate easily goes over 1000 in the benchmark so something is taking up the performance, maybe the shader problems?

    4. Shader problem in the video while playtesting you can see black shadows which shouldn't be there, I don't even need these so I want to remove them to save performance. In fact it would be much easier if you could expose the shader variable so I could replace it permanently with my own basic diffuse or triplaner whatever to get that extra performance.

    5. Finally in the video the shader is leaking multiple times on every save....

    This version is 3.1 which works best for me since it allows me to set smoothing on blocks transitioning to minecraft cubes welding smoothly with the included blobs....it's awesome and this was removed in later versions.

    Having some of these fixed could make this tool a very effective level prototype tool.
     

    Attached Files:

  44. AdanGrotesco

    AdanGrotesco

    Joined:
    Sep 26, 2015
    Posts:
    33
    Hi, im trying to enable the rtp compatibility, but the tutorial uses and old version and not work now.

    how is the correct way to make rtp works with voxeland (or mapmagic)
     
  45. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    It seems like the developer has put RTP compatability fix on hold at this time, he's currently working on map magic integration with Voxeland.
     
  46. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,267
    SilverStorm, the old legacy shaders can really have some problems with performance and memory. These days I'm focusing on Unity's standard PBS material only, so if you can use third-party shaders - it's better to prefer them.

    Right. Here are my plans for the next few months:
    - biomes support in MM
    - and then integrating MM with Voxeland
    But maybe I will take a look of a way implementing RTP somewhere in-beetween those tasks.
     
  47. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    I found out how to reduce the number of chunks and now understand why they are there:
    1.Enable benchmark and disable hide chunks in the Debug menu then reload the scene to show changes.
    2.In the settings edit the Terrain Extend value, Default is 256, try 30 and hit rebuild.

    - The default Triplaner Shader had strange shadowing so I changed the shader to Terrain4. (Materials > Terrain > LandShader). That's where to find it in Voxeland 3.1.

    So now the only other issue is the Leaked Shader error.

    When I click save scene I get this message:

    Cleaning up leaked objects in scene since no game object, component or manager is referencing them Material Voxeland/Terrain4 has been leaked 5 times.
    Mesh has been leaked 18 times.


    I have 16 chunks in the scene and 5 of them have voxels in them so that explains why there are 5 leaks. They appear to be coming from the Chunk script regarding an assigned variable.

    Also clicking Rebuild will add another 5 leaks making it 10 so there's an issue there too.
    Fixing this is important.

    I been trying to fix the leak all day but failed!
     
    Last edited: May 20, 2016
  48. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    @Wright So Anio got back to me and said this about his tessellation shader :
    Anio

    Hi,

    Sorry us for delay! We investigated a Voxland and came to the conclusion that this system can't work with Unity's tessellation. This system requires a vertex shader by template "void vert (inout appdata_full v, out Input o)" but tessellation requires a "void vert (inout appdata v)". So in this situation works or only tessellation or only Voxland system.


    Not sure how then tessellation worked with RTP, geometry seemed to smooth out.. although I never got to try RTP with displacement in Voxeland. But if it could be done every part of Voxeland could have highly detailed surface
     
  49. magicbananna

    magicbananna

    Joined:
    May 9, 2013
    Posts:
    22
    Has Anyone figured out how to send terrain modification data and sync it on a network. I'm using PUN, and cant for the life of me figure it out. Spoke with Voxeland Dev. and he suggested SetBlock(x, y, z, type) but I cant work it out.
     
  50. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,267
    I've answered thuis question via email, but then thought that it could be helpful to someone else, so I'll quote it here:

    Okay, here is an idea of how to make it - if you are using authoritative server:

    1. one of the players aims at terrain at a certain coordinates, and clicks to change the terrain

    2. player's client sends server a coordinate of an aimed block, currently selected block type and an action player performed. You can get coordinate using
    Code (CSharp):
    1. Voxeland.Coord coord = voxelandObject.PointOut(aimRay, highlight:true);
    (this will also draw a highlight). And current type is get with a
    Code (CSharp):
    1. int type = voxelandObject.selected;
    A negative value means that the grass is selected.
    The action means if the player dig a terrain, adds a block, or replaces currently existing block with a new one. This is purely depends on you game controls.

    3. server changes it's own terrain using
    Code (CSharp):
    1. voxelandObject.SetBlocks(coord, type, mode:Voxeland.EditMode.add);
    Instead Voxeland.EditMode.add you can use Voxeland.EditMode.dig or Voxeland.EditMode.replace

    4. server sends the changes to all of the clients

    5. all of the clients perform the same change with a terrain that was made on server.

    It is rather primitive way and could be enhanced, but at least something to start with.

    Sounds strange. I've made some experiments with Voxeland tessellation and could achieve some success, but geez, it was 1.5 years ago, so I assume that it's not possible with a new shaders.
     
    Last edited: May 21, 2016