Search Issue Tracker
By Design
Votes
0
Found in
2019.1.0b2
2019.1.0b5
2019.2.0a3
Issue ID
1144260
Regression
No
TerrainPaintUtility faulty calculations when using RenderTexture as a Source
How to reproduce:
1. Open the "SampleScene" in the attached "Unity Bug report.zip" Project
2. Enter Play Mode
3. Observe the "Terrain" GameObject in Scene View
4. In the Terrain Settings check and uncheck the "Draw Instanced" Checkbox several times to see the difference
Expected Behavior: The RenderTexture, Terrain Heights, Terrain Heights with Draw Instanced values are equal
Actual Behavior: The RenderTexture, Terrain Heights, Terrain Heights with Draw Instanced values are all different
Reproducible with: 2019.1.0f1, 2019.2.0a13
Note: Could not test with 2018.3 and 2017.4 because of the compilation errors
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note:
Yes, this is unfortunate, but by design.
The full valid range of a heightmap is [0, 0.5].
It's obviously not how it should ideally work, but this behavior stems from the old data format and trying to keep everything backwards compatible with existing Terrain data.
Your shader needs to multiply your height outputs by 0.5, and clamp them to the [0, 0.5] range.