Search Unity

  1. Unity 2019.1 is now released.
    Dismiss Notice

Relief Terrain Pack (RTP) v3 on AssetStore

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

  1. llJIMBOBll

    llJIMBOBll

    Joined:
    Aug 23, 2014
    Posts:
    552
    Thank You Sir Tom!
     
  2. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Note, it's awating Unity approval, but I guess it sould be on air within a few days.

    Tom
     
    Mark_01 and Alex3333 like this.
  3. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Package has been approved - it's ready to be downloaded (do it under Unity2018.3 of course otherwise you'd get previous 3.3n version that's suitable for other Unity versions).

    Tom
     
    llJIMBOBll likes this.
  4. llJIMBOBll

    llJIMBOBll

    Joined:
    Aug 23, 2014
    Posts:
    552
    Hi, with 2018.3 I keep getting errors with TC2. the splat maps seems to get removed from TC2 until i click on each texture in rtp editor.

    edit.. managed to fix it by adding this code into
    TC_SelectItem.cs
    Code (CSharp):
    1. public void SetPreviewSplatTexture()
    2.         {
    3.             if (rtp == null)
    4.                 rtp = Terrain.activeTerrain.GetComponent<ReliefTerrain>();
    5.             if (rtp != null)
    6.                 rtp.RecalcControlMaps();
    7.  
    8.             TC_Settings localSettings = TC_Settings.instance;
    also TC_Terrain.cs

    Code (CSharp):
    1. public void GetSplatTextures()
    2.         {
    3.             if (!CheckValidUnityTerrain()) return;
    4.             splatPrototypes.Clear();
    5.  
    6.             if (rtp == null)
    7.                 rtp = Terrain.activeTerrain.GetComponent<ReliefTerrain>();
    8.             if (rtp != null)
    9.                 rtp.RecalcControlMaps();
    10.  
    11.             for (int i = 0; i < terrain.terrainData.terrainLayers.Length; i++)
     
    Last edited: Jan 9, 2019
  5. samuelbrunner

    samuelbrunner

    Joined:
    Jan 29, 2017
    Posts:
    51
    Hi
    Is this shader limited to 8 texture ?
     
  6. Cyfieithydd

    Cyfieithydd

    Joined:
    Nov 18, 2016
    Posts:
    15
    Hi! My terrain sometimes is blinking white, it's absolutely random, can last 1-10 sec. Camera has deffered rendering with RTP scripts attached (i've read about the same issue in this thread), main light has attached script as well. RTP version is 3.3, Unity version is 2017.4.13f, terrain has 8 textures, i've tried all possible settings combinations - POM, PM, SIMPLE, with various features on/off - with no result. Any ideas what can cause this?
     
  7. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    What's your light intensity? I can't get below some threshold, otherwise some shader props are undefind for RTP rendering. Don't go below 0.01 light intensity and make sure you have this single directional light in scene. Do it happen in forward? Is it limited to this Unity and RTP version only?

    Tom
     
  8. Cyfieithydd

    Cyfieithydd

    Joined:
    Nov 18, 2016
    Posts:
    15
    Thanks for quick response! When using forward everything is fine, but there is no option to change rendering from deffered, i'm using too many deffered-depending shaders. Also some additional directional lights are used in scene sometimes - for lightnings mostly, with high intence - can additional directional light cause the issue? My main one used for sun can go under 0.01 (at night time) as well - i'll try to change something here, but don't think this is the issue the - whiteness can appear at day time as well, when intensity is about 1.
     
  9. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Please check the the other directional light. You said you've got more of them. Would it help to use only a single dir light?
    At least I could try to reproduce the issue.

    Tom
     
  10. joe_ftg

    joe_ftg

    Joined:
    Nov 9, 2015
    Posts:
    38
    Hi Tom
    On the TerrainScene example, I'm getting odd results in 8 layer mode on 2018.3.1
    Here's 4 layers in first pass: terrain_4layers.PNG

    Here's 8 layer in first pass:
    terrain_8layers.PNG

    Any ideas? My verinfo is RTP3.3n for U2018.3.
    I'd toggled some other features in the screenshots, but this also happens with nothing else changed.
    Thanks
     
  11. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Are you sure atlases are created? When you select terrain after cxhanging the mode ithey should get created automatically. You should save them or just drag&drop 2 atlases already saved in folder with assets of the example scene.

    Tom
     
    FallenTreeGames likes this.
  12. hassonhamo3

    hassonhamo3

    Joined:
    May 25, 2018
    Posts:
    37
    quick question , does Rtp work on mobiles using Opengl2
     
  13. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Nope, gles2 is pretty old standard. You need gles3 for it to work.

    Tom
     
  14. mirts

    mirts

    Joined:
    Dec 26, 2012
    Posts:
    22
    Hi Tom

    I want to start a second terrain based on an existing one and all its settings. I read in the manual that they must be in different hierarchies before adding RTP. But I would really like to take the existing one as a starting point with all the settings and textures already set up.

    Is there a way to copy, and then "disconnect" the copy from all the data of the existing terrain, so changes on the copy don't affect the original anymore? Ideally the copy and the original share the textures and texture atlases and all the settings but they have separate splatmaps. If I copy a terrain with RTP and I paint textures on the copy, they also apply to the original. Basically I want to disconnect that.
     
    Last edited: Jan 23, 2019
  15. mirts

    mirts

    Joined:
    Dec 26, 2012
    Posts:
    22
    Hi again Tom

    I have another question. I would love to have a terrain as the floor of a cave and another one as a ceiling for the cave. Is there a way to flip the normals and render the inside faces of a terrain so I could use it as a ceiling? Reason for wanting to do this vs. a mesh for the cave ceiling is the flexibility to paint and form the terrain in Unity itself.

    Cheers!
     
  16. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Have you tried with preset functionality?

    That would be quite tricky. Terrain mesh providing is something Unity is responsible for in RTP. I would rather try some voxel based mesh sculpter for caves (using RTP triplanar standalone shader) and place them on the top of RTP terrain. Still we would need to cover somehow intersections between cave and terrain. Would suggest experimenting a bit with geom blend shaders (that also have triplanar variants).

    Tom
     
  17. mirts

    mirts

    Joined:
    Dec 26, 2012
    Posts:
    22
    Hey Tom. Thanks for taking the time to answer. Always appreciated! Had success with using presets! As for the ceiling: Using the geom blend shader on a ceiling mesh (which I based on exported terrain as mesh) works quite well!

    Cheers!
     
  18. mukki014

    mukki014

    Joined:
    Jul 30, 2017
    Posts:
    87
    Allegorithmic errors for unity 2018.2. after installing substance plugin then other compile errors show.
     
  19. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    For now there's no way to use substances dynamically. You need to export textures from plugin to regular textures and use them in RTP. But speaking of substance in U2018 - I wasn't able to use it - crashed - look at my other thread (UBER) where a guy already posted:

    https://forum.unity.com/threads/uber-standard-shader-ultra.335493/page-36#post-4153756

    I'll take a look a bit later. Maybe Allegorithmic fix something in meantime so it's stable for testing.

    Tom
     
    Mark_01 likes this.
  20. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    For anyone having troubles using newest RTP (U2018.3) on multiple terrains I've just submitted a fix for that. Now it should work fine with required worfklow - make terrain with4/8 layers. Add RTP, configure. Then you an add neighbours, attach RTP to them and terrain layers as seen by Unity (new to Unity 2018.3) should get properly synced. That means - painting across neighbour terrain edges should work w/o bugs (like duplicating layers).

    The fix (RTP3.3o) should be available soon.

    Tom
     
    Bartolomeus755 likes this.
  21. local306

    local306

    Joined:
    Feb 28, 2016
    Posts:
    108
    Hey @tomaszek. I'm having troubles getting RTP to work in a project. The Unity Terrain component that I'm working with complains about can't use materials with shaders which need tangent geometry on terrain, use shaders in Nature/Terrain instead. It also renders very dark and flat as how in the following image:



    Whenever I import RTP into a new project it works fine, and I've also never had any issues with it previous.

    Currently working with Unity 2018.2.16.
     
  22. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    I can check it with the specific RTP version taken from AssetStore. What version we're talking about? (look at verinfo.txt file contents and tell me).

    I guess you're trying to use specific RTP version on already done project (not "fresh" one). Make sure you follow the workflow guideline -> make Unity vanilla terrain with 4/8 layers (remove any material from terrain until you have ReliefTerrain component applied and make sure it's set to Standard mode in terrain settings). Then add ReliefTerrain script, configure it LOD manager, recompile shaders.

    Tom
     
  23. local306

    local306

    Joined:
    Feb 28, 2016
    Posts:
    108
    Thanks for the fast response.

    The current version of RTP I am working with is the latest available on the Asset Store, being:

    I try out clearing the materials as suggested in the meantime.
     
  24. local306

    local306

    Joined:
    Feb 28, 2016
    Posts:
    108
    Hmm, where abouts is this supposed guideline? I didn't see anything explicit in the manual.

    Based on your comments though, I tried with a fresh terrain as you commented previously and importing the height map. Unfortunately, I still ended up with a terrain that's flat an doesn't look right.

    I do have these warnings if this is telltale of anything:

     
  25. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Not sure about the Unity warning on tangents. But using tessellation variant on terrain requires height&normal texture to be prepared and placed in RTP global maps tab section. There's a tool to do it described in my pdf documentation. Have you checked this?
     
  26. local306

    local306

    Joined:
    Feb 28, 2016
    Posts:
    108
    @tomaszek this is totally the case! Strange though how when I imported the current terrain into a clean RTP project I never had to configure this, yet the current project didn't seem to like doing this.

    Thank you for your support!
     
  27. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    831
    Hi @tomaszek, Ive had to downgrade my unity version to 2018.2 from 2018.3 and I am now getting errors from RTP. I deleted from project and reimported from store but still get errors relating to terrainlayers. How do I get the 2018.2 version back in my import folder to download into project?
     
  28. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Currently there are only 2 packages available on UAS. RTP3.3n submitted from Unity5.5 (Sep 2018) and newest submitted from Unity 2018.3.2. Not sure why Unity gives you the newest version on U2018.2. Maybe you could try to install it under yet lower Unity version (wodn to 5.5) and then move it to Unity 2018.2 (you can even make package out of imported 3.3n)? You could also try to remove package from your cache (stored in your user's AppData Unity's folder in Windows).
     
    AndyNeoman likes this.
  29. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    831
    Thanks. I removed from cache and downloaded from the store.
     
  30. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,595

    Hey Tom you must not be aware, this has been fixed as of late, we worked hard for them to add what is needed, for shaders such as yours to support and others. So the API is now there for you guys. So you should be good to go:)
     
    tomaszek likes this.
  31. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Yeah, texturing terrain with dynamically adjusted substances would be super cool. Once I tested it when we had it natively implemented in previous Unity versions. Quite a fun to see changes right on the terrain. I hope I could back to research and improvements on this for future RTP updates.
     
    recon0303 and Flurgle like this.
  32. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,595

    That would be great. Our game is heavy on the Substance side, but for now, using older Unity. but I have tested the new and its way better than it was, it still has work to do, but the API is there now. We had to really get on Unity about exposing what was needed to Substance so we can get proper support for terrains and such. We are making the switch to 2018.3 for our new Steam, Epic store game, so we hope to see Substance support. in RTP again.) For now we are exporting as textures. Thanks!
     
  33. horse

    horse

    Joined:
    Jun 17, 2009
    Posts:
    16
    Hi Tom,

    We are a 2 person team using your Uber Shaders and RTP 3.3 on our game.

    We have recently upgraded from 5.4 to 5.6. I updated RTP and checked the install is for 5.6.

    We have uploaded the project to colaborate.

    I was the one who uploaded to Collaborate. When I run or build from my end I don't have an issue. I can build without issue, but my partner can not.

    When my partner updates, he cannot build due to this error:

    NullReferenceException: Object reference not set to an instance of an object
    ReliefTerrain.GetSplatsFromGlobalSettingsHolder () (at Assets/ReliefPack/Scripts/ReliefTerrain/ReliefTerrain.cs:176)
    ReliefTerrain.GetGlobalSettingsHolder () (at Assets/ReliefPack/Scripts/ReliefTerrain/ReliefTerrain.cs:98)
    ReliefTerrain.RefreshTextures (UnityEngine.Material mat, Boolean check_weak_references) (at Assets/ReliefPack/Scripts/ReliefTerrain/ReliefTerrain.cs:244)
    ReliefTerrain.Awake () (at Assets/ReliefPack/Scripts/ReliefTerrain/ReliefTerrain.cs:199)
    UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

    Any insight into why this is happening would be greatly appreciated.
     
  34. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Hi, I got your email, but couldn't look into yet. Will try to tell ASAP. Hopefully I can advise something despite of I don't use Collab/Unity teams (so would probably need to buy such license to test it).

    Tom
     
  35. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    The line 176 in ReliefTerrain.cs script that produces the error is:
    Code (csharp):
    1. terrainComp.terrainData.splatPrototypes=splatPrototypes;
    Which means at the moment of executing it either Terrain component is unavailable (which just should not be the case to my experience) or terrain component has void terrainData. This also should not happen though. The question is why reference to terrain data might be nullified at the moment of making build by your friend. I believe this problem is not even much related to RTP, but RTP breaks here assuming terrainData can't be a null reference.

    Anyway - this is all called as part of Awake() call (that can be called when component being reloaded while making a build). As such - if this is only problem of making build by one of Collab users we could simply try to filter this case by replacing problematic line with null check:

    Code (csharp):
    1. if (terrainComp!=null && terrainComp.terrainData!=null) terrainComp.terrainData.splatPrototypes=splatPrototypes;
    We shall do such filtering for all cases that can accidentially break (while I still don't understand why...). You can check if such treatment allows for making a build w/o problems.

    ATB, Tom
     
  36. GR00V3R_73

    GR00V3R_73

    Joined:
    Feb 13, 2014
    Posts:
    3
    Thanks, Tom. Build is working now. :)
     
  37. akareactor

    akareactor

    Joined:
    Apr 6, 2015
    Posts:
    59
    Hi Tom,

    I'm on Unity 5.6.7f1, RTP 3.3n. Trying to use a geom blend with lightmapped shadows on terrain, baking on Enlighten, forward lighting, RTP_LODManager has parameters as shown below.

    So, when I drop a gameobject onto terrain, it's casts shadow well.
    But when I add component Relief Terrain, Geometry Blend, shadow disappeared. Can't feel what I'm doing wrong. In addition to, sometimes a shader error pops out :

    Shader error in 'Relief Pack - GeometryBlend/ Standard': invalid subscript '_ShadowCoord' at Assets/ReliefPack/Shaders/ReliefTerrain/GeomBlendCompliant/Standard/UnityStandardCore.cginc(545) (on d3d11)

    Compiling Vertex program with DIRECTIONAL SHADOWS_SHADOWMASK _EMISSION _METALLICGLOSSMAP _NORMALMAP
    Platform defines: UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_LIGHT_PROBE_PROXY_VOLUME

    Please help with appropriate workflow for geom blend shadows on a lightmapped terrain.


     
  38. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    I'll try to reproduce this on U5.6.7 and get back to you.
     
  39. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Imported RTP3.3n under Unity 5.6.7. On example scene set lightmapping (non direction as you set no directionality in LOD manager). Placed red bouncing cube, lightmapped. Then added a sphere, replaced collider with mesh collider. placed it near the cube. Added geom blend script. Performed mesh processing and painting blend. Geom blend shaer used standard geom blend (specular setup), but it works the same on other shaders as well. I can't reproduce the issue. From what I can see in ine 545 in .cginc that gives the error it should be like this:

    Code (csharp):
    1. UNITY_LIGHT_ATTENUATION(atten, i, i.posWorld.xyz);
    it's in addpass, so it's used additional light. Added point light to check shadow casting from point light. Still - everything works like expected on my side. Mesh under geom blend object that renders terrain has correctly applied terrain lightmaping (red bounce), Geom blend object itself isn't lightmapped, but it's set to be transparent w/o shadows anyway. Take a look at my 3 screenshots:

    Adnotacja 2019-03-09 104606.jpg Adnotacja 2019-03-09 104756.jpg Adnotacja 2019-03-09 105312.jpg
    I'd suspect there's something misplaced with the RTP version you use maybe (check verinfo.txt file and make sure you the newest version from assetstore is indeed there).

    Tom
     
  40. akareactor

    akareactor

    Joined:
    Apr 6, 2015
    Posts:
    59
    Big thanks for your response and efforts! My inexperience in lightmapping modes stuck me to a little confusing! Shadow disappears when lighting mode is Shadowmask, and object is not static (no baked shadow). As I now understand, this is a normal behavior.

    Second issue, shader error pops out in Editor, on two occasions on Unity 5.6.7 and 2018, Shadowmask lighting mode, baked shadows, cold start:
    1) when camera flyes away outside of shadow distance (quality settings, Shadow distance parameter = 200m).
    2) when switch shader to GeometryBlend/Standard (Shadow distance is 50m).

    P.S. I'm migrating to 2018 now, so U5.6.7 issues are reserved for possible retreats of my project.
     
    Last edited: Mar 15, 2019
  41. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    I'd recommend going for U2018.3(.8) then loading newest RTP3.3o that's suitable for this Unity version. I hope you won't experience any problems.

    Tom
     
  42. Migueljb

    Migueljb

    Joined:
    Feb 27, 2008
    Posts:
    409
    How or what script can I change to increase in Main Settings for the Near distance values. Currently the highest you can go is 50 on the fade length and 50 for distance start but what if I wanted that to be 100 or even 200 etc. How can I change that to be higher on both settings?

    I'm creating 360 VR stereo videos so I'm not worried about fps dropping to much as I know the higher I go the more the fps will take a hit but I Just want to see how far I can get away with for the quality I am after.
     
  43. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Open ReliefTerrainEditor.cs - you will find the right place searching for slider label from inspector. The range is at the end of the line.

    Tom
     
  44. jandiscart

    jandiscart

    Joined:
    Jan 21, 2016
    Posts:
    2
    Hi Tom

    We are upgrading our project from Unity v5.6.6 to 2018.3 and decided to update your RTP plugin as well. The current installed version of RTP is 3.3o.
    We're running into an issue where it seems that the lighting is a little patchy. The light in question is a spotlight aimed towards the wall, so it's not a point light. As I wasn't the person who setup the terrain (and it happended a few years ago) I have no idea where to look or how to fix this issue. Would you happen to have an idea what is going on/wrong in this screenshot, and give us a direction to look into?

    Thanks in advance!

    EDIT: As I read the FAQ-section of the readme, I stumbled upon an issue that looks pretty similar in description, but it didn't help.
     

    Attached Files:

    Last edited: Mar 29, 2019
  45. GWStudio

    GWStudio

    Joined:
    Sep 27, 2016
    Posts:
    87
    when HDRP will be supported?! i hope soon:)
     
  46. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Please, check noforward add option in LOD manager. Shouldn't be used in presence of more lights (more than directional) in forward. I guess it might be the issue. Recompilation of shaders with LOD manager when something in lighting setup changes can also help.

    We all hoping for that, but it's still under developement. It's unproductive to maintain HDRP while it can change and break stuff any moment.

    Tom
     
    GWStudio likes this.
  47. jandiscart

    jandiscart

    Joined:
    Jan 21, 2016
    Posts:
    2
    Hi Tom

    It seems that during upgrading, many of the settings fell back to their default values? We've compared settings between the upgrade and an older version, and many of them got changed. So we set them back as to they were before the upgrade and that seems to fix it.

    Thanks for the help!
     
  48. Mr_Dan_O

    Mr_Dan_O

    Joined:
    Oct 12, 2013
    Posts:
    340
    Hello @tomaszek,

    How can someone change detail, height and bump maps of the RTP's terrain layer via script? Thanks in advance.
     
    Last edited: Apr 4, 2019
  49. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,701
    Easiest way would be to analyse ReliefTerrainEditor.cs and what it does when we change a layer texture in a layer (Visual Studio debugger with breakpoint at the texture changingpoint in editor script then tracing line by line which actions are performed). First it saves texture reference to GlobalSettingsHolder.cs script - we have arrays for albedo/smoothness, normals and heights. Depending on mode albedo textures need to be combined in atlas, normals are combined in pairs and heights are combined in quads (layers 0-3 to channels RGBA). There are editor script functionalities to do this. Combined textures have own references in script where RTP shader is fed from.

    Tom
     
  50. Mr_Dan_O

    Mr_Dan_O

    Joined:
    Oct 12, 2013
    Posts:
    340
    Thanks for the reply @tomaszek . I fixed the problem with another way. I actually tried to trace the scripts and functions, but I just couldn't get it done as it seems to be too complicated.

    However, there is a new issue here, all the terrains are now black.
    I had to click on the buttons that are shown in red to fix the issue. But it takes too much time repeating the action for the other 648 terrains.
    The question is, How to do so in an automated way?
    it seems that when you click the buttons, it re-assigns the data.
    RTP_Automated_Refresh.jpg

    Here is a screenshot of the terrains that are black - which needs to be fixed - and a set of terrains that I fixed by manually clicking the buttons.
    RTP_Automated_Refresh_2.jpg
     
    Last edited: Apr 4, 2019