Search Unity

  1. Full schedule for #UniteBerlin is now available! Featuring talks on our roadmap, hands-on labs and much more! Check it out!
    Dismiss Notice
  2. Unity 2018.1 has arrived! Read about it here
    Dismiss Notice
  3. Scriptable Render Pipeline improvements, Texture Mipmap Streaming, and more! Check out what we have in store for you in the 2018.2 Beta.
    Dismiss Notice
  4. ARCore is out of developer preview! Read about it here.
    Dismiss Notice
  5. Magic Leap’s Lumin SDK Technical Preview for Unity lets you get started creating content for Magic Leap One™. Find more information on our blog!
    Dismiss Notice
  6. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Voxeland - Voxel Terrain Tool

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

  1. neuroTrophy

    neuroTrophy

    Joined:
    Jan 22, 2015
    Posts:
    11
    Hello,
    I have a few questions regarding Voxeland and/or MapMagic.

    1) Would there be a way to place voxels just given a Vector3 position? I have a class that contains list's of coordinates in 1 unit increments which form voxel versions of objects (humans, animals, etc.). I would like to "place" voxeland blocks at each of these coordinates. My plan is for all voxels to use the same block type (I am going for big stone statues). I see that the current Alter method requires the CoordDir structure and raycasting, though ideally, I would like to place a prefab object with my own generator class attached into the scene at runtime (using MM) and have it add the blocks on start.

    2) I see that Megasplat is compatible with Voxeland now, and is also compatible with MM, though can all three be used together? If so, could we have some sort of tutorial, because when I try to add the Megasplat output node in MM for my Voxeland terrain (using a Voxeland MM generator) it throws errors and doesn't bring up the typical Megasplat node that we see if using a standard MM terrain.

    3) Would it be possible to adapt the forest feature from MM to work with Voxeland trees? What is the major difference between the Voxeland trees and standard MM trees? And can I just use the MM trees in Voxeland (my testing tells me no, but it can't hurt too ask)?

    Thanks,
    P.S. Your assets are amazing.
     
    Last edited: May 9, 2018
  2. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,260
    Than I have to look into it once I'm done with MM2.

    Yes, you can set the block at given coordinates with Alter method.

    MapMagic just generates the heightmaps (and other maps) for Voxeland. You don't have to use the MegaSplat output nodes in MM, use the standard Voxeland node, but Voxeland object itself should have MegaSplat set up:


    Sure, just output these trees with Voxeland Objects Output node.
    There's no such thing as MM trees, MapMagic uses the standard terrain tree feature. It works with the standard terrains only and could not be used with Voxeland.
     
    Ascensi likes this.
  3. DavidGon

    DavidGon

    Joined:
    Apr 17, 2018
    Posts:
    8
    Hi guys!

    Anyone knows if this plugin support the new High-Definition Render Pîpelane? Or in the future it can be used?

    Also is posible to export this terrain in fbx with materials?

    Thanks a lot! =)
     
  4. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    464
    It can be exported to FBX with third party plugin but as far as exporting with materials this developer is focusing on other enhancements/additions at this time and may or may not take on the ability to export painted Voxelands. The developer of the asset "Unity FBX Exporter" is or in the near future will be adding the ability to export textures from Voxel based terrains but there is no ETA. About the High-Definition Render Pipeline - I can't answer that one.
     
  5. Barid

    Barid

    Joined:
    May 4, 2015
    Posts:
    1
    Quick question... Brand new Voxeland customer and I apologize if this has been asked already in this thread.. But is there/will there ever be a function to increase the voxel count beyond the scale of 1 voxel per world unit? Thank you.
     
  6. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,260
    You can export meshes, but you will need a special shader to apply material (textures) properly. If meshes is the only thing you need you can use something like this.

    OMG, it costs more than Voxeland, does not support animations, and works on Windows only. And still it will not apply textures properly since it is the matter of shader rather then mesh file format.

    Have not tested yet. But sooner or later I will have to make it compatible with HDRP.

    It's done by scaling the Voxeland object down.
     
  7. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    464
    The problem with the obj exporter is that its bad for multiple chunks as it doesn't keep the chunk positions (my experience) unless recently this was fixed. I had to manually align chunks in Zbrush & other 3rd party animation programs piecing together the corresponding chunks of land. The FBX exporter keeps the position of chunks together.

    The author of the Unity FBX Exporter had a pm conversation with myself you and jbooth to figure out how extracting textures with a custom UV generator writing to exported FBX could be done and in the end they both figured it could be done. I've updated the PM so you can see the "theorized" solution and UnLogick is apparently working on this as the next added feature. I didn't want to hassle/request from you if someone else already has a decent exporter and is willing/interested in adding that compatibility - you've already done an amazing Job on Voxeland, MM and Megasplat integration! I wouldn't want to trouble you any more unless there was something broken.
     
    Last edited: May 14, 2018
  8. Pronkur

    Pronkur

    Joined:
    Jan 14, 2017
    Posts:
    3
    Hi, I started to try to use Voxeland with Mapmagic. Voxeland displays this message : "Mapmagic does not seems to be installed..." and turning on both compatibility just adds errors. Do you know if there is a fix to this issue? Thanks !
     
  9. P_Jong

    P_Jong

    Joined:
    Jun 14, 2017
    Posts:
    12
    Is it recommended to include the Voxeland shaders to the "Always Included Shaders" of the Graphics settings?
    Seems like I read that someplace before but I could not find where it was mentioned before.
     
  10. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    464
    @Wright odd brush/sculpting issue after the 64th + texture. I was using a 2k texture array I created with Megasplat in Unity 2017.4 2f2 -the brush controls don't work after texture #64 clicking does nothing and when I use shift to change a texture I painted, sculpting into the surface happens only.
     
  11. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,260
    What these errors are? Does this happens in a new clear project with only Voxeland + MM installed?

    It's true if you are using dynamic terrain with "save meshes to scene" feature turned off. Should be somewhere in a manual (GitLab got an ugly wiki search). The point is that if meshes are not saved to scene Unity does not treat Voxeland shaders as dependencies, so they should be added manually.

    Seems to be Voxeland 4 legacy, was made to load older scenes. It had only 64 possible block types, 64 for objects and 64 for grass. Now objects and grass use different byte arrays, so guess I can fix it. Is anybody using Voxeland 4 nowdays?
     
    P_Jong and Ascensi like this.
  12. Pronkur

    Pronkur

    Joined:
    Jan 14, 2017
    Posts:
    3
    @Wright Yes this happens in a new clear project with only Voxeland + MM installed. With both compatibility enabled the error is : "Assets/Voxeland/Main/Generator.cs(877,19): error CS0234: The type or namespace name `Graph' does not exist in the namespace `MapMagic'. Are you missing an assembly reference?"
     
  13. yamlCase

    yamlCase

    Joined:
    Apr 13, 2017
    Posts:
    30
    Is there a method for counting the number of blocks of a certain type in a chunk? I'm considering looping over the x,y,z for each block type but this seems like a very expensive way to go.
     
  14. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,260
    Graph? Are you using MapMagic2 beta?

    You can speed up the process by working directly with data columns. See Data.cs for useful methods.
     
  15. Pronkur

    Pronkur

    Joined:
    Jan 14, 2017
    Posts:
    3
    No i am using MapMagic v1.9.1 !
     
  16. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,260
    Try installing the latest Voxeland version. 5.3.2 has this line commented out.
     
  17. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    464
    @Wright would it be possible to export a height map from combined Voxeland biomes in MM? I remember you saying that performance is not yet ideal using MM, Voxeland and Megasplat but I think a good workaround just to get the landscape at least would be to be able to output a height map in MM then switch Voxeland Generator type to Height map to add it.
     
  18. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,260
    Hmmm, can't say that MM's Voxeland Output has a super-native-c++ performance, but I can't call it retard too. Maybe I just didn't made myself clear. Such features like "Polish" or "Remove thin layers" can slow down the performance, but turning them off will remove the overhead compared to loading the heightmap.
    Anyways, it does not affect FPS since it isn't calculated in main thread, it is just a matter of the delay from the time camera first should see the chunk.
     
    Ascensi likes this.
  19. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    464
    I guess I may have misunderstood from your post on page 38 a little different than a point you were making about using texture arrays? You had said: "Those who use texture arrays (and do not use MM) will find new Voxeland texture array tools faster and more reliable to use (improved texture arrays performance and possible crashes related with adding and removing of the new blocks)."

    I took that as MM will cause a decrease in performance when used with Voxeland when using Texture arrays. I had to then rethink this and came to the conclusion that if I was to somehow create the Combined Biomes in MM with Voxeland, export the heightmap then switch to Voxeland only with the heightmap as the generator type and set "save non-pinned areas" I hope that Voxeland will no longer require the heightmap. If it does get loaded into memory once imported into Voxeland I'd hope the heightmap could be unloaded somehow if we no longer need to use it and free up some resources.
     
    Last edited: May 24, 2018 at 10:06 PM
  20. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,260
    Guess MM users have already got the new feature I've mentioned so they will not see the difference. Sorry for not being clear. I can state that MapMagic works with Voxeland using texture arrays, MegaSplat and older non-texture array shader at the same speed.
     
  21. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    464
    @Wright ok how about this- 1. can users export height maps from combined biomes in MM made with Voxeland?

    2. When in Voxeland only with heightmap set as the generator type does the heightmap itself load into memory?

    I'd like to use the heightmap method to recreate the combined biomes then once generated save the non-pinned areas, save Voxeland Data and unload the heightmap from memory if possible (which ever would need to come first)

    I realize the MM could be just as fast or faster with disabling the features like "Polish" or "Remove thin layers" but I'd like to simplify quick regeneration if needed and maybe later I could combine height maps in MM rather than make giant node structures.
     
  22. yamlCase

    yamlCase

    Joined:
    Apr 13, 2017
    Posts:
    30
    Here's a cool video I made using the brush tool in the editor to redesign one of my levels:

     
    Wright and AthrunVLokiz like this.
  23. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,260
    Do you mean export heightmap from Voxeland?

    Yes. When using infinite terrain Voxeland generates voxel data on-the-go, so it needs the source to generate it loaded. But for the fixed terrain you can turn off the automatic terrain generating in editor, this way Voxealnd will not load the heightmap at all, it will use voxel data only.
     
  24. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    1
    How do you get the shore generator to work with voxeland?