Search Unity

Voxeland - Voxel Terrain Tool

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

  1. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,274
    Use the texture arrays in order to use 24 block types. You can enable them by checking Use Texture Arrays in the foldout with the same name.
    Since HDRP is still in preview, I will wait for things to settle down first. I can't make Voxeland compatible with each and every HDRP change.

    I have plans for implementing low-poly look, but I'm pretty sure I will not make it soon. It's just a plan, I have not researched it to say if it is even possible (for now I can see a problem in vertex count, for instance).
     
  2. RockingGameDeveloper

    RockingGameDeveloper

    Joined:
    May 28, 2015
    Posts:
    18
    Hello, I would like to know step by step on how to draw trees and textures using Voxeland. I tried a tutorial online, but the tutorial was kinda old and it's hard to understand since the tool assets in Voxeland are different in the older version compared to the new version of Voxeland. Please contact me back through a replay or through my email@ Proudguitarist@Yahoo.com
     
  3. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,274
    Hi! You can take a look here (manual: quick start guide + brush settings) to find out out how the textures - aka land block types - should be used. And here (manual: object blocks) you can find the way to add object block types like trees.
     
  4. xkinginthecastlecastlex

    xkinginthecastlecastlex

    Joined:
    Nov 7, 2018
    Posts:
    93
    Hi there,
    is it possible to use all of the Voxeland features during runtime (as shown in the inspector of the voxeland game object - in the evaluation demo)?

    Is Voxeland compatible with erosion brush?
     
  5. LoveIsGentle

    LoveIsGentle

    Joined:
    Apr 25, 2018
    Posts:
    8
    Looking for a voxel system that i can convert into using Hexes instead of blocks. Would this work for that? If not anyone got any leads?
     
  6. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    Maybe take a look at VoxelPlay, some of the new stuff in the beta has instanced mesh geometry that can be placed and stored in the voxel structure so instead of cubes, maybe you can achieve it that way.
     
  7. Darkmalice

    Darkmalice

    Joined:
    Apr 6, 2018
    Posts:
    4
    Apologies if this is mentioned earlier, but I'm trying to sync terrain changes over the network for multiplayer. I know how to serialise/de-serialise the entire Data array, but how would one serialise just one specific block in order to pass that block-type to other clients? And conversely, how to read that into the Data array on the receiving side?
     
  8. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,274
    Inspector is just a wrapper that calls core Voxeland methods, and you can call them directly from your scripts. But obviously you can't display an inspector panel in-game.

    I like the idea, but unfortunately you can't do this with Voxeland. Not even the way to change it to make it work with hexes without re-making everything.

    However it's still places blocks in a cube grid, but just can make custom block shape as far as I can see.

    You can use Data.GetBlock to get a specific block type (byte), send this byte via the net and apply it using Alter.
     
  9. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    lol yeah.. well I dunno maybe they could have 2 different cubes definitions and one that has an offset position, then it would still work with the current grid system i guess?
     
  10. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    558
    Is it possible to convert the voxel terrain into a single mesh?
     
  11. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,274
    If you need a mesh you can use the voxeland object directly. If you need a single mesh you can try combining voxeland meshes with scripts, but you risk to get a problem with the vertex count. You can use only 65K vertexes per mesh, however I've read this limitation was removed in latest Unity versions.
     
  12. Bravojr

    Bravojr

    Joined:
    Jan 28, 2015
    Posts:
    4
    Hey! Tried the evaluation version you have available and Voxeland just looks fantastic for our project. The only thing keeping us from a purchase is the incompatibility with the Lightweight rendering pipeline. I'll be sure to purchase once things have settled down and you're able to make a compatible version. Really looks fantastic, great work.
     
  13. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    @Wright the Highlight & sculpt/paint system seems to be broken in the Unity 2018.3 Release. I completely removed Voxeland,reinstalled, tested the demo scene and also tried adding a new Voxel terrain.
     
  14. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,274
    Haven't tried it with the released version, but it was okay in beta. Will look into it soon.

    Glad to hear you like the evaluation version. Now with the 2018.3 release guess LWRP could be considered more or less stable, so I'm going to make a shader shortly.
     
    ftejada likes this.
  15. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    @Wright I got Voxeland working with Unity 2018.3 .. I'm not entirely sure how it was resolved.
     
  16. yamlCase

    yamlCase

    Joined:
    Apr 13, 2017
    Posts:
    34
    @Wright I've been away for a while, any news on Voxelump?
     
  17. TravicDeLeon

    TravicDeLeon

    Joined:
    Jan 12, 2018
    Posts:
    4
    The evaluation and demo link go to a 404. Is there a way to get these?
     
  18. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    @Wright @JasonBooth ok I finally got to paint water & wetness on Voxeland using Megasplat Vertex painter -everything works except keeping the data that was painted. If I press rebuild on Voxeland anything painted with the Vertex painter is erased. I tried to save the scene and the Voxeland data first before rebuilding.


    It's obvious to to me that Megasplat's Vertex painter can work on Voxeland but something is missing to bake it to the chunk.
    My workflow is like this:
    1.Add Vertex instance streaming component to Voxeland
    2. Press Rebuild on Voxeland to propagate the to all chunks
    3. Disable Voxeland Script so its brush system doesn't interfere with the Vertex Painter
    4.Add the texture array config to the Vertex Painter
    5. Select single texture mode - not that it matters
    6.Select a Voxeland Chunk or select all for seamless painting
    7. make active in Vertex painter
    8. Select wetness channel on paint tab then Paint streams/wetness
    9. disable "active" after painting has finished
    10.Save scene and or save Voxeland mesh data
    11.enable voxeland script & rebuild to test

    This is the only error that results after adding Vertex instance streaming component to Voxeland:
    Code (CSharp):
    1. MissingComponentException: There is no 'MeshRenderer' attached to the "Voxeland" game object, but a script is trying to access it.
    2. You probably need to add a MeshRenderer to the game object "Voxeland". Or your script needs to check if the component is attached before using it.
    3. JBooth.VertexPainterPro.VertexInstanceStream.Update () (at Assets/MegaSplat/VertexPaint/VertexInstanceStream.cs:539)
    This error is likely the error from having VertexInstanceStream added to Voxeland parent/script generator and it causes compile errors which in turn doesn't allow Voxeland to save. I know this because even if I don't use the Vertex Painter, if I still have VertexInstanceStream attached to Voxeland itself anything I sculpt with Voxeland doesn't save. So I believe the solution is this; if Jason could modify the VertexInstanceStream script to have an check box "is attached to Voxeland" or something generic that it disables the warning/is passive about the mesh render. If this were fixed I believe Megasplat would be 100% compatible and everyone could paint puddles, streams, wetness, lava etc Or maybe I could attach a mesh render component to voxeland.. brb gonna test this.

    Update: I didn't receive any errors with mesh render attached and I'm able to paint to any areas of Voxeland without having the chunks pre-selected but unfortunately when I hit the rebuild option, the changes aren't saved. I think what might need to be added is pinning the changes based on changes made under channels such as UV3_Y (puddles) and others UV1_W (wetness), UV2_Z (flow U), UV2_W (flow V), UV3_X (layer blend), UV3_Z (displacement dampening) etc or write the code into Voxeland's Brush to change the channel levels.
    New example:
     
    Last edited: Dec 21, 2018
    Jeremy-Borton and ftejada like this.
  19. taylank

    taylank

    Joined:
    Nov 3, 2012
    Posts:
    182
    Hi, considering this asset for a future project. Is it possible to use an impostor system like Amplify Impostors or GPU Instancer with Voxeland for rendering dense vegetation and other terrain objects?
     
  20. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    I've got Vegetation Studio Pro working with it decently using the raycast terrain component but also I recommend using the asset InstantOC for Voxeland so the land wont be rendered if the land chunks aren't in your camera's view.

    @Wright This brings up another important issue:

    "Native Streaming Occlusion Culling" Please! I'm hoping you'll make a change to the chunk loading using FOV rather than only approximation/distance. This needs a simple option be able to set the number for FOV using raycast and a delay for how long a chunk will be loaded/unloaded. This means only what the camera sees will be loaded and should gain so much more performance that less or no popping of chunks will be seen at greater distances. Its odd, I used unity's occlusion culling and while it does work well without any popping, it however was slower than using real-time calculating asset "InstantOC". Below I'm in VR using tessellated displacement, VSP and Instant OC -performance could be way better. Keep in mind I was also using bandicam recording this video full screen 1920 x 1080


    Also I'm not sure what I did before to get rid of the solid black patches in tessellation mode.. I know Megsplat requires Voxeland to use full high detail and I have that set but its not addressing the issue.
    Update Jan 31/19: I'm not sure if the latest stable Unity resoved the problem or switching on and off deferred mode but the black patches seem to have disappeared.
     
    Last edited: Jan 31, 2019
  21. Timspurgeon

    Timspurgeon

    Joined:
    Jul 28, 2016
    Posts:
    24
    Can I use my unity created terrain height map to generate my terrain in voxeland
     
  22. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    Yes, I do. I think this is advertised on the store.
     
    Last edited: Dec 26, 2018
  23. utharlac

    utharlac

    Joined:
    Sep 25, 2014
    Posts:
    4
    Hello,

    I meant to share this over a year ago; Voxeland+Mm is awesome. A little rough in the implementation but does not take long to get used to.

    The most common “issue” I had with MM+Voxeland was the additional noise that gets generated. IE; very difficult to get smooth, flat, areas.

    I was able to gain control of this issue and wrote some handy MM nodes that allowed selective control of this noise from within the graph.

    Examples:
    Before / after
    https://drive.google.com/file/d/1pbBlYJhr1U6uVvYULGt7wJXIPaUYiJX7/view?usp=drivesdk

    Usecase: craters
    https://drive.google.com/file/d/1sqbKDRGlrGbghD9t1BQ3SUH9YEO6dIbn/view?usp=drivesdk


    When I’m back home I’ll see about posting the scripts for the nodes- hopefully there’s interest :D

    For the bold: MM output height needs to be clamped to the _nearest_ valid voxel height. Something like this:
    out_height = floor(in_height * Max_Height) / Max_Height

    Convert the 0-1 height to voxel (by default the max height is 256 iirc), then normalize back to 0-1 value

    (Sorry if image links do not work, posting from phone is weird)
     
    EnriquePage91, Chemanel and mfleurent like this.
  24. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,274
    It's still a concept. I will look into it once I'll finish with MapMagic 2.

    Thanks for letting me know, I'm sorting out this problem with my site host provider.

    This happens because Voxeland re-builds the changed chunk from scratch, with absolutely different vertex data (and vertex order and number). Unfortunately there is no way to store any vertex information like UV since the mesh topology is changing with every brush click.

    Do you mean frustum culling? There's no need to add it because it's already implemented in Unity and works by default. Btw describing it you forget about shadows - if chunk disappears when it's not in frustum it will cast no shadow to the visible area. So the frustum culling algorithm is rather complex thing.

    Yes, you can export .raw heightmap and use it to generate Voxeland terrain.

    Yes, Voxeland adds some noise when rounding float values received from MM. Here is the data script that just floors these values - it has no noise effect.
     
  25. utharlac

    utharlac

    Joined:
    Sep 25, 2014
    Posts:
    4
    @Wright I believe you may have misread my message, the noise IS desirable under certain circumstances.

    If you look closely at the 2nd screenshot I posted; you’ll see the green terrain is using floored values, where as the brown craters are allowing the natural noise to pass through.

    Flooring the values in Data.cs would remove the ability to select the noise during MM generation. Make sense? :)

    Here are a couple of MM nodes that have helped me.
    Voxel Constant: similar to Constant node but instead takes whole numbers.
    Voxel Conform(terrible name): takes an input height and floors it to nearest voxel height.

    Heh, It’s been awhile since I’ve looked at this code. I know how to make it a lot more generic now.

    Happy Holidays Friends,
     
  26. utharlac

    utharlac

    Joined:
    Sep 25, 2014
    Posts:
    4
    @taylank
    I recently integrated amplify imposters into my project. Since Voxeland places Prefabs for object blocks it’s totally possible. Just setup your prefab w/LODs (I’m sure there’s documentation available somewhere, it goes out of scope for this discussion)

    Initial results have been very promising. On a side note, be careful with the amplify imposter settings. If you use the max size texture (8k) you can easily consume a lot of space. For example, using 8k produced 6 baked files ~330mb each. Where 4K produced 80mb files and 2k produced 40mb files.

    The settings you choose to go with should coincide with your design: how far can a player naturally see?

    Good luck :)
     
  27. Sholms

    Sholms

    Joined:
    Nov 15, 2014
    Posts:
    84
    Hello, Im using GPU instancer for the glass and trees in mapmagic, and I want to buy this asset but I dont have idea if gpu instancer support the voxeland, can someone help me?
     
  28. taylank

    taylank

    Joined:
    Nov 3, 2012
    Posts:
    182
  29. Chemanel

    Chemanel

    Joined:
    May 6, 2015
    Posts:
    13
    @utharlac

    WAW ! I must say i'm impressed ! I had bought this asset 1 year ago and put it aside because that was the exact problem that blocked me ! I didn't liked at all how the noise that was generated because i couldn't make flat areas ...

    My plan was to make a desert based world where you could drive cars (mad max inspired) and that noise was creating problems either visually and mechanically (cars were not really driveable with all those holes and bumps in my tests and visually it didn't make sense for a desert).

    I though to give it a try again after all this time because maybe the updates will have solved this... and here you are ! It must be fate ahah ! I think that your mod will solve most of my problems !

    Could you explain quickly for the neophyte that I am how to implement your changes? I tried to copy paste the data.cs file and create the GamaMapMagic.cs you linked but then i got compilation errors.

    Again, great work and great modification you got there, this will help me greatly !
     
    Last edited: Dec 25, 2018
  30. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    The culling part (if already automatically integrated) doesn't work with Voxeland. only the distance clipping & chunk loading works by default. I've had to use the asset InstantOC and I get double the frame rate but there is a bit of overhead and can sometimes be twitchy (popping) with many thinks to control but can tuned. I've tested Unity's OC and it actually reduces performance compared to InstantOC but is tuned for no popping. Instead of filling the screen with all of my terrain (and I do need to see distances) what I suggest is setting setting up your chunk loading via FOV & Distance rather than only distance and I could still use InstantOC for Occlusion Culling & shadows on closer objects with a smaller raycast/footprint. You could make FOV chunk loading be bypassed for a closer range behind the character in order to cast shadows up to 30 ft away or less etc

    The automatic Frustum Culling is only likely when people bake with Unity's Occlusion Culling otherwise we would always see Voxeland in the editor like this (taken from Unity's Manual):


    Having chunks "load" like this Via FOV in the editor will also help performance in the editor, especially for making larger or more complex scenes.
     
    Last edited: Dec 26, 2018
  31. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,274
    Sorry if I missed something, and thanks for sharing those nodes!

    It should work for trees since they are common prefabs. But the grass is combined in one mesh anyways, so there's no reason to use instancing. But you can make "grass" trees if you'd like to by using an object/tree block type as a grass.

    I guess I've got to fiddle with InstantOC to realize what you are saying. Actually frustum culling is the part of the engine, and it has nothing to do with the occlusion culling. However I assume there might be the other "FOV & Distance" culling in terms of InstantOC.
     
  32. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    Your example looked correct but doesn't seem to reflect that in the editor or game view visually or add the performance.. all chunks ideally outside the Frustum shouldn't be loaded. Using VR for example the Vive has a FOV of 90.. but stream culling would need an FOV of 100 or so to compensate for chunk loading/unloading & rendering and a chunk loading/unloading delay of 30 or so it stays on screen a bit longer when the character looks around. Ideally the distance of one chunk should/could be loaded directly behind the character so it can still cast shadows within the characters's immediate area.
     
  33. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    @Wright - Is there a way to remove the surface smoothness? I like the relaxing feature, but I'd like to make the terrain look low poly. Like the image below. So in other words, I'd like to keep using the relaxing feature so I can relax the surface, but make it appear (low poly).

    upload_2018-12-27_21-48-37.png
     
  34. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    So would the only solution to this be something you would do at the very end (no more sculpting/rebuild button? what ever is in memory I think voxeland should use to rebuild the data from.. if I painted wetness on the terrain and I saved the scene then reopen the scene, if the data is still there I think the rebuilding data should take from the last state -the scene it was saved to.. sorry just ranting.. and trying to understand.
     
    Last edited: Dec 28, 2018
    N1warhead likes this.
  35. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,274
    Unless there's a special shader for that - no. You will need the per-triangle vertex data, while Voxeland "welds" verts in the early calculation stage. However if it's shader - let me know. I haven't looked the way it could be done by shader yet.

    Unfortunately you can't cache some chunk data - or this data will take even more memory than the final result.
     
  36. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    Maybe if you did make it optional consider it Super HD Voxeland mode for the HDRP.

    I didn't realize that DX12 and Vulkan are allowing Multi core CPU & GPU and additionally Multi GPU support -better than SLi ;DX11 and earlier. I was using DX11 all this time. I understand that adding Burst support maybe require Voxeland a major rewrite as well but all this with FOV oriented chunk streaming & Occlusion culling may remove the burden of managing more memory. I'm trying to do photo-realistic VR and I have the hardware to handle it and my target market has it or will have it soon. Well all i can say is that I hope you try if you have time.. have the rebuild incrementally/asynchronously get/replace any individual chunk saved in the scene that changes if possible.
     
  37. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    @corjn,
    Hi there, I saw your post on the asset store about what you did to fix the "2 errors".

    One error was as you said "UnityEditor.EditorUtility.CompressTexture(tmpTex, dst.format, TextureCompressionQuality.Best)" but the other one is "UnityEditor.EditorUtility.CompressTexture(src, dstArr.format, TextureCompressionQuality.Best)"

    and replacing that with your change gives two more errors. Is there something I'm missing?
    Thanks for your help.
     
  38. Bodyclock

    Bodyclock

    Joined:
    May 8, 2018
    Posts:
    172
    Hi All,
    I am using Voxeland as a potential replacement for Map Magic. Is it possible to use a heightmap, either through Map Magic texture input node or Voxeland heightmap input to generate Dynamic Infinite terrain similar to Map Magic?
    I have a terrain that works fine in Map Magic using a Texture Input for the height map as a base to the apply various nodes to as per the Map Magic tutorial. But I try the same in Voxeland but no terrain generates. It generates if I set it to Static.
    If I can't generate an infinite terrain (albeit practicaly limited by the extentents of the heightmap) I've pretty much wasted my money. Hopefully I'm missing something.
     
  39. digimbyte

    digimbyte

    Joined:
    Jun 23, 2012
    Posts:
    58
    Hey @Wright - I'm interested in utilizing Voxeland for my Unity project, but I am concerned about the features and behaviours I desire aren't natively supported.
    my project has the idea of an editable sandbox surrounded by seamless infinite terrain.
    At its core, I want to define what the boundaries are, the XYZ offset and then blend the bounds of the area with a pre-configured terrain.

    I heard I might look into megasplat and allowing that to be edited by players while the surrounding terrain is dynamically generated.
    the problem I also face is that it is an online game and I only want to store the main sandbox area data, it would be redundant to share the infinite terrain.
     
  40. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,274
    Do you really mean replacing MM with Voxeland, or just want these two assets work together? Voxeland has it's own generators (partly inherited from MM), but they are rather simple and could't be compared to the features MM offers.
    If you have an issue generating Voxeland terrain using the heightmap could you please email me the exact steps to reproduce it? Just briefly tried it in dynamic limited mode, and it's seems to be working.

    That sounds feasible with Voxeland. You can generate the central area, sculpt it the way you like and let the other world be generated automatically. This is exactly the way Voxeland's demo scene work.
    In addition, you can try the evaluation version to find out if it's really possible and could be done the way you like.
     
  41. Bodyclock

    Bodyclock

    Joined:
    May 8, 2018
    Posts:
    172
    @Wright Thanks for the reply. I have been using MM for terrain generation over a large area (64km x 64km) and am generally very happy with the flexibility, but was looking for something with a dynamic LOD system (MM2 is a while coming ;)) so I was looking at Voxeland.
    I had more time today to evaluate Voxeland and was able to get Dynamic Infinite mode working with a height map through MM, so no issue there now. Still having a few issue setting up the LOD system how I want it. At the same time I've been evaluating Ultimate Terrains which has a very good LOD system. Basically I can get my whole 64km x 64km into the LOD system and run at 900fps on low settings (see image). Not that I need that necessarily but it does mean my vistas are very nice :)

    Map.png

    I would like to do similar with Voxeland but the settings don't seem do what I expect. Do you have any recommended settings for this use case? Height map is only 2048k.
    The other issue I'm having with Voxeland is the artifacts (see below).

    Vox.png

    These are not caused by pixels in the heightmap as each pixel is 32m, and they are not visible when the first LOD ends at the top of the hill. I've tried the Polish option with only a small improvement and the Relax settings but the higher I go with those, the more seam gaps I get and the result is still not satisfactory. Is the size of a voxel changeable? Would that help?

    I really want to use MM and Voxeland as I can do so much with the MM generators. uTerrains is a nice product and now back in active development but it lacks the generator features of MM (and has no floating origin option at the moment) but V5 is imminent with a host of new features apparently. They say competition is good :)
    Hope you can help.
     
    Last edited: Jan 16, 2019
  42. digimbyte

    digimbyte

    Joined:
    Jun 23, 2012
    Posts:
    58
    Thanks, I've tried the eval version, all features work minus building the project, correct?
    I have messed with some of it, and I am liking it so far however I have some questions.

    I was wondering if there are some smooth settings I can set for blocks, so some meshes are hard/cube while others are melted and smooth, trying to create a soft beach incline has been difficult.

    Also, is there a terrain mode where individual blocks aren't monitored for type but simply painted?
    I'm mostly interested in it as a purely cosmetic terrain that gets sculpted and painted, currently digging and building has the potential of being messy as different blocks are revealed.

    lastly, I did find a small issue where smoothing terrain near the border or level 1 height actually deletes the terrain instead of smoothing it, I believe it calculates the smoothing by the emptiness below/around it instead of assuming the edge as continuous.
     
    Last edited: Jan 17, 2019
  43. Bodyclock

    Bodyclock

    Joined:
    May 8, 2018
    Posts:
    172
  44. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,274
    Try using this file (replace the previous Data.cs)

    Unfortunately you can't set per-block smothness...

    Well, actually type IS already a paint information. Any single block has no data at all except it's type - otherwise the size of the data should be enormously huge. If you want to paint terrain only then can use the replace mode.

    Do you mean near the border of the chunk (32 units in size), or the border of an area (512 units)?
     
  45. Bodyclock

    Bodyclock

    Joined:
    May 8, 2018
    Posts:
    172
    Thanks for looking at this. Close, but no cigar (see image) :) Is this related to the floating point precision I mentioned previously?

    Step.png
     
  46. twodave

    twodave

    Joined:
    Sep 26, 2016
    Posts:
    24
    Hi @Wright .

    Just wanted to check that the correct way to scale voxel resolution is to adjust the scale on the Voxeland game object. I had reduced it to 0.25,0.25,0.25 and increased world gen as a consequence (including fiddling with heightFactor to get the vertical world size to something more grand). This seemed to result in random bottom-to-top land artifacts that would not always be visible depending on camera angle.

    I'll try to get a screenshot in a bit, but I just wanted to check hacking on heightFactor to say 2048 and the scaling of the Voxeland object is the correct way to do finer resolution.

    Thanks :)
     
  47. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,274
    Do you mean the "stairs" effect? Note that Voxeland is still consist of blocks, like Minecraft, no matter that these blocks are smoothed out. You can try raising the Relax Iterations value, but all in all you can't get perfectly smooth surfaces with block engine.

    Scaling Voxeland down should be fine. Seems like the generator error. Are you using MapMagic or vanilla Voxeland?
     
  48. twodave

    twodave

    Joined:
    Sep 26, 2016
    Posts:
    24
    MapMagic. Both updated recently, in Unity 2018.3.1f1. The terrain being generated is a fairly simple noise form with a large size set, just to give some basic sense of how things would scale. Image below of the spikes in the distance. These disappear if the mouselook is pointed upwards enough. At a glance it looks like stale data but I'm sure I've forced rebuild the right way.

    . voxeland5-terrain-errors.png

    EDIT: I found turning off the Horizon mesh removed them entirely. I may have mucked something up about it. But that's what is producing the huge spikes. Do I need to adjust the paramters of the horizon mesh when rescaling the main voxeland object?
     
  49. softadmin1

    softadmin1

    Joined:
    May 27, 2018
    Posts:
    3
    Can we edit existing terrain?
     
  50. Bodyclock

    Bodyclock

    Joined:
    May 8, 2018
    Posts:
    172
    @Wright "you can't get perfectly smooth surfaces with block engine." Well, that hasn't been my experience with other engines, but I liked the MM generator functions. :(