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

CTS - Complete Terrain Shader - Deprecated

Discussion in 'Assets and Asset Store' started by AdamGoodrich, Jun 19, 2017.

  1. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    So:
    - Basic shader improved by 30%
    - Advanced with heighblend 300%
    - Tesseled by 400% which means tesselation shader is almost as cheap as advanced shader so tesselation have almost no cost on gpu now.
     
  2. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    @NatureManufacture never ceases to amaze me :)

    Today I am rolling a new persistence approach through CTS, testing lots, and putting final package together.

    If all is going well we hope to launch tomorrow, or perhaps next day at worst case.
     
  3. TheMessyCoder

    TheMessyCoder

    Joined:
    Feb 13, 2017
    Posts:
    522
    Wow. I go away for a month and the whole world changes.

    Great job guys. Cannot wait to add this to my shopping list
     
  4. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    ETA is 24 hours from now, barring unexpected issues.
     
  5. buttmatrix

    buttmatrix

    Joined:
    Mar 23, 2015
    Posts:
    609
    Do you mean you will submit to the Asset Store in 24hrs, or it goes live on the Asset Store in 24hrs and I can purchase it?
     
    S4G4N likes this.
  6. mons00n

    mons00n

    Joined:
    Sep 18, 2013
    Posts:
    304
    @AdamGoodrich Sorry if this is a newb question - will we be able to query the terrain to know which texture we are on? Similar to terrainData.GetAlphamaps?
     
    S4G4N likes this.
  7. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    It will still be up to the asset store - hopefully will go through quickly.

    CTS uses standard terrain splats - so this call will continue to work as expected.
     
  8. buttmatrix

    buttmatrix

    Joined:
    Mar 23, 2015
    Posts:
    609
    I use Gaia to export splatmaps and a full res .obj to a 3D modeling program, decimate the terrain to a low poly model, and reimport back into Unity. I then use RTP's terrain2geometry shader to texture the low poly terrain. This workflow is about as good as it gets in terms of optimizing terrain for performance while preserving visual quality.
    1. Will CTS provide shader to support this type of workflow?
    2. Would the above shader include a global color map option?
     
  9. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Not in first release. CTS is linked to and integrated deeply with Unity terrain.

    We will create a road map based on the feedback we get.
     
  10. turboscalpeur

    turboscalpeur

    Joined:
    Nov 29, 2015
    Posts:
    302
    Used CTS (one of the last WIP Build before release) and created this:











    More Screens here
     
  11. Kolyasisan

    Kolyasisan

    Joined:
    Feb 2, 2015
    Posts:
    397
    Does it feature a tesselation/pom lod? I mean the feature that will cut off complex effects with the increase of a distance (For example, I've made a water shader that only applies tesselation in front of a camera, those polygons that are far away don't get tesselated).
     
  12. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    I am creating terrain meshs procedurally so I really hope you implement mesh support as soon as possible!
     
  13. RonnyDance

    RonnyDance

    Joined:
    Aug 17, 2015
    Posts:
    557
    That would be min / max distance for tesselation I talked about and RTP is using for example. I am pretty sure something like this is added because Adam talked about lot of Height / POM Feature options which come with CTS.
     
  14. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
  15. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Yes :)
     
    Mark_01 likes this.
  16. sylon

    sylon

    Joined:
    Mar 5, 2017
    Posts:
    246
    Congrats with the launch.
    It's been fun to observe how you guys handled things from introduction to launch.

    I have a question.
    I'm working on a 3d mobile game, primarily targeting higher end Android devices.
    It's a high speed game with a bit of a cartoony look, where my framerate is very important. (trying to stay close to 60fps)
    I am now using the legacy shader. But i would really like use a bit more textures and options to break tiling and such, while keeping my framerate up.
    Do you expect your shader to be of benifit to me?
     
  17. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    One to add to my list of must gets when I have the money, in the mean time I'll have to drool over the screenshots and videos people create :)
     
    docwes likes this.
  18. pixelsteam

    pixelsteam

    Joined:
    May 1, 2009
    Posts:
    924
    Was very honored to be part of the Beta and watch this amazing tool take flight. Congrats guys.


     
  19. blackbird

    blackbird

    Joined:
    Aug 9, 2011
    Posts:
    591
    is the Swamp Demo included ?
     
  20. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Texture profile (texture relations in heightblend, water relation) - yes
    Textures - yes
    Terrain and models - no
    Small terrain example to check why and what is going on and how to reproduce? - yes
    Image effect profile to reproduce movie effect - yes

    We coudn't give more because models was 3rd party assets.
    Trees - Dynamic Nature Starter
    Stones - Megascans library

    I will make more demos and also effects will be included in asset.
     
    Last edited: Jun 26, 2017
    BackwoodsGaming and S4G4N like this.
  21. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    Purchased!

    Can't wait to play around with this and see what I can build with it. :cool:
     
    S4G4N likes this.
  22. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    309
    Thanks for that pic of the interface snippet, @GuinUK !

    Congrats on the release, @NatureManufacture & @AdamGoodrich !!! Now that it's out, is there any chance of posting some stills or clips that show the UI? Also, you list that Metal and OpenGL ES is supported, but what about OpenGL? Currently I think Unity's macOS Metal support only goes as far as pragma 3.5, I'm hoping this will work well (and have tessellation support) on newer Macs (anything whose GPU can hit pragma 4.6)...
     
    GuinUK likes this.
  23. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    Unity Metal is pragma target 4.5. This isnt going to magically change on newer macs/os's without work by unity - it's up to unity to take advantage of metal tessellation support and then allow a different pragma target that has tessellation on supported hardware/os.
     
  24. Kolyasisan

    Kolyasisan

    Joined:
    Feb 2, 2015
    Posts:
    397
    I can see there is an ambient occlusion feature. What kind of ambient occlusion is this? Is it the one that is applied to splatted textures or the one which applies baked AO to the whole terrain?
     
  25. wwg

    wwg

    Joined:
    Apr 2, 2014
    Posts:
    130
    Congratulations on the release...it looks great!

    A couple questions:
    1. Is the texture saturation adjustable?
    2. Is parallax/relief supported?
     
  26. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    3 options:
    - per texture like in models
    - fake ao from normals ( faster and quite accurate)
    - flat like in unity terrain
    - brightness and rgb color so hmm yeah
    - in next update I will add paralax
     
    Dwight_Everhart likes this.
  27. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    309
    @elbows Macs can do tessellation in Unity through OpenGL, though the asset store page doesn't actually say it supports OpenGL - I'm trying to find out if that was a typo or if that info is correct. Megasplat does texture arrays and supports tessellation on Mac, so it's entirely possible CTS can do it too.
     
    Dwight_Everhart likes this.
  28. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    I'm seeing very slow performance on my Surface Pro 4 with this shader. Opening up the "landscape_demo" scene gives me about 4 FPS. I switched everything to use the "Built in standard" material, and speed went up to 68 FPS, but of course without your shader.

    Any suggestions for improvement?
     
  29. bigmonkgames

    bigmonkgames

    Joined:
    Mar 16, 2016
    Posts:
    12
    Seems associated script is missing for the Main Camera in the demo levels. What script supposed to be associated?
     
    S4G4N likes this.
  30. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Apply profile ( button) at the scene and setup basemap distance to 600 via profile object ( it is lod here not like in unity shader). It seams that something didnt refresh after import. Change pixel error at terrain from 1 to 3-5 I forgot to change it. After this i get 160fps with tesseled shader at 760gt.
    Please read readme file:)
     
    S4G4N likes this.
  31. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    It was image effect profile nothing more:) we will fix it
     
    bigmonkgames and S4G4N like this.
  32. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    I have lowered the settings like you suggest, and increased the speed to 8fps. This is still 8 times slower than the Unity shader. I think I'll wait until you have your speed improvements in before trying again.
     
  33. llJIMBOBll

    llJIMBOBll

    Joined:
    Aug 23, 2014
    Posts:
    578
    Have same issue, even on basic the fps if half of unity or rtp
     
  34. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    You got 64 without our system and with unity shader? What device? As I got 160 with tesselation on 760gt its pretty hmm strange...Maybe we left something at the scene like unbaked lightprobes etc...

    We will reupload scenes today and fixes
     
  35. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    Surface Pro 4, i7, iris 540.
     
    S4G4N likes this.
  36. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    You need to load the Unity Post Processing Stack - It is mentioned in the readme's along with links. Think I will remove this so as to remove confusion. Its a pity though as it really makes a nice difference.

    If you are on low end machines, try the basic shader and let us know how you go. BTW I introduced a last minute bug - so you will need to swap shader type in edit mode. Fixing it now.
     
    BackwoodsGaming and S4G4N like this.
  37. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Im not sure if this device will handle tesselation with good fps with 5x5k terrain. Anyway we have alot of optimisation stuff on road and specialy bug fixes - we just find alot.
    From our maany test
    -Basic shader is as fast as unity
    -Advanced a little bit slower
    -Tess slower but not so much but soon it will be really fast.
    We will check everything because your result are bugs on our side (refreshing compilation etc)
     
  38. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    Thanks - fwiw, I did not have the tesselation version selected in the profile - it was just the advanced. however, changing the general settings to tesselation (and then applying) didn't seem to make a speed difference.
     
    S4G4N likes this.
  39. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    We found bug, we will upload fix in few h;) We improved scenes.
     
    Last edited: Jun 26, 2017
    Mark_01, BackwoodsGaming and S4G4N like this.
  40. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,213
    HAHA, cool to see the fast responses.

    What I just realized is that with two developers collaborating, there is twice the customers support staff and more brain power to resolve, pretty cool imho
     
  41. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Our demo scenes were set up for higher end systems. We just optimised them and more than doubled performance. Update will come out later today.

    Demo swamp just increased in performance by 5X - SSR in the post FX was the biggest killer. Turn it off on low end systems!
     
    Last edited: Jun 26, 2017
  42. GuinUK

    GuinUK

    Joined:
    Feb 27, 2017
    Posts:
    44
    A pleasure mate - I'm less than 6 months with Unity and decided I wasn't going to mess about making a small game - I'd go all-out. I genuinely can't believe how Gaia and CTS have allowed me to make terrains like this.

    Honestly. It's ridiculous. The floor there is almost flat - it's all shading and great textures that is making it look natural. I didn't realise how hard making a barren land would be - you cant chuck loads of models in to add interest so the terrain tools are a massive part.

    It's very important to understand how easy Adam's coding has made it. I genuinely didn't know what a prefab was in January, and 5 months later I'm making AAA grade terrains. And when I do balls it up both creators have corrected my errors and explained how I have cocked it up. I've learnt so much from using it to.

    CTS.png
     
  43. llJIMBOBll

    llJIMBOBll

    Joined:
    Aug 23, 2014
    Posts:
    578
    I added it to my project scene, selected all 16 terrains and from component menu clicked add cts to terrains. Then duplicated and reset the profile settings component and applied to scene. It picked up the textures I had. But fps was like 40 fps where-as if I use rtp i have 3 - 4x as much. Is there a particular way you have to setup the scene?

    I'm using 6790k and 290x water cooled, 16gb ram. windows 10
     
  44. bigmonkgames

    bigmonkgames

    Joined:
    Mar 16, 2016
    Posts:
    12
    Lol so much happened while I took a nap.
     
  45. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Screenshots wit fps and setup (RTP and Ours)? Btw wait for fix, it will improve it. Bts setup basemap distance to lower value. We do not use it as unity, it's like LOD in CTS - we will rename it to do not give bad confusing feelings;D
     
    Last edited: Jun 26, 2017
    Mark_01 and llJIMBOBll like this.
  46. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    For those that are concerned about performance - we did some demo scene optimisation which made a massive difference. I guess in hindsight we should have done this first.

    Here are a couple of screen shots with raw Unity vs our Advanced Shader. This is a pretty big 25 tile environment and computationally expensive. By comparison the Unity shader is dealing with just albedo and normals whereas ours has much more going on - more textures - height blending - detail injection - global normals - snow etc. Our goal with more optimization is to increase the performance of our advanced shader to get even closer to Unity shader.

    Our basic basic shader gets similar or better performance to Unity but is much prettier. I would show that off as well but that scene is set up for advanced and I don't want to break the demo.

    Visually our shaders are orders of magnitude better, and we plan to add automated LOD support in the near future which will improve our performance further.

    u1.jpg

    u2.jpg

    U3.jpg

    And here is the optimised swamp scene.

    We changed the post processing and removed the SSR (its so pretty but is very expensive), and optimised it. We also changed the shader to the advanced shader because tesselation I think still needs more optimization.

    Bart and I stand behind our product and we think its good. There is no smoke and mirrors at play here - that's a screen shot of the swamp scene "in editor" running and 1920 x 1029 @ 550fps. My card btw is a GTX 1070.
     
    Last edited: Jun 27, 2017
  47. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    same.. we are waiting as well..
     
  48. sylon

    sylon

    Joined:
    Mar 5, 2017
    Posts:
    246
    I guess these last posts answer my question ;)
     
  49. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Hehe - we have found our basic shader variant to generally be at or faster than the Unity shader and to also resolves a bunch of issues with the Unity shader.

    The main issue here is that we put some very heavy demo's together to make them pretty. I have been using it on desktop for quite some time and am quite happy with it, as is the beta group, but it's probably a good idea to wait until its a little more mature before expecting miracle mobile performance.
     
  50. buttmatrix

    buttmatrix

    Joined:
    Mar 23, 2015
    Posts:
    609
    What's going on with that frame rate discrepancy in the above screenshots?