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

[Official] New Terrain System

Discussion in 'General Graphics' started by bibbinator, Jul 4, 2014.

Thread Status:
Not open for further replies.
  1. Elecman

    Elecman

    Joined:
    May 5, 2011
    Posts:
    1,369
    Is a google earth like streaming system planned?
     
  2. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Thanks for the update Andrew!
    Would you please shed some light on
    • Will the terrain/vegetation be easily accessible during gameplay? (Will the api be clear and complete?)
    • Will the terrain system features (the terrain mesh, shaders, etc) be open, so that if people want holes, they can, if they want to remove trees easily they can, etc?
    • Will terrain/vegetation modifiable during gameplay, without big performance hits?
    Thank you for the update. Could the roadmap be updated also? I'm sure you realize the community is very interested in the features.
     
  3. zRedCode

    zRedCode

    Joined:
    Nov 11, 2013
    Posts:
    131
    This is a nice update indeed
     
  4. ChrisV

    ChrisV

    Joined:
    Mar 3, 2013
    Posts:
    57
    Really looking forward to this! :)

    Are you guys working on a new vegetation/tree system then? What about trees/vegetation made with Unity's tree creator or SpeedTree? Can we still use them in the new system?
    Will vegetation (grass, weeds, etc...) have shadowing/collision support?

    So, as i understand it, Unity will have a built in tool to make these materials? If so, can the tool be used to make any type of material, not only to be used on terrains?

    Cheers,
    Chris
     
  5. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    Man i really hope they do, improve tree creator or support for importing tree mesh created by external software ala cryengine. . .
     
    ChrisV likes this.
  6. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,756
    that sounds good but how's performance overall on terrain? I usually have to put vegetation on terrain and then disable the terrain "draw" checkbox and draw the terrain as a regular mesh. It's many times faster than using a terrain (and in theory it should be the other way around!)

    Lastly, mobile? many of us are doing mobile development. The existing terrain is horrible on mobile. Will this be improved?
     
    Gametyme likes this.
  7. yuanxing_cai

    yuanxing_cai

    Unity Technologies

    Joined:
    Sep 26, 2014
    Posts:
    335
    Okay. The terrain team wants to chime in here.

    Since some of you asked about who's actually working on terrain, I think a short introduction of the terrain team would make sense. Unity's terrain team was officially formed in 2015. The team is tasked with maintaining and developing everything related to terrain and vegetation, including terrain component itself, SpeedTree integration, Tree Creator and all the tooling around these systems. We are currently 3 engineers and 1 QA. Unity's CTO Joachim is also actively involved in the team's design activities.

    As Andrew said earlier, our initial focus will be on the vegetation. There are several reasons behind this:
    • On a terrain surface, grass / trees often cover more area than the terrain itself, thus are critical to the overall visuals and performance.
    • Unity's current implementation of grass / detail objects is extremely lacking and outdated. And unlike terrains, you cannot simply use regular meshes for grass.
    • It's a relatively isolated system and we can ship it without having to wait until the whole terrain engine is completed.
    Our key ideas for the vegetation system are:
    • You should be able to place grass / trees / detail objects on any mesh, not just the terrain.
    • Grass should move with the object it is painted on, at least at authoring time. So that you don't have to paint everything again if you move or make changes to the underlying surface.
    • We need to support a huge amount of instances, which means:
      • render millions of instances of objects fast
      • have the right tools for users to place them efficiently
      • an compact storage for these objects
    • We will heavily leverage GPU instancing. That's why the first thing we actually did is implementing instancing in 5.4.
    • The system is going to be material driven. You should be able to use whatever material you want to render the vegetation. Meanwhile, we will provide a set of good looking built-in shaders for grass. Wind zone animation and player interaction (bending of the grass) will also be supported.
     
    Gametyme, Mauri, eskovas and 25 others like this.
  8. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,492
    Cool! Also give me access to the tree creator by code (to generate new tree)! I haven't found a way to do that with the old tree generator!
     
  9. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    You know guys, this is great. Really, i appreciate for communicate with the community you guys should do this more often, or maybe made a blog post about this kind of progress or an official thread :)

    Cheers, keep up the good works guys
     
  10. antislash

    antislash

    Joined:
    Apr 23, 2015
    Posts:
    646
    hurray andrew! keep posting updates please, alot of people are waiting for that so badly .

    i hope we cal fully use our own models and get rid of tree creators.. a la cryengine
     
    tatoforever likes this.
  11. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    speaking about trees/vegetation please don't forget about impostor system hopefully also as an isolated system.
    And yeah Terrain system update in unity are overdue, and judging your plan maybe it should be called WorldSystem/NatureSystem or something.

    and yeah basically this
     
    Last edited: May 31, 2016
  12. antislash

    antislash

    Joined:
    Apr 23, 2015
    Posts:
    646
    hey yuanxing_cai
    i'd like the terrain team to take some comments in account, please
    cryengine had a nice feature that allowed us to use a large "patch" of grasses to cover ground (see pic), that patch could be conformed to terrain, moved, rotated, scaled etc.. and it is a really cool feature as is allows nice grass variation on one object only.
    painting grass "strand by strand" or "type by type" will always look very repetitive so, you must think about a system that allows us to paint a large "patch of grass at once" instead of having multiple small grass objects to paint (and model).
    thanks for reading me veg7.jpg veg4.jpg screen71.jpg
     
    Last edited: Jun 1, 2016
  13. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    Oooh vegetation patch, yes that would be handy not only for vegetation but also for other terrain mesh decal/cover.
    Also could be cool if the decal patch also come with patch creator tool/editor where we can create and assign mesh/prefab into the patch save it and paint the new added patch to the world.
    really remind me of this go to 1:48
     
    antislash likes this.
  14. Adam-Bailey

    Adam-Bailey

    Joined:
    Feb 17, 2015
    Posts:
    232
    I noticed that in the Adam stage demo once it switched to the editor you guys were showing off the material blending tools while talking about instancing of geometry. Was that our first sneak peek of the new terrain system? :D
     
  15. RElam

    RElam

    Joined:
    Nov 16, 2009
    Posts:
    375
    I think this is likely a good start. I also pretty much think that's where a 'terrain' system should end. IMO half of the failure of the current terrain system is it's use of exceptions, and other half is whatever results in it's bugs and missing features (which are likely the result of using exceptions). As others mentioned, a general purpose impostor system would be a great next step (IMO, I think more important than what you're working on first) since it covers trees as well as a ton of other things.

    As another note, I've worked on a distribution system on top of current terrain system, and would very much like such things more strongly considered in future implementations. Adhering to my philosophy of supplying as little data as possible, I have source terrain that looks like this...
    upload_2016-6-3_12-58-27.png

    And after applying process, looks like this
    upload_2016-6-3_12-59-28.png

    And since it's ecosystem based, I can trivially make it look like this.
    upload_2016-6-3_13-5-38.png

    Now, this is using custom terrain shaders, and World Machine 2 to generate terrain maps, but this is the kind of thing I ultimately wanna see, systems with high mutability with low required information (low art/design work) and decent results. This allows me to just put terrain 'roughly' where I want it in source, paint red the parts I don't want eroded/changed, and paint where I want rocks/trees/grass (don't know why rocks are green, yet another fun terrain bug).

    Right now I regret using the terrain system for final terrain, cause, frankly, it's just full of bugs you guys will never fix. Detail objects take a ton of time to rebuild when they don't need to, trees ignore max mesh trees setting, these two bugs alone are showstoppers. So my primary concern would be in the pursuit of an 'optimized' custom solutions to these problems, you end up with another slow, buggy, unsupported mess. It would seem this lesson is likely learned... but new unity systems often surprise me in this respect, so just wanna reiterate :).
     
    Martin_H likes this.
  16. antislash

    antislash

    Joined:
    Apr 23, 2015
    Posts:
    646
    hi terrain team,
    any idea of a pre-release, or at list a sneak peek of the new features ?
    i 'm in the path to produce lots of vegetation and i'd appreciate to know wich way i should go.

    thanks for the good work
     
  17. antislash

    antislash

    Joined:
    Apr 23, 2015
    Posts:
    646
    sometimes enough is enough.
    but i think the terrain team reaction is ALREADY taking in account the frustration of a lot of users..
    so.... use exaplamation is needed at some point, i'm that kind of guy, but i think in this case, it' wont make things go faster.
    so let's try the "positive" attitude, like for dogs training :D
     
  18. Baldinoboy

    Baldinoboy

    Joined:
    Apr 14, 2012
    Posts:
    1,526
    I have been aggravated because of no word from Unity. Really did not think anyone was working on it. So thank you for the message. Really sounds like a great effort. Also sounds like a feature, at least the vegetation part, we might see pre 6.0. So that is exciting.
     
  19. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Unity announced a long time ago that the Tree Creator and Unity Trees were now deprecated and would no longer receive bug fixes, and that we should all switch to SpeedTree... is that still the plan going forward? I've seen a lot of people mention the Tree Creator in this thread but no devs really saying "No, remember, we announced that Tree Creator is deprecated".
     
  20. antislash

    antislash

    Joined:
    Apr 23, 2015
    Posts:
    646
    i REALLY hope the future vegetation system will not be tied to speedtree, if so, that would greatly suck.
     
    Stardog likes this.
  21. Baldinoboy

    Baldinoboy

    Joined:
    Apr 14, 2012
    Posts:
    1,526
    I was also very worried about a SpeedTree only future but this statement made me feel this will not be the case:

    Also even if for some reason it is I know @larsbertram1 would make a workaround.
     
  22. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,492
    I need their old tree system though, I need it open to create procedural tree in code :( whenever they announce something it's like they are adding struggle rather than features ...
     
  23. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    speaking about tree, seriously what happen with classic tree, why do we need to put them into occlussion tree folder? honestly i like those classic tree
     
  24. BornGodsGame

    BornGodsGame

    Joined:
    Jun 28, 2014
    Posts:
    587
    They are aware a ton of people use the tree creator. More than likely they will just make it open source, which will probably make things much better because it is something the community will spend more time developing and fleshing out than unity did.
     
  25. Sir-Spunky

    Sir-Spunky

    Joined:
    Apr 7, 2013
    Posts:
    132
    @yuanxing_cai That's some great news, thanks for sharing! I really like your plans for the vegetation/batching system. Hopefully Unity will put more people on your team, as it's such a big and important feature (and a second team on the terrain system itself :)).

    You probably thought about this already, but many people will likely be using third-party tools or custom built scripts to place vegetation/objects procedurally. So I think an easy-to-use and well-documented API would be really valuable, as well as good performance for runtime generation.

    There are already a few Unity Assets that focus on improving performance through batching/billboarding. Might be interesting for you from a technical standpoint: TurboForest, SpriteLights, PA Particle Field, Real Imposters LOD System, InfiniGrass (and probably more I don't know about).

    As a side-note, I tried out the Tree Editor a while ago. Overall, I was really impressed by its potential. The branching system is great. However, I didn't like that I had to use special materials, and that they had to be re-generated so often, which made it feel slow and complex to work with. Would be nice if I could just assign normal standard shader materials instead.

    Once the new vegetation system is out, it would be awesome if we could combine it with Tree Editor trees, to create vast forests filled with uniquely seeded trees, without having to store each tree variant as a prefab. But that's for the future :)
     
    Baldinoboy likes this.
  26. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    I agree with this, tree editor can be powerfull if it's done right.
    Regarding the custom material, i think it's not a bad idea since it pack all textures into one atlas for performance reason. It's just the pipeline that make it annoying since it regenerate everything when we make an edit and it slow down workflow, maybe if they can streamline the workflow or something it would be great.
     
    Sir-Spunky likes this.
  27. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I just want it as good as UE4 Kite demo, with as good editors tools, but running faster without needing a Nividia Titan.

    What about Red Engine 3 ideas ?
    http://twvideo01.ubm-us.net/o1/vault/GDC2014/Presentations/Gollent_Marcin_Landscape_Creation_and.pdf

    adaptive software tessellation (no "wasted triangles")


    Custom vegetation generator



    pigment map for better blend with ground color



    Stamp tool (somewhat like Gaia plugin)
    elevation, control map, color map, vegetation; rotating, scaling, paste
    Allow saving/loading stamps
     
    Deleted User likes this.
  28. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    I want to add that I'm probably one of the few people who doesn't like Gaia. I don't like basing everything around stamps or needing to have a bajillion heightmap stamps in a folder. I think their procedural placement tools are a little convoluted. I prefer having a fully procedural node-based approach like MapMagic and/or good tools for direct modification like different brushes, erosion brush, etc. Just my two cents as I don't want Unity to get the impression that everyone just wants a clone of Gaia.
     
    tanoshimi likes this.
  29. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Gaia is just here to speed up your terrain creation at start. You can edit manually your terrain as always whenever you want.For Witcher 3 they used stamps , like Gaia to speed up creating the base terrain.
     
  30. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Yeah I know; I don't want to get in a fight with Gaia fans; I'm just saying there are some of us who don't just want a Gaia clone as the new Unity design system.
     
  31. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    Then I have to put my 2 cents in and say some of us would not want a MapMagic solution either. If they add something like MapMagic as being optional then I have no problem with that, but if that was the only way to generate terrains in Unity then I'd never use it. I tried the MapMagic trial and couldn't do anything with it. It was the most convoluted mess of nonsense I ever saw.
     
  32. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I perfer Gaia because i have a lot better control and a direct visual feedback on the terrain sculpting using stamps than using nodes.
    Anyway, don't expect Unity new terrain before mid 2017.
     
    Corvwyn and AdamGoodrich like this.
  33. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Correct.
     
    Baldinoboy and Teila like this.
  34. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    773
    As someone who's been following this thread since it began, I'm a bit disappointed at how flamey it's gotten here lately, especially now that Unity has finally started to fill us in on their plans. Where were some of you unhappy people during the last two years, when they were basically telling us nothing?

    Even though what they've announced isn't exactly what I asked for, or what a number of others here were asking for, I couldn't be happier. Are we getting voxels, or holes, or new sculpting tools and brushes? Not that I know of. Does it matter? No, not if they're working on mesh/terrain workflow integration. Who needs voxels or holes when you can use meshes interchangeably with terrains, and plant on both? What we're getting instead is way better - a vegetation/detail instancing system that's no longer tied to the terrain, that's no longer tied to the main processing thread, that's capable of handling a huge amount of vegetation and details with minimal impact on performance. This is a win people. If they deliver as promised, it will be a very big deal indeed.

    And it's just the first of a number of initiatives they've announced. I know some of you want them to toss the current engine out and build a new one from scratch, but I'm convinced their incremental approach will deliver real usable results a lot sooner. Instead of being stuck in research limbo, with nothing expected for the foreseeable future, some of these improvements could land in our laps within a matter of months. So instead of slamming them for taking so long, I'm just going to say thanks, and bring it on. :)
     
  35. antislash

    antislash

    Joined:
    Apr 23, 2015
    Posts:
    646
    yep, that's way cool, i 'd just like to know more about the time frame of those new improvements... next release ? end 2016 ?
     
  36. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    773
    "There are various parts of the pipeline arriving throughout 2016 and into next year." - Andrew_Bowell
    I know it's not that specific, but it's a start. We're talking months, not years now. :)
     
  37. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Yeah cos if it was the old Unity where you had to keep features back, they'd be figuring out if such a thing should drop in unity 6 or 7, and some other thing would get sacrificed or not or whatever. Now we can just expect things to be coming as soon as they're done instead.
     
  38. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    That's true, i hope erasing major feature on major version can improve unity faster than before.
     
  39. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    I am excited about the new terrain system. Can't wait for Unity to provide more detail. I am sure it will be amazing!
     
  40. Deleted User

    Deleted User

    Guest

    Sounds pretty cool, I've been using various terrain systems since this thread started. So a couple of updates if you will.!

    • Paint foliage / decals on meshes, awesome I was going to suggest that and it's a must have.
    • Scultping tools really need an overhaul, with a slurry of brushes for things like erosion etc. at the moment it just looks like you're creating some sort of sponge cake.
    • Spline tools, good one.! They need to be able to "ramp" as well, i.e dig trenches in the terrain for rivers etc.
    • Holes for caves would be more than ideal, can't remember in recent memory not seeing an "RPG" without a cave, it's like chips and salt.
    • Instancing, again great we always need faster and denser foliage.. Seems you're pulling a lot of stuff from Witcher? Hmm.!
    • It would be ideal to have a tile / boundary system that can async / loc streaming tiles based on distance. A way to import tile meshes and have them stitched by "zones" as in a boundary assignment. You may not be in view of a certain set of tiles so why load it?
    • Next up is how "flat" normals look on Unity terrain's, I'm going to suggest parallax mapping but I'd be happy just having the normals show up correctly (I've tested several engines and it's only Unity that looks odd). Probably a shader thing, don't know right now as I haven't checked.
    • Fix long distance shadows, at the moment they are not exactly pretty.
    • Find out why the editor stars crawling to a halt as soon as a large terrain is imported, even on very powerful hardware (six core I7 and 980TI not enough?)
    • Remove the HDRI dependance on Enlighen, or just speed up Enlighten a large amount. On large terrains it's still quite painful.
    • I'm still wondering why Unity's foliage creates a lot of "noise", I've dof'd it / temporal anti-aliased it until I'm blue in the face (yes modified alpha cutout rate etc.). Something to look into?
    • LOD system needs updating and the "base bitmap" system dumping. Resolution of imports seems to loose detail, which it would I think the terrain maxes out at 500K tris? I think on modern PC's we can stand to gain a little more than that, not saying overdo it but it'd be nice to have the option.
    • We need some updates to go with this terrain to make it look super shiny, so a decent fog drop in with atmospheric scattering, some decent god rays. Also update the water prefabs, they look ancient.!
    • One way to split tiling is noise masks from camera world position, once it's hidden under foliage it appears as if the landscape has tons of "detail", it's cheap / quick and effective (p.s that's how the other engine does it in mat's). There's also Farcry's "tiling" way of doing things.
    • It would be nice to extend the amount of terrain textures paintable.
    • Make terrain and foliage shaders the best you can with many options, you might as well just do it right from the outset, so detail maps / noise masks / translucent decal painting (for puddles ;)) / Parallax mapping? Base normal (whole terrain segment normals) I'd say "colour maps" but they generally don't look that great.
     
    Lex4art and Martin_H like this.
  41. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Seems more a dream list than wish list :D
     
  42. Deleted User

    Deleted User

    Guest

    Well, UE has it so why shouldn't Unity? ;)..!
     
    Eric2241, zenGarden and Martin_H like this.
  43. antislash

    antislash

    Joined:
    Apr 23, 2015
    Posts:
    646
    bump anything ?
     
    moure and S4G4N like this.
  44. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    I think they drop the terrain in unity since there are enough AAA quality assets in the store for it.
     
  45. fffMalzbier

    fffMalzbier

    Joined:
    Jun 14, 2011
    Posts:
    3,276
    The terrain is such a Common element in a lot of games so that they will do a revamped System.
    A lot of assets are building ontop of the default tools in unity and having a good terrain System, that then can be extended by the asset store assets seems the way to go.
     
  46. antislash

    antislash

    Joined:
    Apr 23, 2015
    Posts:
    646
    ah ah .... and some like me are waiting to know more about the new terrain system to produce so called "AAA" assets..
     
  47. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    is the AAA quality also come with AAA performance ?
     
  48. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    You mean the AAA performance of the unity terrain? ROFL...
     
  49. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    No there aren't. There are some great terrain shaders, but they are built on top of a low performing terrain system, which makes them good at best. We need a high-performing terrain system with great shading along with an advanced and high performing foliage system. And we need it built into Unity without having to purchase additional assets.
     
    Mikael-H, red2blue, Elecman and 4 others like this.
  50. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    which why i'm asking
     
Thread Status:
Not open for further replies.