Search Unity

CTS - Complete Terrain Shader - Deprecated

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

  1. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    On top of what Olander said, if you are really wanting to learn how to program udemy is a good place to start, if you can't afford a full college course, as they do throw in very discounted courses and they are all online with an app to run on mobile devices, if like me you cannot work and watch on the same screen.
     
    Olander likes this.
  2. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    There is one coming to Unity.

    I believe one of these is also coming to Unity.

    Hehe, I have been on the ass end of some pretty pointy feed back from @Olander, but he does it as a friend and I appreciate it :)

    Speaking of which - here is the promised 'how to' video - hopefully it provides a sense of how the previous video was made:



    On other cool news @chingwa has confimed that Tenkoku support is coming to WAPI soon as well, and I suggested that it would be rather cool to have Suimono also respond to weather... at which point we have air, land and sea all working in sync - and its very very cool!

    Having everything working nicely together is one of those things that's really painful to come back from once you have had it!
     
    antoripa, Vondox, Olander and 4 others like this.
  3. coverpage

    coverpage

    Joined:
    Mar 3, 2016
    Posts:
    385
    Used CTS with Lighting Box Asset.

    This is a properly quick build so it isn't perfect. I'm so pleased how good CTS mountains look from far and near.

     
  4. coverpage

    coverpage

    Joined:
    Mar 3, 2016
    Posts:
    385
    I'd like to give props to CTS so allow me to share some screenshots:

    img01473.jpg screen_1920x1080_2017-09-05_04-11-11.png screen_1920x1080_2017-09-05_04-05-51.png screen_1920x1080_2017-09-05_04-13-58.png img02718.jpg
     
    Last edited: Sep 4, 2017
  5. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    coverpage likes this.
  6. coverpage

    coverpage

    Joined:
    Mar 3, 2016
    Posts:
    385
    Thanks Adam. Im using Realistic Nature Environment by Patryk Zatylny, the grass is a hidden gem. I'm trying to make my megascans look like this to get more variety.

    Yes too much displacement, to the point it's unstable. I'll fix it. This was a truly fast build. Less than hour.

    But CTS really looks good. Besides memory spikes due to the grass, I have a decent framerate as well.
     
    kerrmedia likes this.
  7. Homer-Johnston

    Homer-Johnston

    Joined:
    Nov 26, 2012
    Posts:
    46
    Hi there! New CTS user :) a couple months ago there was some passing discussion about maybe trying to implement hole-cutting/transparent area abilities. Do you have any updates or plans for this on the foreseeable horizon? Would love to start working on some caves :) thanks for all your hard work!
     
    Stanton560 likes this.
  8. slappy000s

    slappy000s

    Joined:
    Jul 1, 2017
    Posts:
    1
    Adam, I picked up CTS the other day and running some tests this morning. I noticed you have a set tile size of 300. I really want my main base texture to be 1 to 1 on my terrain. My texture is 4096x4096 and cant get it to match- Its all tiled.
    :<. Any reason you have this set to 300? Please advise. All the others textures will work great, just need my base to look like I want it. So need more control or ability to set first or main texture to match terrain size. Thanks!
     
    Last edited: Sep 6, 2017
  9. Salja

    Salja

    Joined:
    Mar 23, 2017
    Posts:
    353
    heyho some News about new cts release with holes Support and cts (black Terrain) fix ?
     
  10. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Its been mentioned a bunch of times i think - transparencies and color maps are in the next release. Next release is well advanced but delayed because of my health - am on day 15 of a very nasty flu and I just don't have the mental capacity to do the challenging development that the next release requires (I rewrote the way we manage materials). As soon as I am well again, its the first thing i will be delivering.

    Black spots on terrain are not a bug - they are user error - and for those who are paying attention the issue and how to manage it is described in the knowledge base here : https://proceduralworlds.freshdesk.com/support/home

    Speaking of which - as I have mentioned many times now - I don't get alerted to posts here - or in the other 3 unity forums I have - or the facebook or twitter or youtube or reddit comms channels.

    It's simply not possible to keep up with it all, so if you want support then please first check the knowledge base (I am updating it as people ask questions so that mostly the answer should be there without you needing to ask), and then if you don't get what you need then use the support system to leave a message.

    So please - if you want a response from me go here : https://proceduralworlds.freshdesk.com/support/home

    Everyone who leaves a message, gets a response.
     
  11. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    I did this for the recent unity terrain promo on the asset store. The idea was to show off how the systems that are inegrated with Gaia can all work nicely together.

    The environment was made with Gaia, textured with CTS, lighting was Enviro and water was AQUAS. Camera flythrough was done with Pegasus and offline render for the video was done with Helios.



    Game time and weather was controlled by my FREE World Manager API system, which was being driven by timeline.

    http://www.procedural-worlds.com/blog/wapi/

    As soon as I am better again I want to start on a series of more detailed tutorials to show others how to get the best out of Unity and these integrated tool sets.
     
  12. claudius_I

    claudius_I

    Joined:
    May 28, 2017
    Posts:
    254
    What do you think is the best gpu grass asset (for gaia and CTS)?
     
  13. xAvatarchikx

    xAvatarchikx

    Joined:
    Aug 17, 2012
    Posts:
    69
    Hi! at me version 2017.2.b10 I use WebGL 2.0 WebAssembly, at start produces an error
    trying binaryen method: native-wasm
    UnityLoader.js:1 asynchronously preparing wasm
    UnityLoader.js:1 binaryen method succeeded.
    blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:7778 Initialize engine version: 2017.2.0b10 (6c4d42ddd191)

    UnityLoader.js:1 Creating WebGL 2.0 context.
    blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:7778 Renderer: WebKit WebGL

    blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:7778 Vendor: WebKit

    blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:7778 Version: OpenGL ES 3.0 (WebGL 2.0 (OpenGL ES 3.0 Chromium))

    blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:7778 GLES: 3

    blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:7778 EXT_color_buffer_float GL_EXT_color_buffer_float EXT_disjoint_timer_query_webgl2 GL_EXT_disjoint_timer_query_webgl2 EXT_texture_filter_anisotropic GL_EXT_texture_filter_anisotropic OES_texture_float_linear GL_OES_texture_float_linear WEBGL_compressed_texture_s3tc GL_WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb GL_WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info GL_WEBGL_debug_renderer_info WEBGL_debug_shaders GL_WEBGL_debug_shaders WEBGL_lose_context GL_WEBGL_lose_context

    blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:7778 OPENGL LOG: Creating OpenGL ES 3.0 graphics device ; Context level <OpenGL ES 3.0> ; Context handle 1

    UnityLoader.js:1 exception thrown: TypeError: Failed to execute 'compressedTexSubImage2D' on 'WebGL2RenderingContext': parameter 8 is not of type 'ArrayBufferView'.,TypeError: Failed to execute 'compressedTexSubImage2D' on 'WebGL2RenderingContext': parameter 8 is not of type 'ArrayBufferView'.
    at _glCompressedTexSubImage3D (blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:3594:39)
    at wasm-function[3674]:681
    at wasm-function[3780]:164
    at wasm-function[3775]:353
    at wasm-function[3087]:162
    at wasm-function[5564]:285
    at wasm-function[5551]:54
    at wasm-function[2430]:378
    at wasm-function[4105]:506
    at wasm-function[6019]:13
    at wasm-function[6010]:87
    at wasm-function[7542]:46
    at wasm-function[7541]:65
    at wasm-function[7537]:529
    at wasm-function[7479]:202
    at wasm-function[7454]:1096
    at Object.UnityLoader.b27779d52c65d15d6275c4130e4bf432.Module._main (blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:16369:74)
    at Object.callMain (blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:16805:30)
    at doRun (blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:16860:60)
    at run (blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:16874:5)
    at runCaller (blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:16777:29)
    at Object.removeRunDependency (blob:http://localhost:65066/7a30c5fd-cd53-4ca7-b30a-1bcff1cc3304:1948:7)
    at processDataJob (http://localhost:65066/Build/UnityLoader.js:1:3551)
    at i.callback (http://localhost:65066/Build/UnityLoader.js:1:16755)
     
  14. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Grats to CTS in making it to the 2017 Unity Awards candidates! If you love CTS, go vote! https://awards.unity.com/2017

    Congrats Adam and Bart in creating a great asset worthy of recognition!!!
     
  15. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Thanks Shawn - very excited to get this news on waking up this morning!! :)
     
  16. Olander

    Olander

    Joined:
    Sep 13, 2014
    Posts:
    405
    Also congrats to Adam and Bart on CTS. I voted. :)
     
    Vondox, AdamGoodrich and Mark_01 like this.
  17. Mark_01

    Mark_01

    Joined:
    Mar 31, 2016
    Posts:
    634
    Congratulation's to you both :) I just saw , voted up + :)
     
    Olander and AdamGoodrich like this.
  18. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    Yep congratz :)

    Wondering if someone used CTS with "cartoonish" fantasy textures, like in WoW for instance.
     
  19. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
  20. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    Zesix :D, i saw him on a discord channel for Ben Tristem Unity courses :D. Yup it looks nice :D
     
    AdamGoodrich likes this.
  21. xAvatarchikx

    xAvatarchikx

    Joined:
    Aug 17, 2012
    Posts:
    69
    Hi!Is there a solution to this problem?
     
  22. Mark_01

    Mark_01

    Joined:
    Mar 31, 2016
    Posts:
    634
    your answer is up the page and in many posts.. if you want an answer
    Adam said like half way up this page

    Quote " Speaking of which - as I have mentioned many times now - I don't get alerted to posts here - or in the other 3 unity forums I have - or the facebook or twitter or youtube or reddit comms channels.

    It's simply not possible to keep up with it all, so if you want support then please first check the knowledge base (I am updating it as people ask questions so that mostly the answer should be there without you needing to ask), and then if you don't get what you need then use the support system to leave a message.

    So please - if you want a response from me go here : https://proceduralworlds.freshdesk.com/support/home

    Everyone who leaves a message, gets a response. "
     
  23. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    764
    I'm doing such a thing, i will post a nice pic when i can!;)
    i love CTS!
    Guess we could use this forum to show off a bit more what we do with it!!!
     
    AdamGoodrich and Mark_01 like this.
  24. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    So as my old teacher said "If You don't know if sth gonna work, just try do it Yourself" :).

    So i tried to use the cartoonish textures with cts. As the textures i have dont have normal maps etc., so i can't benefit fully from CTS it still gave some nice results over standard shader. Also i used a perlin noise and geo stuff (u can see it where grass pickups the color from terrain :D).
    upload_2017-9-14_22-0-36.png

    I think it looks ok. Ofc i am not an artist, so perhaps if i had access to the complete texutres with all variants, i could do better :)
     
  25. Olander

    Olander

    Joined:
    Sep 13, 2014
    Posts:
    405
    Looks nice actually. A very strange different planet/world look but looks nice. Even for cartoon types of textures you should really have a look at making normal maps....subtle ones that enhance not ruin. You will be surprised by even a cartoon look that has some awesome details.
     
    TeagansDad, eaque and AdamGoodrich like this.
  26. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    THanks, well i still need to practice color grading and overall postprocessing in Unity.

    Next month will try this in combination with CTS https://www.assetstore.unity3d.com/en/#!/content/70354 (Spent to much money this month on assets :D :D). It has substance textures, so i think it gonna work well with CTS and this is another style of graphics i love, next to cartoonish fantasy.

    Edit: Today i think i got a better result

    upload_2017-9-15_21-5-56.png
     
    Last edited: Sep 15, 2017
  27. ranaUK

    ranaUK

    Joined:
    Mar 1, 2017
    Posts:
    166
    Hi @AdamGoodrich, is cts wapi support available to download yet?

    Rana
     
  28. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    No - it will be in the next release of CTS - which should be in the next week. Am finally starting to get better after this flu - has been a nasty one.
     
  29. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    I think CTS works great with cartoonish textures. Perlin noise, this geo stuff. EVen without normals etc, i can parametrize textures alone. I need to get access to cartoonish textures with normal, height maps etc, it will be more fun :)

    upload_2017-9-16_6-52-26.png

    WIth the changed post processing, te effect is nice i believe :)
     
    TeagansDad, Mark_01 and AdamGoodrich like this.
  30. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    hidden gem on the grass, OK...
     
    AdamGoodrich likes this.
  31. ranaUK

    ranaUK

    Joined:
    Mar 1, 2017
    Posts:
    166
    Thanks Adam; glad you are feeling better.

    Quick suggestion: when I add CTS to terrain, it creates a profile name like "CTS_Profile_170916-1910", and it creates some materials under Terrains like "Terrain_819186_Advanced" and so on. These naming are not useful to me, and I rather have it named based on my scene. At this point, I can rename CTS profile to something like "CTS_Profile_MainScene", but how do I get generated terrain materials to respect my profile name.

    It will also help figuring out why at times I get spammed with materials under terrains with different name, though I only have one scene with cts terrain.

    Also, does lightmap stores any cts data? I have removed CTS from my scene (Shader, WeatherController from terrain, TerrainManager and WeatherManager from scene) and created it as an AssetBundle - but the bundle still pulls in CTS shaders.

    Thanks again.
    Rana
     
    Last edited: Sep 16, 2017
  32. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    In next release I am making the persisting of materials to disk an optional thing - it ended up causing more hassles than it was worth.

    In current release the materials are named after the terrain - and they have and also use the terrain instance ID to make them unique as there are people who generate multiple terrains all of the same name (why would people do this ?) :)

    From memory you can change the profile's name - but the material name is always going to be painful due to the assumptions I made there - if you can hang out for another week the new release is almost done and you will get the new version - and the issue goes away.

    Don't know about the light map question. Unity must be keeping a reference there somewhere. I haven't done much with asset bundles.
     
    Mark_01 and BackwoodsGaming like this.
  33. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Thought I would share some screenies of the new features in next release - there is actually quite a lot of work in it.

    Would have been released earlier but as have commented, have been quite sick past 3 weeks.

    They include:
    • rewritten material handling system
    • color map support (with near and far blending system)
    • per terrain cutout support (height and mask based)
    • 1 pass shader mode - bypasses hard coded unity limitation and drops draw calls by about 400%
    • significant new shader optimisations
    • a bunch of UX tweaks (e.g shows if feature is active or not)

    2017-09-15_19-57-34.jpg

    2017-09-15_19-52-24.jpg

    2017-09-15_19-50-32.jpg
     
  34. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Looks good :)
     
    AdamGoodrich likes this.
  35. ranaUK

    ranaUK

    Joined:
    Mar 1, 2017
    Posts:
    166
    Hi Adam, and does that instance Id changes if I save the scene with a different name.

    Another quick question: I'm most probably doing something wrong; I'm using VR, and Swamp Demo with Unity Profile get's me 90FPS (capped); if I change to even the basic one, it dips down to 45FPS - is that much of a dip expected?
     
  36. rasto61

    rasto61

    Joined:
    Nov 1, 2015
    Posts:
    352
    are you using VIVE? if yes, do you have asynchronous reprojection enabled and interleaved reprojection disabled in steamVR performance settings?
     
  37. ranaUK

    ranaUK

    Joined:
    Mar 1, 2017
    Posts:
    166
    I had both enabled to get 45FPS;
    With both disabled, it's around 60FPS
    With Async enabled and Interleaved disabled, I get around 70FPS;

    Problem is, this is user settings - I can hardly ask the users to change it.
     
  38. ranaUK

    ranaUK

    Joined:
    Mar 1, 2017
    Posts:
    166
    Awesome; any ETA? About to release my app, and rather have a nicer looking terrain than default unity :D
     
  39. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Yes - about a week.

    While we have improved and will continue to improve the shader - you need to expect that there will be some performance impact of using it over standard unity terrain - it does way more than standard unity terrain. To get a true sense of the performance you need to do a release build - the editor skews things signifcantly.

    Also - don't use swamp demo as your benchmark - it is terribly set up and is a hangover from our initial release. I think we will re-do that demo - and put something there that shows off the techniques, while also delivering good results. Despite this you will still get a nice perf improvement in the next release as we both improve the shader and halve the draw calls.

    As a general point, for the best performance with our system use the basic shader - it does the least work and still drives some very nice results when compared to Unity terrain.
     
    Mark_01 and ZoneOfTanks like this.
  40. ranaUK

    ranaUK

    Joined:
    Mar 1, 2017
    Posts:
    166
    Hi Adam, figured out assetBundle reason. I had removed cts, but the material was still set. Which meant it pulled it shader dependencies. Let's see if it works in release.
     
    AdamGoodrich likes this.
  41. rasto61

    rasto61

    Joined:
    Nov 1, 2015
    Posts:
    352
    It is the interleaved reprojection that is responsible for the 1/2 drop in fps.
    The settings are there for a reason, so I dont think its so far fetched to ask the users to have a specific setting to get desired fps. VIVE already requires a slightly more involved setup.
    Also if in editor, having a scene view open while in play mode lowers the fps.

    The basic shader should not give you such a dip. The difference compared to the unity shader should be negligible
     
  42. ranaUK

    ranaUK

    Joined:
    Mar 1, 2017
    Posts:
    166
    Not splitting hairs here, but logically that makes no sense. With unity shader I'm capping at 90fps - why is the interleaved NOT reducing it to 1/2? Because Post hoc ergo propter hoc.
     
  43. rasto61

    rasto61

    Joined:
    Nov 1, 2015
    Posts:
    352
    With interleaved reprojection enabled, even if you are near 90 fps, when you start dropping frames it cuts the fps to 45. When you use cts and it causes the interleaved reprojection to kick in (unity shader is slightly faster, thats why it caps at 90), that causes the 45 fps dip, not cts. If you disable that setting the drop is smaller
     
  44. ranaUK

    ranaUK

    Joined:
    Mar 1, 2017
    Posts:
    166
    Aah, I see what you mean; well, there is at-least 20fps dip - I've my fingers crossed and eagerly waiting for the new shader with less drawCalls.
     
  45. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    I didn't see anything about mesh terrain support on that list. It's been brought up a few times, and you and @NatureManufacture have both indicated it would be added at some point. Any news on when? I'm working on a scene that blends a standard Unity terrain with a vertex painted mesh terrain containing a number of concave features. I'd like to apply the same shader/effects to both, because the mesh doesn't look so great next to the CTS terrain at the moment. :(

    I'm not even sure if your implementation of "mesh support" will be compatible with what I'm doing. Will it support vertex painted meshes? If so, can we use something like @jbooth's vertex painter with it, or will it have a built-in paint tool? Will it offer triplanar shader support or will the mesh need proper UV mapping? I don't know how far along you are with this, or if you even have answers to some of these questions yet, but I'd appreciate any additional info you have on this feature, and when you expect to deliver it. o_O
     
    BackwoodsGaming likes this.
  46. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    It will be in this update. Just support for mesh material (proper normalmaps). You could paint your terran with splats and save as mesh by for example terrain to mesh and done. We do not have any vertex paint tools in plans atm.
     
    Mark_01 and AdamGoodrich like this.
  47. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    It's still not clear to me whether CTS will work on my mesh, or what kind of preparation it will need. While it started out as an exported terrain mesh, it's been extensively modified in external modeling apps, adding caves, tunnels and overhangs (see example here), so I doubt the original splat data will still be usable. Is there still a way to use CTS with it? Are there alternatives to using splat maps in situations like this? Will you be providing examples, or some kind of workflow documentation? Sorry for all the questions. I'm just trying to decide whether to wait for the update, or look for another solution if my situation is not going to be covered. o_O
     
    Last edited: Sep 18, 2017
  48. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Further to what Bart said. In this release we will provide a mesh version of the shaders. The work flow will be to set it up on normal terrain with the multitude of tools out there that do this - and then apply the settings from standard terrain to the new shader.

    The mesh version will have all the features of the normal version but will lack the significant tooling provided in the normal version. The idea is to get it right on a normal terrain and just apply the settings to the mesh version of the shader. If you happen to be using Gaia then you can also export a mesh from your normal terrain so it should be a low poly 1-1 match.

    In future versions we will explore better tooling, but we will not be providing painters and re-invent all the goodness that the existing workflows provide.
     
    Mark_01 likes this.
  49. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    As you have described your use case - no - CTS would work but usability would be very poor as you would have to paint splatmap channels directly in your image editor. If it was direct 1-1 match with the terrain then it would be.
     
    Homer-Johnston likes this.
  50. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589


    Same terrain but with realistic models and textures :)