Search Unity

  1. We're looking for feedback on Unity Starter Kits! Let us know what you’d like.
    Dismiss Notice
  2. Unity 2017.2 beta is now available for download.
    Dismiss Notice
  3. Unity 2017.1 is now released.
    Dismiss Notice
  4. Introducing the Unity Essentials Packs! Find out more.
    Dismiss Notice
  5. Check out all the fixes for 5.6 on the patch releases page.
    Dismiss Notice
  6. Help us improve the editor usability and artist workflows. Join our discussion to provide your feedback.
    Dismiss Notice

Voxeland - Voxel Terrain Tool

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

  1. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    897
    I guess it's worth trying to blur the grass layer - just a little bit, 1-2 iterations and amount 0.333 - to remove those protruding blocks
     
    Dwight_Everhart likes this.
  2. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    178
    Thanks! :)
     
  3. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    322
    @Jeremy-Borton
    Update: I'm testing out "Unity FBX Exporter" so far it does export everything possible to export and keeps the position of chunks and other meshes etc however - I did get errors on the texture output of Voxeland but the author is looking into it (believes the error is in his code) and hopefully soon it will get the textures from the Voxeland shader. I'm hoping that it will get the textures from the Megasplat integration as well but will have to test this later when @Wright is able & ready to release the update.
     
    Last edited: Jul 18, 2017
    Jeremy-Borton likes this.
  4. Jeremy-Borton

    Jeremy-Borton

    Joined:
    Oct 21, 2015
    Posts:
    38
    You wouldn't believe it, but I just bought the Unity FBX Exporter as well and have been testing it out tonight before you just said that...lol
    I found Megasplat can save the meshes, but only one at a time, and it's way to slow for all 100 that I have in voxeland...
    So yeah, the Unity FBX Exporter works very well! The only thing is, it'd be nice if I could save the texture data, or splat data or whatever is painted on it. I also found out that Megasplat's script that it places on Voxeland Chunks when trying to paint on them...kinda messes things up. Haven't been able to use a splat painter on voxeland yet. I also had to update to Unity 5.6.2 just to use megasplat.

    Let me know when you can get texture data as well from voxeland...It didn't quite work yet for me, as you said.
    I also would very much like to know how to integrate megasplat with voxeland so that it works...if only there was a little video of integrating it. :)
     
    Last edited: Jul 18, 2017
  5. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    322
    Voxeland doesn't have Voxeland support at all yet, this is a request I've been asking about since Megasplat was released but thankfully Denis has announced that he is now focusing on the integration and has been working hard at it for a while now.
     
    Jeremy-Borton likes this.
  6. EvansSoftware

    EvansSoftware

    Joined:
    Apr 3, 2017
    Posts:
    53
    @Wright
    Will you be updating the documentation at any point? I noticed that both the Map Magic and Voxeland documentation no longer match the current versions and there is very little other than a single video to demonstrate what you can do with the MapMagic/Voxeland integration. As much fun as trial and error is I would appreciate some documentation updates as I delve back into modifying the Voxeland code.
     
    Dwight_Everhart likes this.
  7. Supgarn

    Supgarn

    Joined:
    Apr 27, 2017
    Posts:
    22
    @Wright
    Why when i add Voxeland 5.0.1 to MapMagic 1.8.2 i will get 210 error . how i fix it .
    [​IMG]

    Thanks
     
  8. Shockwolf

    Shockwolf

    Joined:
    Oct 11, 2016
    Posts:
    11
    @Wright

    I PM'd you 3 times in the last month... Has your inbox evaporated or something? o_O
     
  9. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    897
    Shockwolf, sorry, but I hardly ever check the new messages. In case you want to contact me please use my official publisher's email.

    Supgarn, are you using MM or Voxeland beta version from GitLab?

    EvansSoftware, I plan to focus on documentation right after MM release 1.8.3, it will happen in next couple of days. I'll start with the MM wiki page, and Voxeland wiki will follow.

    I don't really know the better way Voxeland can support Voxeland than it already does :)
    Right, MegaSplat integration is in my to-do queue, but I don't know ETA though.

    Jeremy-Borton, thanks for testing Voxeland with FBX Exporter!
    I'm afraid that native Voxeland texture channels format is rather complicated and could be used only with Voxeland shaders, BUT you can switch it to the standard color channels (r for channel 1, g for ch2 etc) by enabling "Color Channels (RTP Mode)" in Settings.
     
    Jeremy-Borton and Ascensi like this.
  10. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    322
    Ha! you got me there. I must have posted that before being fully awake. I meant that Voxeland doesn't have Megasplat support yet :)
     
    Jeremy-Borton likes this.
  11. Shockwolf

    Shockwolf

    Joined:
    Oct 11, 2016
    Posts:
    11
    Has anyone managed to successfully set up a means of Saving and Loading in game changes to the Voxeland terrain?
    And if so how did you go about it and could you provide some example code, please?

    Thanks in advance. :)

    Fair enough and thanx Wright!
     
  12. EvansSoftware

    EvansSoftware

    Joined:
    Apr 3, 2017
    Posts:
    53
    Use the FromByteArray and ToByteArray functions on the Data object to get the data to save/load. After loading clear the chunks to force the re-build.
     
  13. Nitrox32

    Nitrox32

    Joined:
    May 9, 2017
    Posts:
    5
    First, I'm new to MapMagic and Voxeland 5. I created a world using MapMagic from the youtube tutorial. I would like to add a Voxeland terrain to this world. I looked at the video on how to combine MapMagic and Voxeland but it does not explain how to use VL inside MM. Any direction would be helpful. Thanks!
     
    Jeremy-Borton likes this.
  14. MarkusGod

    MarkusGod

    Joined:
    Jan 10, 2017
    Posts:
    58
    Create voxeland terrain and add voxeland output node to the mapmagick graph.
    What exactly do you meen when "how to use VL inside MM", cuz the workflow pretty similar.
     
  15. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    897
    Here is an article about Voxeland serialization. Yep, it has code examples.
    Just duplicating email answer here in case someone else will find it useful.

    Nitrox32, It works in a bit different way: you don't substitute the standard terrain with Voxeland in the MapMagic scene, but use MapMagic to generate land for Voxeland. So first of all you have to create Voxeland terrain, and then set up it's generator using MapMagic graph - you do not need to create MapMagic object or add MapMagic component at all.

    Keep in mind that since Voxeland is a 3-dimensional voxel terrain it requires the other generate approach rather than standard heightmap terrains. It uses it's own Voxeland Output (not Height and Texture Outputs). In most cases this means that your MapMagic graph that works fine with the standard terrains will not work with Voxeland without some deep changes. I really recommend you creating a new Voxeland-focused graph instead using Voxeland as a terrain engine.
     
  16. EvansSoftware

    EvansSoftware

    Joined:
    Apr 3, 2017
    Posts:
    53
    This is why we need the updated documentation. I had the same issue of trying to figure out what parts of MM from the tutorials were still relevant. Initially I thought I could just change where MM created the output layers with Voxeland output but it looked truly bizarre. I am guessing features like the Shore generator don't work with Voxeland but there is no documentation stating that. To prevent objects appearing in water I ended up modifying the code to add min and max heights for the Voxeland objects, no idea if there is a way to do it without coding. Currently we only have the one simple video of using MM and Voxeland which is based around creating caves, what would be good is a similar tutorial to that produced for MM (Island tutorial for example) but using Voxeland outputs.
     
  17. kulesz

    kulesz

    Joined:
    Jul 1, 2012
    Posts:
    103
    Two questions:
    How large a single terrain can be (with reasonable performance and serialization time on modern PC). Is 2000x2000 meters ok?
    How well does it perform with custom shaders, for example DX11 Low Poly shader from Asset Store?
     
  18. Weblox

    Weblox

    Joined:
    Apr 11, 2016
    Posts:
    121
    Hi every buddy,

    @Wright I just discovered Voxeland and I like the trailer a lot.
    Can you please make some in depth video tutorials on how to use the plugin? Can Voxeland be used by Players to change/modify Terrain ingame at runtime and does it come with a solution for that? Since I am still not an expert in Unity I am relying a lot on easy Integrations provided with the Assets from the store. Does Voxeland have easy Integrations for Third Person Controllers (Opsive, Invector, Ootis...) ? Can it work along with Assets like EBS: Easy Build System and does it give us an easy to setup Save/Load System like the one included in EBS (save to external file) ?

    Thanks a lot. ;)
     
  19. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,215
    How is the Megasplat support going on?
     
  20. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    897
    kulesz, if you switch your terrain mode (both editor and playmode) to dynamic mode you can have a terrain that big. However, the whole terrain will not be displayed, it will build as the camera comes closer to the new chunks. If you are using auto-generator for your terrain and do not plan to sculpt everything by hand I'd like to recommend you using "dynamic infinite" mode. In this case you can have a much bigger terrain (not actually infinite, but extremely big). It will not only create terrain meshes when you approach them, but will generate the whole terrain from scratch, not keeping the terrain voxel data in memory.

    I didn't look into Low Poly shader, but I doubt that it will work out of the box. Voxeland meshes require some specific vertex information like colors (or alternatively uv1-4) to blend textures and apply ambient, I doubt that shader can handle it.

    Weblox, Voxeland terrain could be changed in playmode.

    I have not tested Voxeland with all of the third person controllers, but I guess there should not an issue with them since Voxeland internally use the standard mesh colliders. Can't say the same about EBS, actually don't have clue if it will work. I can provide you with a Voxeland copy so you can test if it's compatible with the assets you use (email me for that).

    RandAlThor, after I'll submit new MapMagic version in a couple of days I'm going to update all of the documentation (both MM and Voxeland) I plan to return to MegaSplat integration to my products. Unfortunately, don't have ETA yet.
     
    Weblox likes this.
  21. Weblox

    Weblox

    Joined:
    Apr 11, 2016
    Posts:
    121
    @Wright
    Awesome! PM/Email is out. :D
    Thanks a lot for your great support!
     
    Last edited: Aug 6, 2017
  22. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    365
    @Wright Would it be possible to have a 2k by 2k terrain that is not dynamic? I need it fully loaded for servers to have the collider. Clients are fine having it clipped to camera. Because its a server though, I don't really care about the graphics side of it or the resolution, as long as the collider is accurate. Could that be something achievable in Voxeland?
     
  23. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    897
    Theoretically there's nothing prevents you from creating 2K*2K (it will be 2010 with the default chunk size) Voxeland terrain except the performance and build time.

    Just tried creating a static terrain so big, it took more than 3 minutes to generate it on 3 cores, 4500 batches and 60 millions tris. It's definitely better use dynamic terrain for clients in this case, but at least it's possible.
     
  24. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    365
    Hmm that wouldn't be acceptable performance for us, so unfortunately we'll have to pass. It seems voxel based terrain just might not be something we can accomplish for our multiplayer needs.
     
  25. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    897
    I just mean that you could use static terrain on the server side only, where batches and other graphics stuff are not a problem (you can have no camera to avoid rendering anything). As well as generate time - the server has to generate the terrain only once after being turned on.

    At the client side it's better use dynamic terrain that builds new chunks when player comes to them. There will be no graphic overload more than in demo scene. Voxeland will build exactly the same terrain as in static mode, with the only difference it will not be build at once.
     
    Exbleative likes this.
  26. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    365
    I understand, but we allow self host servers, and adding 3 minutes additional load time isn't something we want.
     
  27. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    365
    For the server, is it possible to specify the areas that will be loaded? And not have it based on camera position, since it will be multiple areas and in different locations. Basically thinking if I could have it mostly around the location of players, then perhaps I can work around not having a static terrain on the server.

    I would have to be able to add/remove those locations at runtime though as players connect/disconnect.
     
  28. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    897
    You can generate the terrain around any objects with some particular tag (just enable it in settings). You can tag characters, this will make the the terrain created around them automatically.
     
  29. Weblox

    Weblox

    Joined:
    Apr 11, 2016
    Posts:
    121
    Hi @Wright ,

    thanks a lot for the chance to try out Voxeland in my current Project. Here is some feedback about first impression. ;)

    From the first look at the demo Scene I have been really impressed. The terrain and Nature is really beautiful, especially ground and rocks are very natural.

    On opening the Demo Scene I do get an error message . It can be cleared, but will return on when opening the Scene again
    .
    ArgumentNullException: Argument cannot be null.
    Parameter name: key
    System.Collections.Generic.Dictionary`2[UnityEngine.Transform,System.Collections.Generic.List`1[Voxeland5.ObjectPool+Instance]].Add (UnityEngine.Transform key, System.Collections.Generic.List`1 value) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:391)
    Voxeland5.ObjectPool.OnAfterDeserialize () (at Assets/Voxeland/Main/ObjectPool.cs:339)

    Edit in Playmode is working fine except adding grass (with "Edit In Playmode" ticked on.)

    When selecting the grass tool with numberkey, remove grass is working as expected, but adding grass at playtime only works if the grass block is selected in Inspector window (on Voxeland GO)

    Note: adding Object Blocks and Light Blocks does only seem to work with "Edit In Playmode" ticked on in Settings - changing Land Blocks at playtime does also work when this Option is turned off.

    Using Voxeland with Third Person Controllers does work as expected but needs some Optimation to make its usage really comfortable. Mainly it needs a robust GUI - Toolbox to control the Voxeland blocks and brushes.:cool:

    GUI Tool-Panel :
    • select Brush size
    • select Tool (add/dig/remove/smooth/remove fragments)
    • select Object/Land Block (scrollable/with Categories - automagically added to GUI
    • Option to show/hide mouse Pointer when open/close GUIToolbox
    • Enable Voxeland Brush with GUIToolbox / Disable through rest of the Gameplay.

    To make full use of Unitys Event System, that you have integrated in the Demo UI, it would be nice to have
    • Options to access Save/Load/ClearSavedSlot Functions through Unity.Event System
    • Options to access more Voxeland Functions through Unity.Event System
    It seems Voxeland does not work "out of box" with the EBS System, as the EBS Terrain Manager Component does not recognize the Voxeland GO as Terrain.
    • The Author of EBS is currently working on Version 3.0 and after quickly talking back to him on the Forum, he has put Voxeland Integration on the List for V 3.0. ;)

    Maybe you can share some tipps and tricks for a stable ("out of the box") Integration ?

    I have put Voxeland on my Wishlist for sure and I am hoping you can help with Integrating in Third Person Controllers and EBS Easy Build System.

    Thanks for all your support and keep up the good work. :D
     
    Last edited: Aug 11, 2017 at 5:07 AM
  30. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    897
    It's nice to hear you've liked Voxeland (at least enough to add it to your wishlist).

    I'd like to clarify some things about your feedback if you don't mind:

    Are you using pre 5.4.5 Unity version?

    I admit there could be a confusion in demo scene - the grass is added with Alt pressed, and it's added to the top level only (it could not be added to caves). So it might seem that the grass is not adding in some cases. And yes, grass should be selected in Voxeland object to be added - but it's common for all other blocks.

    I have not tried EBS yet, and I've got assets I've already promised to integrate first like MegaSplat. So I unfortunately I don't know when I can look into it. But, of course, I will provide EBS author a Voxeland voucher if he wants to.
     
  31. Weblox

    Weblox

    Joined:
    Apr 11, 2016
    Posts:
    121
    Hi @Wright ,

    I really do. The beautiful terrain it delivers is worth a further look itself, while the great features really get me excited about it. With my limited budget I might have to wait for a Unity sale. :D

    I did run Voxeland on Unity 5.5.1f1 and can test again on Unity 5.6.1f1. :p

    I will try and run a test again. I have discovered Placement with Alt pressed , but havent noticed the "inside cave" limitation.

    This is where it gets confusing. I totally understand that workflow when using Voxeland at Designtime. The Designer selects Voxeland GO in the Hierarchy then selects the Grass block in the Inspector window and the grass will be correctly added.

    However , when using Voxeland at Playtime (Runtime) to be modified by my Players they are not able to select the Voxeland GO or the Grass Block in the Inspector. :confused:

    They should use the numberkeys instead to the select the Grass/Land/Object/Light Blocks or the GUI Toolbox . The GUI does not work in the Demo but numbers do - except the grass block. ;)

    Again this is beyond generous and I will talk back to the Author to let him know about your offer. I really hope he will take the opportunity and get in touch with you soon :cool:
     
    Last edited: Aug 13, 2017 at 8:49 AM
  32. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    322
    I'd like to overlay a heightmap across the entire terrain to imprint/stamp trails - is this currently possible? Maybe a heightmap draw tool tool could be created like splat map creation works.. draw out the height map and use different drawing brushes. This would be cool if megasplat could be used to tap into this and maybe it's just a change of a few lines of code -that way at least all your painting/texturing tools are already available.
     
    Jeremy-Borton likes this.
  33. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    897
    Do you mean some sort of mask that is applied over all of the terrain that multiplies brush value?
     
  34. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    322
    Sort of.. How about in addition to importing a heightmap image, the grey scale image be used/written to as a splat map that becomes a dynamic mask - a mask that can be both imported and edited/painted further or created from scratch just by painting areas either on the terrain or a 2d window of the image mask.

    I think this method might have to be connected to a generator with an opacity field rather than a brush.

    This would likely work well with the Cave creation method but in this case the ability to paint and or assign the greyscale image to the noise filter to get/create specific patterns that would be come walking paths and wide open spaces. Perhaps if the noise filter could connect to one of the ideal channels in megasplat to paint a heightmap then this would be pretty awesome.. by default megasplat wouldn't use/create a global heightmap for meshes other than effecting the height information for displacement textures I believe @jbooth but maybe Jason may have something, a channel that could work?

    upload_2017-8-15_22-34-20.png