Search Unity

[Official] New Terrain System

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

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

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    It's been shifted, possibly to 2018.3 - so people will need to be patient. Or we could all just become children, it's our choice after all.
     
    twobob, HeadClot88 and dadude123 like this.
  2. one_one

    one_one

    Joined:
    May 20, 2013
    Posts:
    621
    Being patient is fine, I'm just hoping for some sort of information on what to expect from that update. Will it be focused on authoring tools? Will meshing/rendering be reworked? Is it focused on shading?
    As a game dev, that knowledge would come in handy for figuring out which sort of third party terrain assets to incorporate for longer running projects and which parts of the terrain authoring workflow are maybe better postponed until after the terrain update. And I suppose it would be quite important for terrain asset devs to be able to plan ahead, as well.
     
  3. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    It's hard when Unity itself isn't 100% sure. When they're 100% sure they still need to talk to each other about what the message is. The community is sensitive to change, it's the nature of the business so giving bad info out is worse by far, than no info at all.

    Having said that, Staff are welcome to comment so long as the community understands it's not gospel.
     
    MadeFromPolygons likes this.
  4. one_one

    one_one

    Joined:
    May 20, 2013
    Posts:
    621
    I absolutely see the issue here - but if they put it on the road map, I'd assume they have some sort of requirements on which they base their plans and estimations. Something as vague as "terrain creation tools, but nothing rendering related" would already help.
     
    interpol_kun likes this.
  5. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I see, well the choice in that statement, is left up to the reader. It reads "it's our choice after all", which means if you want to be included in that statement you can be, or you can disregard it. I'm sure everyone chose not to include themselves in that.
     
    one_one likes this.
  6. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    My guess with potential problem trying to make terrain system:
    - issue to support big terrain with floating point error on all the platforms unity runs on. On all axis to be generic enough for planet.
    - Especially with Physx integration when doing floating origin.
    - And have it still performance and integrated with all other aspects of the engine and editing.
    - add vegetation/details systems
     
  7. interpol_kun

    interpol_kun

    Joined:
    Jul 28, 2016
    Posts:
    134
    Yeah. I think the main problem is that Unity trying to make a show with all new features. But they always delay them for another few months or even years.

    I think they should really stop teasing people with that marketing bs. If they have a roadmap they should stick to it.

    When a significant amount of features are being delayed there is a real management problem. And I think Unity has a very big management problem considering their "flexible" schedules. The first example that comes to mind is the new input system.
     
    cfree and hippocoder like this.
  8. one_one

    one_one

    Joined:
    May 20, 2013
    Posts:
    621
    Unity does seem to be stretched a bit thin at the moment. Anybody waiting for fixes on the HoloLens/UWP side of things will likely agree. If you add Magic Leap support, SRP, jobs, ECS (and a lot of other new major features I forgot) as well as maintaining a wide range of older versions, it's easy to see how terrain may fall through the cracks. Not exactly surprising and I'd say quite common for rapidly expanding software development companies. In fact, I'd say more flexible schedules and shifting attention to e. g. SRP is a sign of good management. However, and that is the point I was trying to make above, flexible schedules are a lot more charming for everyone involved if they're clearly communicated.
     
    MadeFromPolygons likes this.
  9. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    (offtopic)

    The terrain problem for unity is a super hard one. Because there are hundreds of tools on asset store and in existing workflows, so Unity has to have to spend a bit more time on this part as it is potentially project destroying. So the longer Unity has on terrain, the better it is really, for us. I'm not making excuses for anyone, just observing I'd rather they really, really got it right.

    Also another issue is that they have had to wait for other technologies like instancing to be made properly robust, as terrain is not seen as just the floor mesh but also all the vegetation and stuff like that. People see that as all one solution rather than lots of solutions.
     
  10. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,982
    Also no point building a new terrain system if your not 100% sure how it will be rendered yet, I am sure as the 2 default SRP mature a new terrain system will rear its head :)
     
    cfree, hippocoder and neoshaman like this.
  11. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    I think the community is waiting for any change to the terrain system, so they will rather bitch about not having changes :).

    Well ofc it is better when the Unity team knows what they want to do with the terrain system and if they need more time for this it is ok. On the other hand, i am very skeptic, and i believe that they will push the new terrain system after they finish SRP, which i believe will be next year, maybe even end of next year. I hope they will focus on one or two things and not try to catch multiple things at once.
     
    hippocoder likes this.
  12. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I do not know if SRP will be finished. I think it's already entered good-for-production phase. It's a core feature of Unity that gets added to and improved over the years at this point.

    Terrain is delayed due to tooling and missing polish I think? Not features. You already have half of the "new" terrain features on your hard drive!
     
  13. interpol_kun

    interpol_kun

    Joined:
    Jul 28, 2016
    Posts:
    134
    Huh? Can you explain?
     
  14. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Instancing, existing terrain, probably a number of small bits and bobs Unity already pushed to be safe. *shrugs*

    What you are really waiting for is some decent workflows and some optimisations and probably better shaders. That's it. People expect this huge world-shattering thing but there's really not much wrong with the underlying tech of existing terrain. The problem is really how hard it is to author and how quick it can render.

    The other part of the puzzle is with instancing, so you can draw billions of bits of green stuff and rocks. You already have that for sure.
     
    neoshaman and MadeFromPolygons like this.
  15. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,982
    I believe I read somewhere on these forums that some under the hood enhancements to the way lightmaps are calculated on terrain went in too not that I can remember exactly what it was.
     
    hippocoder likes this.
  16. JakubSmaga

    JakubSmaga

    Joined:
    Aug 5, 2015
    Posts:
    417
  17. dadude123

    dadude123

    Joined:
    Feb 26, 2014
    Posts:
    789
    No word on terrain holes huh?
    The performance improvements are very much welcome though :)
     
  18. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    That terrain presentation was so brief it was like she just wanted to get past it as fast as possible. I was hoping for a lot more information than that.
     
    Gekigengar, S4G4N and HeadClot88 like this.
  19. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    JakubSmaga likes this.
  20. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    I put that down to the pace of the Roadmap talk - almost the entire session was like that because of how much they had to cover.

    I expect terrain to get its proper moment in the spotlight once the version it will be in is much closer.
     
    one_one likes this.
  21. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Regarding terrain holes, something that works with colliding particles and light passing through properly and navigation.
     
  22. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Landscape Builder can already do cross-terrain painting, and I'm sure other terrain tools can too. However, performance improvements like getting rid of the Garbage Collection issues would be nice.
     
    zenGarden likes this.
  23. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I think the brushing system being GPU based and scriptable is a huge thing- many of the packages already out there can integrate right into the brush system if this is done well. Something like Erosion Brush, Gaia, etc. It becomes much simpler to write a new brush that to write an entire painting/stamping/whatever system.
     
    protopop and hippocoder like this.
  24. interpol_kun

    interpol_kun

    Joined:
    Jul 28, 2016
    Posts:
    134
    For a lazy guys:

    That was an old terrain pipeline
    upload_2018-6-21_11-46-9.png

    That's the new
    upload_2018-6-21_11-47-36.png
     
    twobob and hippocoder like this.
  25. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    This is definitely the feature I am most excited about. Currently, the terrain is eating up so much resources, being able to reduce that drastically will be extremely welcome! :D
     
  26. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    It says 30x reduced GC allocations, not 0 GC allocations. I guess the forum is going to be prowling around GC much more after Berlin (still hugely impressive though).
     
  27. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Any reduction in GC will help to remove performance spikes.
     
  28. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Of course! I suspect though any allocations here are about modification or streaming during the runtime, I don't actually anticipate any allocations while playing the game.
     
    twobob likes this.
  29. sqallpl

    sqallpl

    Joined:
    Oct 22, 2013
    Posts:
    384
    Great to see that terrain updates are planned for 2018.3

    "GPU Instanced Rendering"
    Is this related to objects (trees, grass, detail meshes etc.) placed using the terrain system? I hope that this update (2018.3) will cover this stuff too. I'm wondering if this update covers things like custom materials (for all terrain objects) and some kind of 'automatic' instancing/streaming for them.

    What do you think? Is this part of the slide related to painted terrain objects or maybe it's only about the base terrain mesh for now?

    As far as I remember the instancing and performance of 'painted terrain objects' was the main focus even before Unity developers started talking about new terrain bruhes and other freatures and improvements related to base terrain rendering.
     
    Last edited: Jun 21, 2018
  30. chanfort

    chanfort

    Joined:
    Dec 15, 2013
    Posts:
    641
    Looks very nice that it's planned for 2018.3. I also noticed that the Book of the Dead is also using terrain in 2018.2.0b9:
    Screen Shot 2018-06-21 at 14.17.46.png
    And the trees are set through the terrain. Taking that Book of the Dead is using HDRP, it seems like terrain and trees are getting supported.

    I am a bit concerned about tree billboards (the ones which were used before SpeedTree came in) and grass. Tree billboards can easily render above 10k of distant trees. Would be nice to have billboarding part of the code exposed at some point. And also grass/details fixed. As for the future it would be handy to have some kind of terrain decals system as well.

    Would be also very nice if the new ShaderGraph would become compatible with terrain shaders and allow us to easily design custom shaders in LWRP and HDRP.

    As for GC allocations, I suspect the quadtree might be the difficult part, as it seems to be the only part which runs on CPU. But I guess it's quite tricky to implement quadtree on GPU :) .
     
    JamesArndt, sqallpl and hippocoder like this.
  31. Liminal-Ridges

    Liminal-Ridges

    Joined:
    Oct 21, 2015
    Posts:
    256
    I have to support @hippocoder on this terrain topic. Just a few months ago a whole new rendering system was introduced (far more project/design destroying possibilities than terrain). I think a new terrain system is required but in its time. Its one of the most important design tools inside the engine and i prefer something late that will work than the opposite.
     
  32. JamesArndt

    JamesArndt

    Joined:
    Dec 1, 2009
    Posts:
    2,932
    This is very interesting indeed. From my knowledge and what I've read terrain shaders are not supported in HDRP, so maybe this is a custom shader type? I'm suprised they went with terrain since a custom mesh terrain can be much more performant. Not to mention you can do all of the same vertex painting on it for blending, placing objects on it, etc. They used custom mesh terrain for their other HDRP forest, the Fontainebleau project...which by the way looks just as good to me (maybe not as dense). It must have been a time vs. money thing and they went with the fastest and easiest approach.
     
  33. Liminal-Ridges

    Liminal-Ridges

    Joined:
    Oct 21, 2015
    Posts:
    256
    The goal of the demo was to show what unity graphics can do, so they wanted to do as much as possible in unity itself. Im curious why they didnt place the trees by hand and put them in the terrain system. Do we know when all shaders will be supported in HDRP and when the new pipelines will be generally stable and out of preview?
     
  34. chanfort

    chanfort

    Joined:
    Dec 15, 2013
    Posts:
    641
    So the first post which mentioned how they come to implement using Unity terrain was in this interview (at the end of "Push Unity forward" section):
    https://blogs.unity3d.com/2018/05/2...creators-behind-unitys-most-stunning-visuals/

    I think now as the project is available to download, we can find some HDRP answers ourselves by exploring the project a bit. I looked a bit and the terrain is using "TerrainLayeredLit" material, which itself uses "HDRenderPipeline/LayeredLit" shader. Inside that material there is the main layer and 3 more layers with grass, stones and other textures set in each layer. I suspect that each layer could be representing each of the 4 splat mapping textures set through "Paint Texture" tab:
    Screen Shot 2018-06-21 at 17.25.32.png Screen Shot 2018-06-21 at 17.14.47.png

    I guess a good idea to get started would be to try making terrain with "HDRenderPipeline/LayeredLit" shader in a similar way like it's done in the Book of the Dead and see if it works.

    As for trees, they are using trees with several LOD's, which seems to be unified since SpeedTree was introduced first time several years ago. This way trees do not switch to billboards but instead between LODs. And it accepts any shader used for tree nicely.
     
    sstrong likes this.
  35. RendCycle

    RendCycle

    Joined:
    Apr 24, 2016
    Posts:
    330
    Waiting for that cross terrain painting feature. Has anybody tried 2018.2 and can confirm if it is there as Unity specified? How to access it?
     
  36. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    I believe it is coming later in the year as part of 2018.3. However, many tools in the store already support cross-terrain painting for heighmap, texturing, vegetation etc.
     
    RendCycle likes this.
  37. RendCycle

    RendCycle

    Joined:
    Apr 24, 2016
    Posts:
    330
    Oh ok. I might just wait for it. Using native tool might be better as it will usually always work w/ each Unity version. Thanks for the info! ☺
     
  38. Liminal-Ridges

    Liminal-Ridges

    Joined:
    Oct 21, 2015
    Posts:
    256
    What is cross terrain painting? What exactly is expected with the new terrain system?
     
  39. RendCycle

    RendCycle

    Joined:
    Apr 24, 2016
    Posts:
    330
    As I understood it, Cross Terrain Painting is the ability to modify two or more adjacent terrains using the native Unity Terrain Brush without disrupting the effect of a continuous stroke over them. This is ideal for open world games.

    Not sure what other features will be included, but I hope the improvements will make it easier and faster to produce modern good looking terrains and maybe enable more control on the placement of vegetation and other points-of-interests.
     
  40. Liminal-Ridges

    Liminal-Ridges

    Joined:
    Oct 21, 2015
    Posts:
    256
    It desperately needs a props/vegetation/texture placement system based on parameters (slope/height/intesity/texture beneath etc). After that i think its best to optimize a single huge terrain, that having to create many small ones. I was thinking a world-streamer like system but its not gonna work for fps camera styles.
     
    EvilGremlin and antislash like this.
  41. RendCycle

    RendCycle

    Joined:
    Apr 24, 2016
    Posts:
    330
    For flexibility, I guess Cross Terrain Painting is a must as this can also enable scripts to be attached on different terrains for whatever purposes they may have. It also allows different work flows as some might want to work on separate terrains at a time then connect them later on. Having something like World Streamer, GPU Instancer, and the like built-in would also be nice because this can provide deeper controls with regards to how optimization happens. But this may just be Unity making more improvements on how it handles LODs...
     
    EvilGremlin likes this.
  42. Zullar

    Zullar

    Joined:
    May 21, 2013
    Posts:
    651
    Glad to see the terrain being updated! I use the existing one a lot and it's really nice for the most part.

    Some Issues I have:
    1: The current terrain system doesn't allow you to use a lot of shaders (like Standard/Specular).
    https://forum.unity.com/threads/standard-shader-dull-compared-to-legacy-bumped-diffuse.413019/
    I have problems with the Standard shader because it's always dull and glossy and even if you set specular to 0 it's actually ~20% behind the scenes (you can't fully set it to zero unless you use Standard/Specular or something else).
    2: The current terrain system does not allow 1 safe source for materials. If I have 20 terrain maps I want to change the look of my grass... I have to update all 20 terrains.
    3: You can't resize the terrain without skewing/erasing existing things that are drawn. Or remove a material from the palette without things getting messed up. Being able to expand/crop edges while keeping the same data in absolute space would be nice. Or to change internal data such as resolution without wiping all internal data.
    4: When butting 2 terrains next to each other there is no feature to make the terrains match. Would be nice to select and paint 2 terrains at the same time too.
    5: No way to make terrain holes?
    6: I do not know of a way to access what is being walked on (i.e. if a character is stepping on brick vs. ice I want to change the physics to be slippery or change footstep sounds). Maybe there is already a way to do this but I do not know.
     
  43. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Several assets in the store already do many of the things you mention above across multiple terrains.
    • Terrain shaders: take your pick there are many in the store: RTP, MegaSplat, CTS etc
    • Using same materials consistently across multiple terrains (Landscape Builder and others in asset store)
    • Change grass and it can change across multiple terrains (LB and others in asset store)
    • Resize terrains and re-apply heights, textures, grass etc (LB and others in asset store)
    • Terrain stitching tools (LB and others in asset store)
    • Sound when walking on different terrain textures (LB and others in asset store)
    So, yes, Unity's default tools do miss some of these features, but there are plenty of great, affordable tools in the asset store. The new features coming in 2018.3 should be good, but there are lots of options already available in the asset store to help you.
     
    Zullar likes this.
  44. Liminal-Ridges

    Liminal-Ridges

    Joined:
    Oct 21, 2015
    Posts:
    256
    Ghe
    The whole case is essential things like this to be implemented by default and not filling the project with dozens of other systems. Its complex and dangerous.
     
    jStinson, Elecman, Flavelius and 6 others like this.
  45. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    185
    jStinson, Thall33, sqallpl and 2 others like this.
  46. Rodolfo-Rubens

    Rodolfo-Rubens

    Joined:
    Nov 17, 2012
    Posts:
    1,197
    Was support to pen/tablet mentioned? It is going to support pressure for texture painting, etc?
     
    RendCycle likes this.
  47. RendCycle

    RendCycle

    Joined:
    Apr 24, 2016
    Posts:
    330
    It would be great if Unity will natively support Pen/Tablet like Wacom for Terrains. Currently, there is one tool available in the Asset Store that already support this: Terrain Pressure Paint ($10). But this works only for the Unity core terrain editor. Another one that has this feature in their roadmap is Terrain Former ($39.95) which now has multiple terrain painting support and other neat features like Mould. Personally I feel the price is a little steep for the latter... but I guess would be ok if they finally release support for Pen/Tablets and another feature they've listed in their roadmap (e.g. Erosion Brush, Scrape/trench tool). Maybe Unity can just acquire Terrain Former to fast track its development and to improve it further. :)
     
    Gekigengar likes this.
  48. sqallpl

    sqallpl

    Joined:
    Oct 22, 2013
    Posts:
    384
    Can we expect any updates for terrain objects placement (Detail tab) or tree placement in 2018 release cycle?

    Tree placement system is not bad at the moment, it would just need some additional prefab settings like angling the trees to terrain etc. If there will be a similar tab for objects (or maybe just updated 'Details' tab from the actual terrain system) which would allow to use custom prefabs (with LOD group support), with custom materials and more switchable prefab settings like random scale range, random rotation with XYZ ranges, 'angle to terrain' feature etc. it would be great.

    At this moment the only option is to use outdated terrain grass (no standard prefab/no custom material/no LOD support) or add detail objects as trees (Tree placement tab) but without more prefab settings like 'angle to terrain' it's not sufficient in many cases.
     
    Last edited: Jul 3, 2018
  49. Rukas90

    Rukas90

    Joined:
    Sep 20, 2015
    Posts:
    169
    Who are you?
    Overall Game Developer

    What kind of game are you trying to build or would like to build?
    Right now I'm working on the real-time strategy (RTS) game

    How does terrain fit into that?
    Considering that the entire game design will rely on the terrain as well as some of the features in the game, like in-game level editor, I'd say quite a bit

    What use-cases, features, workflows do you have or would like to see?
    A lot of great suggestions were already said by a lot of people, but..
    What would be the most important features in my opinion:

    1. Improved Performance
    2. Triplanar support
    3. Ability to paint/sculpt on multiple terrains at the same time
    4. Ability to paint terrain textures on other meshes (blending)
    5. Better vegetation system

    Considering that I will be integrating an in-game level editor inside my game, what I would really like to see is:
    6. Better run-time editing of the terrain

    7. Better texturing of the terrain (More maps, better shading)
    8. Concave surface support
    9. Ability to make ramps (now it's quite a pain in the ass)

    And ect..
    Some great suggestions by: larsbertram1 , ZJP , Murgilod , Shkarface-Noori
     
    Last edited: Jul 15, 2018
    Rodolfo-Rubens likes this.
  50. Gokcan

    Gokcan

    Joined:
    Aug 15, 2013
    Posts:
    289
Thread Status:
Not open for further replies.