Search Unity

  1. Unity 2019.1 is now released.
    Dismiss Notice

CTS - Complete Terrain Shader

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

  1. Shadowing

    Shadowing

    Joined:
    Jan 29, 2015
    Posts:
    1,133
    @AdamGoodrich Now that ive been using CTS for a while now. Having only 2 stage distance mixing isn't enough. Needs at least 3. 3 be perfect really.
    For example LOD's. Thats why LOD"s are usually at least 3 stages.

    With only a close and far view there is a big gap somewhere around 15 to % 25% from the near view setting.

    I want super small tiles up close and huge tile far away. When my character is about 60 units away the big tiles are to blurry cause thats what i have the distance set at of course. But thats the distance I need to maintain how I want less than 60 to look.

    Its a pretty large issue. :(
     
  2. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    256
    The pic you posted is showing the HDRP shaders which use more keywords than built-in shaders but also were not present at all in previous versions of CTS. It is a bit strange though that those keywords count towards your limit if they are not used in your project at all.

    I've taken a note to review this for a future update. The problem is we have done such a thing with the water shaders in Gaia and we had support cases where people could not find the shaders for the other pipelines because they were supplied as .txt files that you needed to rename to .shader to activate them.
    We hope that with the fututre development of the SRPs there will be some kind of event that we can hook in when the user switches pipelines, then we could make such switches automatically.
     
  3. Paddington_Bear

    Paddington_Bear

    Joined:
    Dec 9, 2012
    Posts:
    274
    Hi guys. I simply cannot get differed decals (2018.3 and HDRP 4.8) to work.

    I've isolated CTS as the problem, and can't find a workaround. Someone else in this thread pointed out its possible but that's all I could find.

    Any pointers? Cheers.


    Decal just not showing, everything is updated, decal works exactly as expected on terrain without CTS, other objects etc/
     
  4. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    256
    I added this to our development backlog when you mentioned this last time, but we did not get to looking into it yet as it is more a feature request than a bug. What I don't understand is why this issue is not solvable by adjusting mixing distance and sharpness. You mention that you have your near far mixing distance set at 60. Here I have done the same for a contrast rich texture. Of course it is obvious to tell where the border of the near / far mixing distance is:

    mix1.JPG

    This is how I imagine your problem at the moment - it is very obvious that there is some kind of border / line in the distance where suddenly the texture tiling ends. However this issue is far less prominent if you move the mixing distance back but in return reduce the sharpness:

    mix2.JPG

    You can still tell of course that there is a bigger tiled texture in the background since this is an ugly texture with strong tiling, but if I repeat the same exercise with a grass texture: Pretty obvious line with mix distance = 60, sharp mix

    mix3.JPG

    With mix distance = 120 mix sharpness = 2 the transition looks quite natural to me:

    mix4.JPG

    Can you please provide a screenshot from your project where the issue is visible?
     
  5. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    256
    Hi, this is unfortunately a current issue with the CTS HDRP shaders themselves, we are looking into it and want to provide a fix for this in a future update.
     
    Paddington_Bear likes this.
  6. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,599
    Bart and I discussed and explored this quite a long time ago. We agree that it would be awesome to have.

    However we are still bound by how Unity terrain itself works - as our shader just renders what it is told to - and because Unity terrain does not support this we can not either.
     
  7. jakes-du-preez

    jakes-du-preez

    Joined:
    Aug 14, 2013
    Posts:
    24
    Good Morning. I just want to ask. Im running the latest release of 2019.1 f2 and waited for CTS 2019 to update yesterday. But even with a blank new project using the HDRP template. only adding a terrain , importing CTS 2019 and setup the terrain and assigned a profile. Im not sure if there is still issues with the updated CTS version or is there something else im missing. I keep getting errors refering to the HDRP shaders using the default project package that comes with thge template. The unity shader works but as soon as i set basic adv or tess i get some very weird behaviour in the editor scene view.

    Have an awesome day!!!!
     
  8. razzraziel

    razzraziel

    Joined:
    Sep 13, 2018
    Posts:
    85
    no discount for upgrades? come on. i have to pay 20$ to upgrade while newcomers can buy 2019 for 28.5$. same goes with sectr too.
     
  9. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    256
    CTS requires HDRP version 4.8 at the moment which is not available for installation in Unity 2019.1, so you currently need to use Unity 2018.3 to use CTS in HDRP. We are working on an update to support a higher HDRP version that is available under 2019.1 as well.
    Unfortunately the SRPs change a lot with each version which requires us to adjust the shaders for each new version that is coming out.
     
  10. jakes-du-preez

    jakes-du-preez

    Joined:
    Aug 14, 2013
    Posts:
    24
    thank you
     
  11. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,599
    We just released yet another free update to the original CTS in massively good faith to support people on 2018.3, and it should work fine on 2019.1.

    The asset store does not support discounting upgrades.. and your upgrade fee... which is still less than the sale price is a fraction of the price of the full asset and it goes toward the cost of support and the development of new features.

    For the record, these upgrade fees go into paying the team who bring them to you. We now have to support 1 major Unity release, and countless sub releases every 3 months x 3 pipelines and this takes a massive amount of specialized time and effort. I have to sell 718 upgrades to break even on what it cost me to make my part of CTS 2019 - and that's just for me. I have not yet broken even so you get all that work at no benefit to me.

    @NatureManufacture also had two highly specialized people working for more than a month to reverse engineer how the new unity terrain instancing system works, and then rebuild the shaders x 5 x 3 pipelines to support them. He has to do another massive amount of work again to do the same for Unity 2019.1 as Unity changed things significantly yet again.

    At some point people need to understand that the asset store is not a licence to print money, and that the minimal upgrade fees we charge go straight back to them in for the form of good product and good support.
     
    Last edited: May 4, 2019
  12. SickaGamer

    SickaGamer

    Joined:
    Jan 15, 2018
    Posts:
    600
    @AdamGoodrich I may nag you guys in regards to a few things, but I understand how products work. Think of what Adam does with his year's upgrades like Microsoft does with their OS, Office products ect... It is how you stay alive... If you think you buy something once and it will never cost a thing again, then you don't know how business is run. The people who are not doing what Adam is doing, are doing this as a hobby or a side business. Adam livelihood is Unity and not moonlighting like some other devs are.
     
    AdamGoodrich likes this.
  13. xoodZ

    xoodZ

    Joined:
    Jan 8, 2018
    Posts:
    5
    How much does performance improve when you enable the CTS Draw instanced option in 2018.3+?
    Who has already purchased CTS 2019 - please measure the performance in both modes and publish here.
    Adam, I'm begging you to conduct a study on improving performance on your example maps.
     
  14. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,599
    How are they relevant other than as an example of how to set it up?

    They range in performance from somewhere from 800fps or so (from memory in a build) to 250 FPS or so when built on my gtx 970 based 4yo machine.

    A real world game has so many factors that influence its performance that every game needs to be optimised in its own way. Empty scenes with CTS in them are not a valid measure of real world game performance.
     
  15. Dawie3565

    Dawie3565

    Joined:
    Dec 30, 2018
    Posts:
    53
    Hello Adam,
    I am a new user with CTS.. I was getting a TDR strike during GPU baking when I apply in multiple textures (+15) with Triplaner (+4) that cascades failures down into a access violation.. do any optimization settings have any way to push triplaner to draw more quickly ?

    i did find a work around by disabling TDR in the system registry but I would like to find another way within CTS if possible

    many thanks love CTS, it make things wonderful keep up the good work
     
    Last edited: May 4, 2019
  16. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,599
    I am not sure how GPU baking has anything do to with CTS. Can you please bring the question to our Discord. Maybe Bart / @NatureManufacture will have some insights.
     
  17. Dawie3565

    Dawie3565

    Joined:
    Dec 30, 2018
    Posts:
    53
    thanks will do
     
  18. rastlin

    rastlin

    Joined:
    Jun 5, 2017
    Posts:
    88
    Are there any plans to upgrade to newer SRP and HDRP version?

    The 4.8.0 breaks ShaderGraph in 2019.1.

    This actually renders this asset not compatible with 2019.1 when HDRP is used, it should be stated in the description like so.
     
    Last edited: May 11, 2019
  19. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,599
    Unity 2019.1 was just released and it takes time to update and test the shaders.

    We should to have another update released next week to add support for it.
     
  20. sliding

    sliding

    Joined:
    Aug 16, 2017
    Posts:
    2
    Hello. Does CTS 2019 work with Unity 2018.3.14f1?
     
  21. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    256
    Yes, it also supports the SRP (HDRP /LWRP) version 4.8.
     
    Mark_01 and sliding like this.
  22. sliding

    sliding

    Joined:
    Aug 16, 2017
    Posts:
    2
    Thanks
     
  23. jakes-du-preez

    jakes-du-preez

    Joined:
    Aug 14, 2013
    Posts:
    24
    Hi. We still up for an update to CTS 2019 today for 2019.1 hdrp 5.7 support?
     
  24. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    256
    I'm in the final stages of testing, if all goes well it should be released tomorrow. Why did you assume the update would be out today? AFAIK we never gave out an exact release date.
     
  25. jakes-du-preez

    jakes-du-preez

    Joined:
    Aug 14, 2013
    Posts:
    24
    Maybe got confused with another product. sorry
     
    PWPeter likes this.
  26. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    256
    No problem at all, I was just worried that we announced it for today somewhere on discord or the forum and now a lot of people are waiting for it, as I did not remember that we set a specific date for it. ;)
     
  27. rastlin

    rastlin

    Joined:
    Jun 5, 2017
    Posts:
    88
    @PWPeter will the updated shaders be compatibile with latest HDRP for Unity 2019?

    Specifically I'm talking about version 5.13, 2019.1 ships with 5.7 but there has been few updates alongside, some decals fixes that I would need in my project.
     
  28. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    256
    The supported version will be 5.7.2. Please note that there is quite some effort involved for us to keep up with the rendering pipeline developments. For each new SRP version we need to

    -Adjust / develop shaders
    -Test that all shader features are still working across the 4 CTS shader types
    -Test package import and functionality in Unity 2018.3 and 2019.1
    -Review the demo scenes (HDRP changes can result in different lighting and the various HDRP assets not being compatible with each other)

    A new SRP version is coming out every couple of days, it is difficult for us to go through the cycle above for every new SRP version instantly, plus we would create additional compatibility issues with our other assets that are touching SRP as well (Gaia, Ambient Skies)
     
  29. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,599
    CTS 2019 was just updated to support the 5.7.2 on LW and HD, so it will now run nicely on Unity 2019.x in all the pipelines.
     
  30. mdaarishkhan_ls

    mdaarishkhan_ls

    Joined:
    Jan 11, 2016
    Posts:
    1
    hi ..i am a 3d artist and currently working on building on a large scale terrain with photo realistic visuals .i am doing it as a personal project i have theoretically gone through many different tools available and i feel terra 3 fits my need as intend to generate detailed real world terrain,i want to use mega scan surface textures for best results but i still couldn't figure out as to how will i be able to use the splat map generated by terraland and be able to use it with CTS 2019 as found it to best available off the shelf PBR terrain shader available .unity HDRP layered lit shader does seem to be able to do the job but apparently isn't completely PBR capable i am not sure how would i be able to control the heightmap blending between textures precisely as it seems it doesn't really do much with the height maps so instead i want to use CTS 2019 ..this has been my point of concern so far ..i am fairly new to level design process but i have been reading a lot before i start ..i am planning to purchase the following assets if i reach a point wherein i feel they fit my need
    1.terra3
    2.CTS
    3.megascan subscription
    4.easyroads v3 pro/road architect

    i am not thinking about other stuff at the moment

    my question again is
    1.if we are able to use splat maps generated by terra 3 with cts 2019
    and about
    2.how we can control the tiling issue with cts .i have seen some very good terrain demos on youtube that doesn't seem to have tiling issue at all and look perfectly fine and believable.
    i will be using HDRP

    also apologies for posting my question here .as i know its not the right pace to ask ,but i am new on the forum .

    please help.
     
  31. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    256
    Just to make sure, with "terra 3" you mean this product? http://terraunity.com/product/terra-3/
    If that is the right one, it should work. From the looks of it it has an option to create unity standard terrains for its terrain tiles. If this is the case, CTS should work with those splatmaps just fine. If in doubt, you could ask the terra3 developers as well, CTS would require a splatmap in the same format like a default unity terrain uses, then it will work.

    You can combat tiling in CTS in multiple ways:
    1. Each texture has a near and a far scale setting with a customizable mixing distance which allows you to set a different scale for the far away texture which helps with repeating patterns on far away terrains. This post here is not entirely focused on tiling, but it shows the near / far scaling and the mixing distance: https://forum.unity.com/threads/cts-complete-terrain-shader.477615/page-48#post-4484086

    2. If you avoid spawning textures at full strength everywhere and you use a height map for height blending, you can blend in the underlying texture in spots here and there to avoid tiling. This post shows how a grass texture can be mixed with the underlying earth texture (look specifically at the middle picture): https://forum.unity.com/threads/cts-complete-terrain-shader.477615/page-45#post-4198741

    3. A variation of 2.) You can use a second texture that is similar in color / contrast and pattern to the first texture and spawn it with a noise pattern on the first texture to break up tiling. This grass texture seems to have no tiling at all:
    tiling_3.jpg
    It is because a second grass texture was spawned on top with a noise pattern, here is the second texture highlighted in red:
    tiling4.jpg

    4. CTS allows you to add a detail normal texture that will display shadows and highlights across the terrain to create the illusion of "fake details" to further break up tiling. Without detail normal map, if you look closely you see the texture tiling:
    tiling_1.jpg

    With a detail normal map it is much more difficult to spot the tiling, because the highlights / shadows break up the pattern:

    tiling2.jpg
     
  32. rastlin

    rastlin

    Joined:
    Jun 5, 2017
    Posts:
    88
    Is Tesselation capability missing in HDRP??

    I get an error:
    "CTS could not find a valid shader for this configuration: -- Render Pipeline: HighDefinition2018x - Shader Type: Tesselation - Shader Feature Set: None"
     
  33. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    256
    Tessellation is currently not supported in HDRP due to technical limitations, but we want to support it when it becomes accessible. Please note that Tessellation is also not supported by Unity in their own Shader Graph in HDRP yet: https://forum.unity.com/threads/tessellation-option-in-hdrp.662182/
     
  34. rastlin

    rastlin

    Joined:
    Jun 5, 2017
    Posts:
    88
    This might sound reasonable, however from customer perspective this is not sufficient.

    You advertise that the asset provide Tesellation capabilities, it's nowhere state it's not available in HDRP. You could provide it via your own custom shader. Customers does not really care it's not available in core framework you base your work on.

    This asset desperately needs a feature grid describing exactly what feature are and are not available in which rendering pipeline.
     
  35. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,599
    The unity terrain engine is responsible for the underlying mesh, and it does not support it, so we we can not support it either until it does. @NatureManufacture is the shader coder - he could offer some more insight if I have this incorrect.

    We do provide tesselation support in the other two pipelines, and not being able to do this in HD SRP is not some overt money grab attempt by us. The HD pipeline is changing almost weekly it seems, and as soon as Unity support it, so too will we.

    If you feel that you have been misled then please lodge a support ticket and we will refund your purchase.
     
    KeithBrown likes this.
  36. rastlin

    rastlin

    Joined:
    Jun 5, 2017
    Posts:
    88
    I did not wanted to sound rude, if I did, then I apologise.

    While I would appreciate tessellation in current release, I'm quite hopeful you will add it at some point, and the asset will suite my needs for the time being.

    I wanted to point out how the documentation could be improved, since this is a big issue with Unity assets in general in my opinion. We have some many dependencies in Unity ecosystem on various pipelines, components, and even render settings, it's pretty hard to take an educated guess if the asset is suitable for one's needs before making the purchase.

    Cheers, and waiting for further improvements around hdrp.