A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Assets and Asset Store' started by tomaszek, Oct 22, 2013.
Thank You Sir Tom!
Note, it's awating Unity approval, but I guess it sould be on air within a few days.
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).
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
public void SetPreviewSplatTexture()
if (rtp == null)
rtp = Terrain.activeTerrain.GetComponent<ReliefTerrain>();
if (rtp != null)
TC_Settings localSettings = TC_Settings.instance;
public void GetSplatTextures()
if (!CheckValidUnityTerrain()) return;
if (rtp == null)
rtp = Terrain.activeTerrain.GetComponent<ReliefTerrain>();
if (rtp != null)
for (int i = 0; i < terrain.terrainData.terrainLayers.Length; i++)
Is this shader limited to 8 texture ?
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?
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?
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.
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.
On the TerrainScene example, I'm getting odd results in 8 layer mode on 2018.3.1
Here's 4 layers in first pass:
Here's 8 layer in first pass:
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.
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.
quick question , does Rtp work on mobiles using Opengl2
Nope, gles2 is pretty old standard. You need gles3 for it to work.
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.
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.
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).
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!
Allegorithmic errors for unity 2018.2. after installing substance plugin then other compile errors show.
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:
I'll take a look a bit later. Maybe Allegorithmic fix something in meantime so it's stable for testing.
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.
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.
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.
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.
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:
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?
@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!
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?
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).
Thanks. I removed from cache and downloaded from the store.
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
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.
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!
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)
Any insight into why this is happening would be greatly appreciated.
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).
The line 176 in ReliefTerrain.cs script that produces the error is:
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:
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.
Thanks, Tom. Build is working now.
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.
I'll try to reproduce this on U5.6.7 and get back to you.
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:
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:
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).
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.
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.
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.
Open ReliefTerrainEditor.cs - you will find the right place searching for slider label from inspector. The range is at the end of the line.
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.
when HDRP will be supported?! i hope soon
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.
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!
How can someone change detail, height and bump maps of the RTP's terrain layer via script? Thanks in advance.
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.
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.
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.