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

[uTerrains] The Ultimate Terrains engine is coming soon!

Discussion in 'Works In Progress - Archive' started by Amandin-E, Feb 4, 2015.

  1. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    Hi everybody,

    After more than a year of development, I'm about to release the first public version of Ultimate Terrains. This is a voxel terrain engine implementing Adaptive Dual Contouring. It can render any kind of shape: from a fully cubical world like Minecraft to the smoothest terrain... smoothness is actually configurable and a single terrain can have both cubical and smooth areas!

    EDIT: official release thread is now here: http://forum.unity3d.com/threads/ultimate-terrains-brings-3d-terrains-to-a-whole-new-level.304908/


    EDIT: first online demos are now available! They may be updated in the future.
    Full demo with grass, trees and water.
    Simple demo (same demo, without trees, grass and water).
    RTP compatibility demo.
    Please give some feedback ;)


    This is not just one more voxel terrain engine like others. Ultimate Terrains has been made to be really professional and usable in a commercial game. Unlike other terrain engines, it offers a very big distance of view (thanks to a LOD system, the visible part of the terrain is up to 8000x8000) while keeping a resolution of only 1x1x1 per voxel: no need to make ugly terrains with big voxels to have a descent draw distance. Comparatively, others assets that I've seen offer a distance of view of about 400x400 with the same resolution.

    Of course, terrains are infinite in all directions and can be edited in real-time.
    It also has a real biome system integrated to the core of the engine.

    Ultimate Terrains comes with a nice editor GUI (custom inspectors) that makes it simple to use even for indie developers and non-coder people. It also comes with a simple-but-powerful editor allowing you to edit the terrain directly inside Unity's editor within the scene view (like with standard terrains).
    As it also targets professionals, it is 100% customizable, without the need to modify the source code. Thanks to Generator Modules and Operations, you will make whatever you want. You will never be limited.

    There are tons of other details & features I'd like to give you, like the grass system, JSON serialization/deserialization, etc. But for now, I prefer to go back to work to finish it as soon as possible! If you have any question please don't hesitate to ask it!

    I hope you will like it! :)

    A screenshot and a GIF ;)


    Building a wall on a smooth terrain...


    Shows how big the visible part of terrain can be
     
    Last edited: Mar 1, 2015
    clerok, Bharata, Casto and 2 others like this.
  2. Casto

    Casto

    Joined:
    Aug 14, 2013
    Posts:
    44
    Looks amazing! I've bought some voxel terrains on the Asset Store but none of them has a descent draw distance and most of them can't really render both cubical and smooth shapes.
    I'll definitely keep an eye on your work. ;)
     
  3. jlejoux

    jlejoux

    Joined:
    May 21, 2013
    Posts:
    11
    Can't wait to give it a try ! :D

    When are you planning to release it ?
     
  4. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    I'm glad you're interested :)

    It's hard to plan a release date for now, but it should be ready in ~2 or 3 weeks.
     
    Casto and Bharata like this.
  5. Brainswitch

    Brainswitch

    Joined:
    Apr 24, 2013
    Posts:
    270
    What are you using against LOD cracks?
     
  6. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    I generate properly connecting seams.
    I hesitated with skirts, but in the end, it wasn't looking as beautiful as seams. Skirts also have a big disadvantage if you want to use transparent materials (for water for example) because it will look ugly. Finally, I decided to choose the cleanest solution: seams.
     
  7. Casto

    Casto

    Joined:
    Aug 14, 2013
    Posts:
    44
    I'm happy to see its gonna be released soon!
    Is there a playable demo already?
     
  8. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    Thanks for your interest!
    There is no playable demo for now. This should be ready soon enough though. I will let you know as soon as it's ready ;)
     
  9. daeuk

    daeuk

    Joined:
    Mar 3, 2013
    Posts:
    67
    can it be used with rtp/jove shaders and/or others?
    how about heightmaps? network sync? unity 5?
     
  10. Plexus1

    Plexus1

    Joined:
    Mar 9, 2014
    Posts:
    26
    This looks great!
    Exactly what I've wanted. I would love to see voxel fluid mechanics built into this.
    Definitely going to buy this when it is released!

    EDIT: Would also love to see a demo :)
     
  11. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    @daeuk
    I haven't tested it with these shaders but I know it will work. It is up to you to choose which material to use on your terrain (actually, uTerrains even supports multiple materials) and it uses vertices color to choose which texture should be used, like RTP-triplanar shader does. I will test it with RTP asap just to be sure ;)

    I included a Generator Module handling heightmaps. There are several Generators included (perlin, simplex, voronoi, ridged, heightmap) and more will come in future updates.

    Network sync has not been tested yet, but I made everything so it will be easy to do. You'll be able to share some data in JSON format (small enough to be sync over network in real-time). Basically, you'll call "serializeData" on the client where modifications are made and you'll call "deserializeData" on all other clients who will receive the modifications.

    It is 100% compatible and ready for Unity 5 (tested on beta).


    @TheAnnihilator
    Thanks! I'm really glad to see you are enthusiastic! :)
    Demo will come soon
     
  12. digiross

    digiross

    Joined:
    Jun 29, 2012
    Posts:
    323
    I'm eagerly awaiting more info and a demo as well. Looks great so far. All the other voxel solutions on the asset store are either extremely lacking, buggy, too pricey, or outdated.

    I've been churning several game ideas around in my head, but a solution like this would help make them become a reality. Keep up the good work.
     
  13. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    Thank you for your encouragement!
    Well, I hope uTerrains will answer all your needs to make your ideas become a reality ;)
     
  14. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    Maybe the above already answers at least some part of the question, but does this mean that uTerrains can also be used with Terrain Composer?
     
  15. Barachiel

    Barachiel

    Joined:
    Nov 25, 2012
    Posts:
    147
    Any plans to handle random placement of larger meshes, such as architecture, monuments, etc, since large objects would need the terrain around where they're placed to be modified to accommodate.
    When you say that the terrain can be modified in the editor, does this imply that there is an option to use the terrain at a set size, rather than infinite?
    Lastly, and this is a pretty specific thing but I figured there'd be no harm in asking, is it or will it be possible to have the terrain generation avoid a pre placed mesh. For example, when the terrain is generated, having an area you wish to remain empty or a building or cave you always want to be in the same location.

    Regardless of the answers, this is looking really good. I'll certainly be watching the thread. =)
     
  16. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    I've never tested Terrain Composer but from what I know, it deals only with standard terrains, does it? If it is the case, then it won't be compatible with uTerrains.

    The right way to do this would be to create a module that forces the terrain to be flat (or whatever you need) at some locations where you want to place large objects. This is something anyone can do by itself (it's easy to create your own module by implementing I3DGenerator interface), but as this could be useful to a lot of people I'll consider adding it to the list of included modules in a future version.

    There is an option to limit the size of the terrain, but you're not obliged to. Like in the game, the terrain can be infinite in the editor. You will generate an infinit terrain made of mountains (for example) and you will edit some areas of it in the editor. This way, your terrain remains infinite but some parts of it have been customized through the editor.

    As I said, you can definitely generate flat areas (for example) at positions you need (ie. always in the same location). That said, you cannot have a truly "empty" space in the terrain as it can't have holes.

    More details will be coming with the doc ;)

    Thanks! :)
     
  17. Barachiel

    Barachiel

    Joined:
    Nov 25, 2012
    Posts:
    147
    Aye, sorry, that was worded poorly. I suppose a better way to ask would be, can I define an area where I only want air, or otherwise empty space. An example would be a series of caverns defined by where the terrain does not fill in, so the users would need to discover the other locations by digging through. I know this can and is done automatically via noise, which is why I ask if there is a chance of being able to manually define such areas.

    This sort of feature seems like it would be a bit niche and beyond the scope of what's on offer given that it's possible to do it oneself, but as I said, I figured there'd be no harm in asking. :)
     
  18. jlejoux

    jlejoux

    Joined:
    May 21, 2013
    Posts:
    11
    I just have one question about the biomes :

    When you speak about biomes are you speaking about different textures or also different behaviors in the heights generation (like flat parts and mountains parts etc... ) ??
     
  19. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    @Barachiel
    Seems to be possible to my mind. You could for example dig caverns and then seal the entrance of it, so the cavern will still exist but the player will have to dig by himself to discover it. Is it what you were thinking of?

    @jlejoux
    Biomes control everything regarding terrain generation. This includes textures, smoothness, generation behaviors (as you say, could be mountains/flat/etc.), vegetation (ie. grass and details objects). So, for example, you can have a biome that will generate mountains with trees and another biome generating a valley with fields (or whatever), and another generating lunar landscapes, etc.
    As you see, biomes are at the core of the system which lets you generate exactly what you want.
     
  20. jlejoux

    jlejoux

    Joined:
    May 21, 2013
    Posts:
    11
    Ok that's definitely amazing !
     
  21. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    Thanks! I hope everyone will think the same! :D
     
  22. Casto

    Casto

    Joined:
    Aug 14, 2013
    Posts:
    44
    I can't wait to try it, I hope the demo will come soon! :p
    I was wondering if it will be possible to dig/build with other shapes than cubes and spheres?
     
  23. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    Definitely, yes.
    Modifications are made on the terrain through "Operations". Operations can be "DigCube" or "BuildSphere" for example, but you can also create your own operations by making a C# script that extends IOperation interface (more info will come with the doc). This will allow you to make exactly the modifications that you want.
    Everything has been made so you can fully customize generation and modification.
     
  24. jlejoux

    jlejoux

    Joined:
    May 21, 2013
    Posts:
    11
    Do you have any idea of the price of this asset at its release ?

    EDIT:
    What's the generation time for a huge map ? (let's say 8000x8000)
    Is that case is the terrain in only one mesh ?
     
    Last edited: Feb 18, 2015
  25. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    I'm not sure about the price yet. I prefer to wait before saying something.

    Generation time entirely depends on the complexity of the terrain. If you generate a very simple terrain like something flat, it will take less than 10s, but if you generate big mountains with relief details and several biomes, grass, etc then it will take 20s or even 30s (for a 8000x8000 terrain). Of course this will also depend on the computer you are using. I'm using a 2 years old laptop with a core i7 (laptop version - less powerful) and a GeForce 635M.

    Terrain is composed of several meshes.
     
  26. jlejoux

    jlejoux

    Joined:
    May 21, 2013
    Posts:
    11
    Ok nice can't wait to try that :D
     
  27. ncho

    ncho

    Joined:
    Feb 1, 2014
    Posts:
    99
    This looks fantastic. The problem with the current voxel assets is that (as mentioned) many are buggy or cater to very limited purposes. I don't want to have a Minecraft game with unlimited terrain and editing terrain at runtime. I just want to be able to comfortably use something like this for editing my levels in Unity without bugs or slowdown, then convert the whole thing to a simple static mesh at runtime.

    Do you think your tool will allow that?
     
  28. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    @jlejoux
    Thanks! I'm working hard to finish it as soon as possible. It's a matter of days.

    @ncho
    It isn't made for producing static meshes as long as there is a LOD system. At least for now, there is no exporter to static meshes.
     
  29. jlejoux

    jlejoux

    Joined:
    May 21, 2013
    Posts:
    11
    One last thing. When you're speaking about trees in biomes it means that the tool is able to place trees in the terrain ? If so, does it place prefab or is it just a mesh renderer like on the unity terrain ?

    In my case I work with unity Pro and I have currently a few trees created with the Tree creator. for each tree I have a prefab with 3 LOD levels. Will I be able to place them using the biome tool ?

    I guess it is the same with every object/prefab for instance animals, stones etc...
    (Even if it might be better to instantiate dynamic objects like animals only around the player).

    EDIT

    And for the generation part, when playing I guess the generation is done using multithreading ?
    Is there any freeze when the player is moving around the terrain ?

    Thx !
     
    Last edited: Feb 19, 2015
  30. ncho

    ncho

    Joined:
    Feb 1, 2014
    Posts:
    99
    Thanks for the reply. Do you think it's still feasible just for level design if I don't plan to modify the terrain at runtime or would the performance cost not be worth it?
     
  31. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    Yes, it is able to place trees (or any object) over the terrain with some parameters like density, max slope, etc. It places
    prefabs. Prefab must have a mesh renderer or must have children with mesh renderers or must be a LODGroup.

    Yes, the details-objects system can handle LODGroups with Unity Pro. Actually, this is even strongly recommended to use LODGroups to keep good performance. ;)

    Yes you can put any prefab you want (ie. trees, stones, etc.), but dynamic objects like animals should NOT be managed by the details-object system.

    Generation is fully multithreaded, both during loading and during dynamic generation (ie. in game). Everything has been made to avoid freeze when the player is moving around, including a sophisticated memory management to avoid GC.

    The only thing that can slow-down the game is real-time editing, because is happens on the main thread to ensure that when you perform an operation on the terrain, it is actually made immediately.
    I already planed to add an asynchronous API for real-time editing in a future update which will prevent any freeze, but won't guaranty that the operation will be performed in one frame. For now I kept it simple.

    If you make a static mesh (and disable the LOD system), you will have so many polygons to display that even good graphic cards will suffer, so I think it's not worth it.
     
  32. jlejoux

    jlejoux

    Joined:
    May 21, 2013
    Posts:
    11
    Alright thank you for your answers which are good news !

    I really hope that I will be able to afford this asset as I need it soooo much !

    Thank you so much !
     
  33. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    Novus Inceptio likes this.
  34. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,037
    The water demo actually runs fine on HD4000 :)
     
  35. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    Good news, thanks!
    Do not hesitate to give some feedback ;)
     
  36. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,037
    I dug myself a few km down into the ground without ever noticing any hitching, so I suspect it's more CPU than GPU that could be a potential issue, if anything ever is. Tested on 2.3GHz i7 Mac mini. Make it work smoothly with the oh, so popular RTP, and you could have a very popular product ;)
     
    Amandin-E likes this.
  37. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    Yes, uTerrains mainly uses CPU. I'm not afraid about the compatibility with RTP3, I will just make sure there is no issue.
    Well, having a popular product would be the best reward I could ever imagine for all my work :)
     
  38. jlejoux

    jlejoux

    Joined:
    May 21, 2013
    Posts:
    11
    That's really cool ! How does the water work ? I mean is it a biome ?
     
  39. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    The water is just here to make the scene more beautiful, it's a plane with water shader. It has nothing to do with uTerrains. But you can see that below water, the terrain looks different: it has different kind of relief and a different texture. The demo actually shoes how a terrain can combine two biomes: one above water and one below it. Of course, biomes could be combined in any other manners.
     
  40. Casto

    Casto

    Joined:
    Aug 14, 2013
    Posts:
    44
    This looks really amazing! Seams to be exactly what I needed. I'll definitely buy it.
     
  41. jlejoux

    jlejoux

    Joined:
    May 21, 2013
    Posts:
    11
    Will you do some videos showing off how the system works ? I would really appreciate that before buying the product.

    Thx !
     
  42. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    @Casto
    Thanks! I'm so glad you guys are interested in Ultimate Terrains!

    @jlejoux
    Yes I will make a video showing all features of Ultimate Terrains and how to use it. There will also be a documentation but it's not finished yet.
     
  43. jlejoux

    jlejoux

    Joined:
    May 21, 2013
    Posts:
    11
    Awesome :D !

    On the terrain how are the textures applied ?
    Is it a material with the texture ?
    Because I'm using UFPS and the stepsounds works when the character is over a texture. Do you know if this will work ?
     
  44. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    Textures are applied through a material (triplanar shading) (You can use a different material if you want to). The material knows which texture must be used at a given position thanks to the vertex color. If UFPS can choose which noise to play using vertices color then it will work fine.
     
  45. jlejoux

    jlejoux

    Joined:
    May 21, 2013
    Posts:
    11
    Ok great :)

    Do you know when you will be releasing it ? (That would be nice to have an idea so that I can schedule my dev plan for the week).

    EDIT: (the question is more : is it for this week ?)

    Thx !
     
  46. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    I'm not sure I will be able to release it for this week. It takes time to make a video and prepare everything for the final package. I think it should be ready for next week.

    BTW, I updated the demos, fixing a bug with trees.
     
  47. Bharata

    Bharata

    Joined:
    Feb 5, 2015
    Posts:
    4
    Demo is very promising. Sounds like it does what you say it does, and does it well :)
     
  48. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451
    Thanks @Bharata, I'm glad to read that!

    A new demo demonstrating the compatibility with RTP3 is online here.
     
  49. Casto

    Casto

    Joined:
    Aug 14, 2013
    Posts:
    44
    Compatibility with RTP3 is a great plus. I can't wait to get your product and start making fun games with it :)
    Do you have a release date already?
     
  50. Amandin-E

    Amandin-E

    Joined:
    Feb 4, 2015
    Posts:
    451