Search Unity

Feedback Unity Terrain - HDRP Demo Scene

Discussion in 'World Building' started by Rowlan, Feb 19, 2022.

  1. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,300
    A few comments on the new Unity Terrain - HDRP Demo Scene:



    * water looks like a mirror, here's room for improvement

    * personally I'd have loved to see the light anchor script advertised, it's really awesome and I only found out by accident that it exists. Just attach it to the directional light (Morning Sun in the demo case) and adjust the orbit and elevation rather than some x/y vector numbers:

    la.png

    * the diffusion profiles didn't get applied after installation, I had to apply them manually

    * VFX would have been nice, e. g. the butterflies and dust that already come with the default hdrp demo. Or birds would have been even better, i. e. give the scene some life. But I guess that isn't the core point of that demo.

    * showing off godrays and cloud shadows with dramatic lighting just as an example would be nice. Unity is capable of doing that, but having proper settings for everyone as an example is always helpful

    * What is the license of the asset? I didn't find anything about Unity Companion License. So I guess we aren't allowed to use e. g. grass and textures in our open source demo scenes and put them on github?

    The demo is very awesome, thanks a lot for sharing!
     
    TerraUnity, newguy123 and valarnur like this.
  2. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    9,445
    for me it didn't look as good as those screenshots..?
    and then kept crashing after switched to DX12 : /
     
    TerraUnity and newguy123 like this.
  3. Sirush

    Sirush

    Joined:
    Jan 18, 2013
    Posts:
    2
    The diffusion profiles are not added when importing. You need to go to your HDRP asset and add them manually (Details / Foliage / Dead Grass / Grass / Red Bush A)

    I have the same crash problem on DX12, crash instantly when I open the scene
    Code (CSharp):
    1. Constant Buffer (282880 bytes) exceeded the maximum size (65536 bytes).
    2. Constant Buffer (282880 bytes) exceeded the maximum size (65536 bytes).
    3. Constant Buffer (282880 bytes) exceeded the maximum size (65536 bytes).
    4. Constant Buffer (282880 bytes) exceeded the maximum size (65536 bytes).
    5. Constant Buffer (282880 bytes) exceeded the maximum size (65536 bytes).
    6. Constant Buffer (282880 bytes) exceeded the maximum size (65536 bytes).
    7. d3d12: swapchain present failed (887a0005).
    8. d3d12: swapchain present failed (887a0005).
    9. Device removed reason (887a0001).
    10. GfxDevice was not out of Local memory
    11. Local memory usage:
    12. Budget: 10780409856
    13. CurrentUsage: 3163119616
    14. AvailableForReservation: 67108864
    15. CurrentReservation: 5524422656
    16. GfxDevice was not out of Non-Local memory
    17. Non-Local memory usage:
    18. Budget: 16346492928
    19. CurrentUsage: 251805696
    20. AvailableForReservation: 0
    21. CurrentReservation: 8307464192
    22. Set -force-d3d12-debug for more information on device removal
    23. d3d12 : CreateCommittedResource 'BufferD3D12::CreateBufferResource() Buffer' (1056 x 1) format 0 failed (887a0005).
    24.     Device Remove Reason (HRESULT): 0x887a0001
    25.     Device Memory Stats:
    26.         Local AvailableForReservation: 5268 MB, Budget: 10281 MB, CurrentUsage: 3016 MB, CurrentReservation: 64 MB
    27.         Non-local AvailableForReservation: 7922 MB, Budget: 15589 MB, CurrentUsage: 240 MB, CurrentReservation: 0 MB
    28. d3d12: CreateResource for buffer failed.
    29. d3d12: failed to create a buffer of size 1056
    30. d3d12 : CreateCommittedResource 'BufferD3D12::CreateBufferResource() Buffer' (132 x 1) format 0 failed (887a0005).
    31.     Device Remove Reason (HRESULT): 0x887a0001
    32.     Device Memory Stats:
    33.         Local AvailableForReservation: 5268 MB, Budget: 10281 MB, CurrentUsage: 3016 MB, CurrentReservation: 64 MB
    34.         Non-local AvailableForReservation: 7922 MB, Budget: 15589 MB, CurrentUsage: 240 MB, CurrentReservation: 0 MB
    35. d3d12: CreateResource for buffer failed.
    36. d3d12: failed to create a buffer of size 132
    37. BufferD3D12 : Unexpected null accessor on Buffer
    38. Crash!!!
    Other than that, the details performance is pretty bad in the editor (25-40 fps on a 2080Ti), but it gets much better in a standalone build (60-120fps, except in the very first camera angle where it's still at 35-45)
     
    TerraUnity and mgear like this.
  4. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    9,445
    nice! that fixed it.

    upload_2022-2-19_15-47-27.png
    *note one duplicate on that screenshot
     
    bk92, TerraUnity and Ng0ns like this.
  5. newguy123

    newguy123

    Joined:
    Aug 22, 2018
    Posts:
    1,248
    Looking forward to one day when all this works with Raytracing as well as Pathtracing
    Maybe then we can officially move our traditional rendering pipeline over to Unity. Seems that's still YEARS away though
     
    TerraUnity likes this.
  6. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,255
    Was just going to test out Raytracing, Pathtracing and DLSS with this scene next weekend when I have time! So I also thought that many features will be lost, is that right? Did you have a chance to test these out in such environment?
     
  7. newguy123

    newguy123

    Joined:
    Aug 22, 2018
    Posts:
    1,248
    Not this specific scene, but I've been testing it on projects the past year or so.

    If you're using Vegetation Studio Pro, to place objects, and using raytraced shadows on your directional light, then the VSP objects will not receive shadows at all. If you're using pathtracing, then VSP Objects will not display at all. If you place trees manually, they will receive shadows just fine - providing you switched their shaders to regular HDRP shaders. When I last looked at this, about November, then foilage from Nature Manufacture did not work nicely with raytracing and I had to switch to regular HDRP shaders and not use the shaders they ship with.

    I think in my last project, I ended up placing trees manually by using the free Polybrush Package from Package Manager. For grass and shrubs I used a combination of VSP and manually placing. For cars in my carparks I made an editor script to place cars on reference objects imported from CAD.

    Basically as soon as you use any raytracing features, then things go haywire for any planting, unless you switch the planting to regular HDRP lit shaders, in which case you loose wind animation
     
  8. JoranOmark

    JoranOmark

    Joined:
    Jan 8, 2014
    Posts:
    1
    Loaded it up, deleted the cinematics and dropped in the new Starter Assets Third Person Controller:

    - Over terrain, the default robot character's animation is stuck in falling mode, but still hovers around fine, until he hits water, when he starts to run.
    - The scale seems... off. Everything feels gigantic, like a redwood forest. Did someone use freedom units instead of meters?

    Will play more, cheers!


     

    Attached Files:

    Last edited: Feb 22, 2022
  9. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,902
    If this was a video by a hobbiest posted on the forums i would say: wow, some nice looking stuff!
    but its Unity promoting HDRP and its rendering capabilities! so i have to say: this looks as if it was ? years old!
    clouds look inconsistent and dull.
    the scene hardly shows any details apart from grass.
    tree bark? stretched textures with baked lighting into the albedo and the lack of normals?
    reflections on the water look odd.
    the shape of the trees: what are these? stylized? semi realistic?
    where is all the undergrowth? ferns, broad leaf plants? small pebbles?
    where is the dynamic change of time or weather?
    this video does more harm than it promotes Unity and its rendering capabilities.

    sorry for the rude tone. but this is not what we want from unity in 2022. the visuals fall back clearly compared to BOTD, the video does not show any game relevant aspect (time of day, weather) and the visuals do not even catch up with skyrim regarding density or atmosphere.
     
  10. shikhrr

    shikhrr

    Joined:
    Nov 19, 2013
    Posts:
    68
    I think the demo is for learning purposes, not to show the best Unity can do. Investing more time and resources would definitely get us a better result. No point in wasting too much resources for a demo.
     
  11. bitinn

    bitinn

    Joined:
    Aug 20, 2016
    Posts:
    961
    A few limitations bothers me about this demo:

    - water shader distort tree branches incorrectly

    Screenshot 2022-02-24 180434.jpg

    - the demo rely heavily on DLSS to get the right quality vs performance, without it, the TAA upscaler is kinda a mess, full of ghosting and ringing (click to see the full image, though in motion they are much worse, even at Ultra settings):

    Screenshot 2022-02-24 181101.jpg Screenshot 2022-02-24 181234.jpg
     
    newguy123 likes this.
  12. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,300
    The trees are problematic imo. The lack of leaves makes the scene look sad. Just sad and dead. Quite the opposite was Book of the Dead. It was very much alive.
     
    ftejada, Deleted User and newguy123 like this.
  13. HIBIKI_entertainment

    HIBIKI_entertainment

    Joined:
    Dec 4, 2018
    Posts:
    595
    It's a fantastic tool indeed
    I do agree that more low-level advertising would be great for adoption.

    Pierre showcased the Light Anchor at Siggraph '21 and then later that was passed on to the Unity Blogs and Youtubes in all terras, but if you weren't really a part of that, it could easily have been missed.
    This was the same showcase as more tools like Volumetric Clouds and such.
     
  14. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,902
    i kind of agree. learning: yes. tutorial: yes. but what kind of tutorial?
    quoting the first sentences here from the blog post:
    "Creating high-fidelity environments for your game can be a massive undertaking." ... "Behind it all, a team of technical artists worked to author and optimize a believable environment scene using Unity’s High Definition Render Pipeline (HDRP) for PC and high-end consoles".
    of course you can just break all this down to: how to use the stamping brush or: nice, details now can be rendered instanced. and speedtree is back.
    but all this would not need a 3.8 GB download. so "high-fidelity" and "believable" also play a certain role. and this is where it falls short and simply is bad advertising.
    lets do not talk about things they do not cover for now but focus on things they show and you get: like trees, grass and the terrain itself. if this tutorial is a "collection of tips, tricks, and best practices" would assume that these topics are just covered in a way that you do not only know which buttons to click but how to make it all shine.

    and 35fps at average on a rtx 2060 is not that optimized as well... lol: 8 - 13ms for the gbuffer dispite of a depth prepass is just insane!
    overall unity had a great chance to promote speedtree and respond to quixel trees. it also had the chance to give way more advice and best practice tips to artists so that in the nearby future unity scenes would look less dull compared to unreal. and unreal's demo scenes are way more polished afaik. so downloading a 3.8 GB package will not give you such glitches.


    speedtrees
    although speedtree now is part of unity they do not seem to be able to deliver proper normals for unity. not talking about the overall minor quality of the provided assets which include texture stretching but even the normal maps just do not look right:
    lighting on the bark looks totally strange here - as if the light was coming from below.
    normals.PNG

    flipping the red channel kind of fixe it: now you can read the direction of the light. normals however look weak.
    normalsflippedred.PNG

    grass
    untiy does not align grass details to the terrain's normal. so using huge patches result in floating grass. something i would like to be covered and fixed in a tutorial.
    floatingGrass.PNG

    specular highlights
    most likely everybody has been struggling with this: glossy terrain vs. dull looking grass.
    specIssues.PNG
     
    Last edited: Feb 26, 2022
    OBiwer, chingwa, ftejada and 4 others like this.
  15. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,902
    oh, and it looks as if the terrains cause deferred lighting to produce nans.


    terrainCuasesNaNs.PNG

    nanfirst.PNG

    nanfirstA.PNG
     
    Last edited: Feb 27, 2022
    OBiwer, ftejada, TerraUnity and 3 others like this.
  16. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,902
    "best practise" bark materials have double sided checked!

    doubleSidedbark.PNG
     
    chingwa, ftejada, TerraUnity and 3 others like this.
  17. bitinn

    bitinn

    Joined:
    Aug 20, 2016
    Posts:
    961
    One more suggestion: please setup a Prefab scene in the Project Settings -> Editor -> Prefab Mode field.

    It it very difficult to examine HDRP art asset properly without one, also because you cannot select a tree in Terrain to view them "in-place".
     
    ftejada likes this.