Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  2. Ever participated in one our Game Jams? Want pointers on your project? Our Evangelists will be available on Friday to give feedback. Come share your games with us!
    Dismiss Notice

Relief Terrain Pack (RTP) v3 on AssetStore

Discussion in 'Assets and Asset Store' started by tomaszek, Oct 22, 2013.

  1. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    So - if your terrains need global colormaps we need to process them one by one. Open ReliefTerrainEditor.cs and find the button "Construct colormap from detail". Perform actions that are taken upon button press for all terrain instances. When we visit perlin normalmap it creates combined perlin normals. It's handled per terrain. Visit combined textures/combined normals tab. There is a texture slot that has reference to a property of ReliefTerrain script/class. You can change this texture reference to alreeady combined and saved one (you can save it yourself or take from my example scene assets). Then per terrain layers textures. You should keep all terrains under the same hierarchy transform otherwise they will get grouped one by one and won't share textures (imagine how much memory you would need then to store set of all layer textures per terrain!). If you refresh textures in inspector on a single terrain it will be reflected by all (if they are not separately grouped). Then in RTP/Settings - use RefreshAll button. It should help.

    Tom
     
  2. Mr_Dan_O

    Mr_Dan_O

    Joined:
    Oct 12, 2013
    Posts:
    347
    Thanks! I successfully have fixed the issue, Thank you for the help again.

    FYI, I use "World Streamer" for streaming each terrain tile, it fully supports RTP Terrain. Hence I was not concerned about the RAM capacity. Amazing assets, BTW. if you work on the HDRP pipeline - as it is getting very popular - then this asset gets perfect and will remain the best for its market, IMO.
     
  3. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    Yes, I'm doing ... something... ;)

    Tom
     
    Untitl3d, Mr_Dan_O and hopeful like this.
  4. phobos2077

    phobos2077

    Joined:
    Feb 10, 2018
    Posts:
    208
    Is there a roadmap for adding HDRP compatibility?
     
    Untitl3d likes this.
  5. TJHeuvel-net

    TJHeuvel-net

    Joined:
    Jul 31, 2012
    Posts:
    487
    Is there going to be support for instanced tesselation?
     
  6. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    Together with HDRP which requires inroducing completely custom shaders (non-surface) anyway. No timeline for this yet though. Doing my best to manage stuff. Next "RTP" iteration will be based on completely new usability assumptions (more click&play approach), so it's not like doing some cosmetics on the top of RTP3. It makes no sense to go this way any longer. Still current RTP users can count on special treatment considering future products.

    Tom
     
    bluemoon, Mr_Dan_O, Untitl3d and 3 others like this.
  7. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,392
    Hi tomaszek,

    I am wanting to control the tiling of my terrain textures "per layer" or "per texture" if possible and perhaps even the "far/near tiling" as well. Is there some way to do this in RTP? I don't think there is currently, but is there some code or hack I could put into it to get per texture tiling to work?

    If not, as well, is there a 3rd party asset on the asset store (that you know of) that could work with RTP to allow me to achieve this? I was looking at the asset "Distingo" on the asset store, but I'm not sure if it would work the RTP.

    Overall my goal is to achieve tiling control for each texture on my terain.

    Thanks for any help.
     
  8. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    -> next RTP iteration will provide you with such solution. Currently it's not possible. Distingo is separate shader. It can't be combined with others (no matters what).

    Tom
     
  9. Migueljb

    Migueljb

    Joined:
    Feb 27, 2008
    Posts:
    512
    I've been using RTP for years now best thing to ever happen to unity terrain. When can we get a glimpse of RTP 4.0? Excited to see and use the next version.
     
    Mr_Dan_O likes this.
  10. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,392
    Ok, thanks Tom. That's too bad for this version, but that is great to hear it might make it into the next version.
     
  11. topofsteel

    topofsteel

    Joined:
    Dec 2, 2011
    Posts:
    975
    I'm getting the following errors on Unity 2018.2.20. How can I fix this? Thanks.

    Assets/ReliefPack/Scripts/ReliefTerrain/_Internal/ReliefTerrainGlobalSettingsHolder.cs(16,12): error CS0246: The type or namespace name `TerrainLayer' could not be found. Are you missing an assembly reference?

    Assets/ReliefPack/Scripts/ReliefTerrain/_Internal/ReliefTerrainPresetHolder.cs(16,12): error CS0246: The type or namespace name `TerrainLayer' could not be found. Are you missing an assembly reference?
     
  12. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    Seems like AssetStore gave you version that's meant only for 2018.3 and up. RTP3.3m is the last one that can handle Unity<2018.3. Currently there are only 2 package versions on UAS - one that can work on Unity2018.3 (RTP3.3o) and the other that is supposed to work from Unity5.5.0 up to 2018.2.

    If Unity resists to download RTP3.3m (this other package submitted from Unity5.5.0) you can try to do it from lower Unity version and grab the package from package cache (to install it manually on higher Unity). Or Upgrade your project to U2018.3 which is advised - 3.3o version is up to date and consists of additional fixes + takes advantage of U2018.3 terrain improvements (i.e. instanced rendering mode).

    Tom
     
  13. ValeryDev

    ValeryDev

    Joined:
    Mar 15, 2018
    Posts:
    2
    Hi Tomek. I have a problem with tessalation. When enable Tessellation / phong i get this:
    tessalation.jpg

    Terrain is gone.
    My unity version is 2018.4.0f1
    Please help
     
  14. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    take a look at varinfo.txt file in my ReliefTerrain folder. It's version mark. Do you work on Windows?

    Tom
     
  15. Elowan

    Elowan

    Joined:
    Aug 14, 2013
    Posts:
    106
    Hello Tom,

    so there is active development of a new (more artist-friendly?!) version of RTP?
    This is good news. Can you give some hints, what will await us?

    Cheers!
     
  16. ValeryDev

    ValeryDev

    Joined:
    Mar 15, 2018
    Posts:
    2
    thx for answear. i work on windows. verinfo: RTP3.3o for U2018.3
    will it be update for 2018.4 ?
    Regards
    Valery
     
  17. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    Valery, my bad - it's not a bug, but lack of Unity support for surface shaders with tessellation AND instanting. Shaders can't compile this way. You need to turn off instanced draws in Unity terrain settings (you probably need recompile shaders after because they seem to not recompile automatically). Don't worry - tessellation itself encourages keeping terrain heightmap resolution low (using separate terrain object with hi-res terrain height data for precise collisions) - thus CPU load and drawcalls are quite OK.

    That's the plan. I'm a bit distracted by something else, but I'd definitely would like to keep things simple and reusable in manner of drag&drop&enjoy. Still keeping as much visual power as possible. Honestly I wouldn't like to reveal too much too soon to not inspire UAS competitors (like best selling terrain shader by now implements more-or-less most of features introduced first in RTP back in 2013...).

    Tom
     
    jashan likes this.
  18. tcourbet

    tcourbet

    Joined:
    Oct 5, 2017
    Posts:
    46
    Hi!
    The last update regarding HDRP I could see is from April, and since I'm planning on moving my project to HDRP soon, I was wondering if there was any kind of timeframe to expect when it comes to scripable pipelines.

    Sorry, I don't mean to be pushy :oops:
     
    Untitl3d likes this.
  19. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    If you plan your HDRP project for next weeks or even 2-3 months you most probably won't get it.

    Tom
     
  20. tcourbet

    tcourbet

    Joined:
    Oct 5, 2017
    Posts:
    46
    Alright, thanks for the answer!
     
  21. jwvanderbeck

    jwvanderbeck

    Joined:
    Dec 4, 2014
    Posts:
    731
    Will the upgrade to HDRP be part of this asset or a new asset to buy? I'm currently using CTS and now they want me to buy a whole new asset for HDRP support. So I'm trying to decide if I want to encourage that practice or switch to another asset if I'm going to have to buy again anyway. But I don't want to say buy RTP and then find myself in the same situation again later.
     
  22. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    New RTP release will be separate product, just because it's not "RTP3 after some lifting". It's brand new package with 100% new cutting-edge technology involved. The same moment - take my word that having RTP3 license means you get next RTP muuuch cheaper (like currently you can get RTP cheaper having UBER and vice versa). New RTP pricetag for upgrade scenario will look reasonble, but I can't make any promises for the price by now. I'm not used to "sell" products that are still under production.

    Tom
     
    ftejada, akareactor, Mr_Dan_O and 2 others like this.
  23. jwvanderbeck

    jwvanderbeck

    Joined:
    Dec 4, 2014
    Posts:
    731
    Thank you for your honesty.
     
  24. ghostaegis

    ghostaegis

    Joined:
    Dec 1, 2016
    Posts:
    8
    We've been using UBER for about two years to great success and it's become integral to our project. Recently I was wondering if it would be possible to create a hybrid of the Two-Layer and Triplanar shaders.

    So something that used Triplanar mapping on the sides and vertex-color controlled heightmap-blending between two separate texture sets on the top (so three total texture sets: sides + top1 + top2).

    Also, I don't even know if this is possible, but can a triplanar shader use heightmap data to influence how blend is handled between top and sides, to get a more natural transition when the sides have large rocks or similar?

    Is this something that could be reasonably added to UBER? It would be a huge time-saver in our pipeline, but we'd hate to lose all the awesome rain/snow, etc effects you have built into UBER if we need to prioritize that. Unfortunately we don't have anybody in-house with in-depth familiarity with writing shaders, so in this case I think it's a bit beyond us.

    Edit: Also I did want to mention I know there is a two-layer triplanar shader included, but obviously that applies the two-layer blending to the whole object. What we need is more along the line of rocks on the side, dirt on top, and a darker worn/packed dirt as the top second layer to break up tiling/add worn paths.
     
    Last edited: Jul 11, 2019
  25. amynox

    amynox

    Joined:
    Oct 23, 2016
    Posts:
    100
    Hi folks,

    Is RTP compatible with Unity 2019 (standard rendering pipleline) ?

    I got some trobble trying to paint texture ....

    EDIT : Same with Unity 2018.3

     
    Last edited: Jul 12, 2019
  26. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    Fair to say - yes it is possible, but means quite some shader code tweaking in UBER. Your post came to my other product thread (Relief Terrain Pack) here, which - funny enough - already has such abilities :). Although UBER snow/water routines are quite similar in their features, they are controlled separate way. So - in RTP you could have triplanar with vertex controlled coverage up to 4 layers + rain + snow, but you would need to write yet another script controller (not much complex stuff) that would keep snow/rain conditions the same on such triplanar RTP (terrain?) formation and UBER together. In UBER there's weather controller script already added while in RTP you would need to modify ReliefTerrain component script parameters separately to control snow/rain, but still - they should match quite closely visually.

    I'm in the middle of new RTP like product which should solve some of such hassle (like unified weather conditions solution across whole scene), but it's still too soon to reveal details. BTW - choosing RTP now means also you will get advantage of nicer price when upgrading to new product release (in case it would be still practical for your project to upgrade, or for sake of any new games you're gonna release).

    Tom
     
    Last edited: Jul 12, 2019
  27. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    Yes, you've got me. The problem you're pointing comes when you upgrade existing RTP terrain component (like example scene of my package) opening it in Unity 2018.3+. If you would follow such workflow: 1. create Unity terrain (4/8 layers - using Unity's newly introduced terrainLayers assets), 2. add RTP component to such terrain - then it is not supposed to loose the terrain layer references. To be able to open my example scene correctly in newest Unity you would need to make a simple tweak in ReliefTerrain.cs script. Find such function definition:

    Code (csharp):
    1. private void GetSplatsFromGlobalSettingsHolder() {
    there's an "if" clause 3 lines below. It misses a single condition to make it working reliably, it should look like this:

    Code (csharp):
    1. if (globalSettingsHolder.terrainLayers != null && globalSettingsHolder.terrainLayers.Length == globalSettingsHolder.numLayers && globalSettingsHolder.terrainLayers.Length>0 && globalSettingsHolder.terrainLayers[0] != null)
    If you would import my package, replace this "if" line in ReliefTerrain.cs with code above and then open my example scene - then it should work. I'll introduce this small tweak in next RTP update (3.3p). Let me know if it solves the problem for you. Sorry for the inconvenience.

    Tom
     
  28. ghostaegis

    ghostaegis

    Joined:
    Dec 1, 2016
    Posts:
    8

    Oh, it looks like your asset store support link for UBER is misdirected, it took me here when I used it!

    I'm not against an alternate solution, but looking at RTP, while it actually might be exactly what we need in many regards, in others it appears to be total overkill and adds a lot of unneeded functionality and performance and time costs that just aren't needed in our case.

    We're using probuilder meshes for our environment, as there is a lot of platforming in our title and precision mesh placement is critical. As such, terrain objects would not be appropriate. I note that RTP can be used on arbitrary, non-terrain meshes which is a big plus. And that's a lot of layer blending, which is awesome. But it's a bit too much of a full pipeline that doesn't align with what we need unfortunately.

    Thanks for the response though! UBER is still pretty integral for our pipeline, regardless of whether or not it fits in this one case.
     
  29. amynox

    amynox

    Joined:
    Oct 23, 2016
    Posts:
    100
    Hello Tom,

    Sadly it didn’t solve the issue.(tried wth unity 2019.1 and unity 2018.3)

    Before start missing with my 2k Terrain tails (using RTP from 2016). I tried with a fresh unity project, reimported your package (last one on AS) and try the code modification with your exemple scene (the one with the terrain) but I’m still getting the same result + other null references errors..

    Any other solution that I can try ? (a nice and clean update became more than necessary )
    Thanks a lot
     
  30. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    You're right. Seems like my hacky "fixes" are no good... :(. I've just submitted RTP3.3p so give Unity a few days to make it live on the store. Meantime I've found a small bug in Unity terrain (2018.3.2 - maybe it's already fixed) system. When we use a custom terrain material created by script and such we unload/change scene (so that the material object has been destroyed/unloaded) Unity complains about mising material reference which makes it impossible to paint on regular terrain (as RTP takes care a terrain has its own material anyway). In such case - choose custom material in Unity terrain settings, use any (like diffuse), then you can set back material to built-in. This fixes the error in Unity's terrain inspector script throwing exceptions which makes it unable to paint.

    Using an asset material with RTP-FirstPass.shader would also fix the issue (a material asset is "persistent" as opposite to the script created "volatile" material and wouldn't get destroyed with scene being unloaded).


    Tom
     
  31. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    RTP3.3p with the fix mentioned above is live.
     
  32. topofsteel

    topofsteel

    Joined:
    Dec 2, 2011
    Posts:
    975
    Issue with Normals? Shadow?

    This happened once a long time ago, I don't remember what was causing it. When I am close to my terrain, it darkens. How can I fix this? Thanks.

    Unity 18.3.0 - Latest version of RTP - Developing for WebGL 2.0

    RTP-Shadow_01.PNG RTP-Shadow_02.PNG
     
  33. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    Is it in Unity editor? Can you check normals in deferred debug view? I suspect it, so check if your combined detail normalmaps are fine.
     
  34. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,166
    A quick question: Are you on top of the warnings in current Unity versions? I have 3.3n and get plenty of compilation warnings in Unity 2019.1. On the Asset Store, it says one version has been uploaded with Unity 2018.3.2, and the release notes of 3.3o and 3.3p don't mention warnings.

    There are essentially only two issues - but it's roughly 30 or 40 warnings caused by those two (in different files, various locations):

    Code (csharp):
    1. Assets\ReliefPack\Scripts\ReliefTerrain\ReliefTerrain.cs(74,34): warning CS0618: 'SceneView.OnSceneFunc' is obsolete: 'OnSceneFunc() has been deprecated. Use System.Action instead.'
    2. Assets\ReliefPack\Editor\ReliefTerrain\GeometryVsTerrainBlendEditor.cs(72,5): warning CS0618: 'SceneView.onSceneGUIDelegate' is obsolete: 'onSceneGUIDelegate has been deprecated. Use duringSceneGui instead.'
     
  35. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    Have you checked with newest RTP3.3p? It might be necessary to clean it for sake of U2019 though.

    Tom
     
  36. topofsteel

    topofsteel

    Joined:
    Dec 2, 2011
    Posts:
    975
    In the editor and at run time. My original issue was caused by the Near distance values. Now it looks great up close, but faded in the distance. How can I correct that? I'm using an arbitrary mesh with 4 materials. Thanks a lot!

     
  37. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    Chaning near distance is not a cure in this case, it's like pushing the problem away from the camera :). The reason is most probably detail normals not computed right way. Have you checked combined normalmaps?

    (BTW - pinged you on skype about this issue)
     
    Last edited: Aug 9, 2019
  38. topofsteel

    topofsteel

    Joined:
    Dec 2, 2011
    Posts:
    975
    How do I enable the normal debug view? I searched you docs for 'debug' and didn't see it. In troubleshooting you mention to bypass srgb sampling for normal and height maps. I don't have the sRGB (Color Texture) check box? But that makes scene, the one texture set of yours I'm using is the sand, and it doesn't have that issue. But the properties of both normal maps are the same? Thank you for your time.
     
  39. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    When you set the main camera to deferred you can see normals (select it from dropdown in the top-left corner of scene view). Combined normalmaps and heightmaps are rgba texutres which are by default gamma. That's why you should make sure they have sRGB unchecked in inspector. You can see combined normal/height textures in one of RTP inspector tabs (Combined Textures/Normals).

    Tom
     
  40. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    572
    Hi there I am just wondering if RTP or Uber support mesh to mesh blending (not terrain).
    I remember something about arbitrary mesh blending. I know this picture is mesh to terrain but is it possible mesh to mesh? Will results be good like that picture?
    I already have Uber maybe it can do a rock I put through ground and make blend like picture?

     
  41. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    RTP shader can be used either on terrain or mesh. Geom blend feature can be used on the top of it (using yet another dedicate shader). Arbitrary shader vs. arbitrary shader blend is not possible (like UBER vs. UBER material blend), but shading "terrain" wirh RTP terrain shader and blending another object (using modified standard shader or uber shader) is possible. Such scenario is setup on my example scene where RTP shader is set on mesh.

    Tom
     
    SilverStorm likes this.
  42. mirts

    mirts

    Joined:
    Dec 26, 2012
    Posts:
    23
    Hi Tom. I still have the Issue where the terrain layers are empty after upgrading an Existing terrain to Unity 2018.4.6f1 LTS.
    I can create terrain layers manually and assign them via "Edit Terrain Layers". I can then paint as usual. But when I focus on another object, the changes I made are lost and the Terrain Layers are blank again and I can't paint.
     

    Attached Files:

  43. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    Hmmm, the issue gets from Unity TerrainLayers and RTP layers are separate arrays. When RTP accesses terrain it attempts to sync them together. Syncing is either copying RTP layers / textures state to TerrainLayers or the other way. When RTP wrongly takes the direction, then empty RTP terrain layers could overwrite TerrainLayers. This is like you 're experiencing it here. In ReliefTerrain.cs there is a function called GetSplatsFromGlobalSettingsHolder() and the functionality mentioned is placed there. Take a look, currently such a condition is performed:

    Code (csharp):
    1. if (globalSettingsHolder.terrainLayers != null && globalSettingsHolder.terrainLayers.Length == globalSettingsHolder.numLayers && globalSettingsHolder.terrainLayers.Length>0 && globalSettingsHolder.terrainLayers[0] != null)
    We copy RTP->TerrainLayers in case we have terrainLayers already stored in globalSettingsHolder and first entry of terrainLayers[] is not null. Otherwise RTP assumes - "hey we upgrade terrain from RTP version dedicated for Unity below 2018.3". Not sure why in your particular case it overwrites Unity terrainLayers. First entry !=null? Rather not as I can see first layer after being screwed by RTP is null (so first entry on globalSettingsHolder.terrainLayers was null). Are you sure it RTP3.3p check in (verinfo.txt).

    I know it all said in this post is quite technical (in case you're like more artist than coder), but I wanted to describe to the community where the problem stays in case anybody else would face this problem. Simply we need to take care terrainLayer from Unity after being sucessfully attached to terrain are copied back/synced to RTP script (held in globalSettingsHolder).

    I'm fully aware that RTP as being developed back in 2012 for Unity3 (!) exposes some of historical drawbacks, that's why I'm working hard on new RTP edition where nothing like LOD managers, configuration and other nonsense problems shall arise:(.

    Tom

    P.S. You can ping me priv message, so we can fix your terrain interactively on Skype.
     
  44. stalker_23b

    stalker_23b

    Joined:
    Jul 28, 2011
    Posts:
    87
    Hello, i have an issue with latest RTP on Unity 2019.2.2f1. Height map slot for layers is not visible! There is only Detail and Normal slots, but as far as i understand, there should be Height slot also. Maybe i need to turn on some checkbox for it?

    UPDATE: I have fixed it through hacking RTP custom editor script, modified place where width of the slot blocks is calculated
     

    Attached Files:

    Last edited: Sep 1, 2019
  45. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    Ouch - thanks for sharing. Need to check it against this particular Unity version then. Wondering what went wrong as I checked it against U2019 already.
     
  46. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    964
    Hi @tomaszek, It is possible get an older version for RTP compatible with 2017.4 LTS version? I need it to help migrate an older version of a game through to the latest version of Unity.

    Thanks
     
  47. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    Not sure if earlier RTP version that works with 2017.4 has other bugs fixed, but yu can drop me a line on priv. message (attach RTP invoice order number for verification), so I could give you access somewhere.
     
  48. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    912
    Hi @tomaszek, I'm getting an issue with RTP and the snow settings. If I have the near values anything above 0 the snow around the player seems to melt away.I.E there is no (or just little) amount of snow around the player. This looks really odd because you can see the snow in the distance and as you move towards it, it just melts away. Unity 2018.4 latest store version of rtp.
     
  49. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,794
    I'll check it on my example scene and will get back to you. Can you provide me your exact setup (number of layers, shader features used, lighting, rendering path) so I can reproduce the issue as you have it?
     
  50. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    912
    We are using 8 layers in first pass, Deferred rendering, linear colour, uv blend, global colour blend, dynamic snow.
     
unityunity