We have new releases of the Terrain Tools package for you. These are largely bug fix releases as we’ve been focused on stabilizing features and cleaning up workflows and are intended for versions of the Editor that are 2019.4 and above.
A reminder: the API is still in flux while the package is in preview, so things that are available currently may not be there in the future or may change. If you have written custom filters or inherited from any of the TerrainPaintTools that ship with the package, they may have broken with these releases.
One of the new things that was added in the 3.0.2-preview.2 release was Editor Analytics integration. We are using this to collect information about which brushes and filters are being used, and which defaults are getting modified so that we can focus future development. No personal information is being collected, and you can always opt out of Editor analytics through the preferences.
As always, we love your feedback so please continue to send that our way. Any bugs that you find, workflow improvement suggestions, and questions about features are most welcome!
Changelog
[3.0.2-preview.3] - 2020-11-04 Fixed
Fixed regression with SetHeight Flatten Tile option
Fixed brush mask filters with SetHeight painting
[3.0.2-preview.2] - 2020-11-02 Added
Editor Analytics integration.
Fallback shader to the HDRP Visualization shader.
PNG/TGA heightmaps support level remapping and vertical flipping.
Create New Terrain supports heightmaps in Texture2D format.
Changed
Changed the package name that’s used to get core Universal Render Pipeline (URP) HLSL code from Lightweight to Universal.
Added missing Terrain visualization settings.
Removed Filter Stack Image assets.
Changed Base Map Maximum Distance to 20000 to match the range in the Terrain Inspector.
Terrain Toolbox splatmap modifications are now applied to Terrain only after you click Apply To Terrain in the Terrain Toolbox.
Fixed Brushes
Brush sizes are clamped to a maximum based on texture size. (1276290)
Clone tool correctly blends heightmap.
Clone tool clones alphamaps as well as height.
Clone tool correctly maintains clone position when you rotate the Scene Camera or click on the UI.
Corrected Smooth tool behavior when you paint near the edges of Terrain tiles so that it produces less discontinuities. (1186005)
Removed artifacts that occurred when you used the Twist Brush. (1276448)
Added support for Brush Mask Filters to the Wind Erosion tool.
Splatmaps
Corrected blending when you apply splatmaps from the Terrain Toolbox.
Fixed error thrown when you highlight a splatmap in the Terrain Toolbox.
Fixed Undo/Redo functions after you apply a splatmap to a Terrain from the Terrain Toolbox.
Fixed error thrown when you export a splatmap to a Terrain without selecting a Terrain. (1240314)
Thank you for the feedback and we hear you. Currently the team is working on integrating shadergraph support specifically for painting details. This change will not only allow users to paint details in HDRP, but also author control over the materials used on painted details. We don’t have an eta for when that’ll land but we’re hard at work developing it.
No problem at all and really thank you for sharing.
If I could ask for something from you it would be to continue giving feedback and seeking more even when there’s silence from our end. We’re still listening, but we may not always be able to respond right away. The work we accomplish is for creators like yourself and we do our best to take your thoughts into consideration.
I’ve been wondering why it’s simply been disabled for the longest. It’s pretty stressful to have to use speedtree grass (I mean it works and looks lovely), but it can certainly bog a scene down faster than bad GC. I remember awhile back there was some replacement shaders on GitHub people made, but they seemingly appeared to have just quit working, so it makes me assume y’all removed the entire ability in general. So may I (if you can at least), please get a brief understanding as to why it was simply removed and as to why it couldn’t just be enabled?
(another question, for anyone whom can answer)
Is there still supposed to be an entirely new terrain system? Or is the Terrain tools just simply re-doing the terrain one step at a time? I heard about this new terrain system in development quite some time ago and that there was a dedicated team for it and didn’t hear nothing else again about it.
It is cancelled. The team was moved to polish, finish and optimize the current toolkit (both this package and stuff that exist in the core). https://discussions.unity.com/t/804185/7
I hope that the team will have enough time to adapt to the new features 2021.1 offers. Stuff like new scene tooling and some custom nodes for visual scripting. I’m making a custom terrain system and I also have to implement a basic procedural generator. At the first glance, this package looked relatively easy to maintain with a lot of features.
I request unity to add roads tool like easy roads 3 and river spline system like R.A.M on asset store and integrate in terrain tools!! And also can we have tesselation, parallax mapping features for terrain and material support more than four?!
Heya. Just to be clear, while we have been putting a lot of effort into Terrain and Terrain Tools recently, this does not mean that Environment has been cancelled.
How do I get a splatmap texture into Unity without the texture importer premultiplying the alpha channel? I can only make it work with a fully opaque alpha, which obviously cocks up the total splat weight.
[EDIT: My bad…it’s not Unity, it’s Paint.NET which premultiplies the alpha with the RGB on saving the TGA. Grrr.]
there are some errors in the new package, I’m not sure if the TypeVersion() one will prevent builds.
EDIT actually it looks like its not from the latest version, just a general issue
when compiling any shader (URP is not installed in project):
Shader error in ‘Hidden/LWRP_TerrainVisualization’: failed to open source file: ‘Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl’ at /XXXX/Library/PackageCache/com.unity.terrain-tools@3.0.2-preview.3/Shaders/Visualization/LWRP/LWRP_TerrainVisualizationInput.hlsl(4) (on d3d11)
when compiling any C# code (with Entities 0.16.0-preview.21 installed):
ArgumentException: UnityEditor.Experimental.TerrainAPI.PaintHeightTool and UnityEditor.Experimental.TerrainAPI.PaintHeightTool have a conflict in the stable type hash. Use the [TypeVersion(…)] attribute to force a different stable type hash for one of them.
Unity.Entities.TypeManager.AddTypeInfoToTables (System.Type type, Unity.Entities.TypeManager+TypeInfo typeInfo, System.String typeName) (at Library/PackageCache/com.unity.entities@0.16.0-preview.21/Unity.Entities/Types/TypeManager.cs:408)
Unity.Entities.TypeManager.AddAllComponentTypes (System.Type[ ] componentTypes, System.Int32 startTypeIndex, System.Collections.Generic.Dictionary2[TKey,TValue] writeGroupByType) (at Library/PackageCache/com.unity.entities@0.16.0-preview.21/Unity.Entities/Types/TypeManager.cs:1058) UnityEngine.Debug:LogException(Exception) Unity.Debug:LogException(Exception) (at Library/PackageCache/com.unity.entities@0.16.0-preview.21/Unity.Entities/Stubs/Unity/Debug.cs:19) Unity.Entities.TypeManager:AddAllComponentTypes(Type[ ], Int32, Dictionary2) (at Library/PackageCache/com.unity.entities@0.16.0-preview.21/Unity.Entities/Types/TypeManager.cs:1072)
Unity.Entities.TypeManager:InitializeAllComponentTypes() (at Library/PackageCache/com.unity.entities@0.16.0-preview.21/Unity.Entities/Types/TypeManager.cs:1012)
Unity.Entities.TypeManager:Initialize() (at Library/PackageCache/com.unity.entities@0.16.0-preview.21/Unity.Entities/Types/TypeManager.cs:461)
Unity.Scenes.Editor.TypeDependencyCache:RegisterComponentTypes() (at Library/PackageCache/com.unity.entities@0.16.0-preview.21/Unity.Scenes.Editor/TypeDependencyCache.cs:77)
Unity.Scenes.Editor.TypeDependencyCache:.cctor() (at Library/PackageCache/com.unity.entities@0.16.0-preview.21/Unity.Scenes.Editor/TypeDependencyCache.cs:59)
UnityEditor.EditorAssemblies:processInitializeOnLoadAttributes(Type[ ])
I’ve installed the terrain tools recently and I realized that the brush size is frozen. A user told me undocking that editor part kind of solved it, but I couldn’t get that to work. Is this something that could be addressed in the next version of the tools?
That might be related to a bug I noticed where the Y position isn’t being translated correctly somewhere. The mouse cursor shows below where the UI thinks it is. So you have to click like an input’s height length under what you actually want to click on.
Heya! We are aware of the URP/HDRP shader errors and are working on those. We are also aware of the type hash conflict and worked with the DOTS team to resolve those issues. Previously, full assembly name was not included in the type hash but now it will be for special cases, iirc.
Hi Wyatt, and thanks for your fast response. I recorded this, the first part shows how it should behave (Hydraulic erosion size brush working correctly). After that I show how the Raise of Lower Terrain Brush works. There’s no way to change the size as we do in the Hydraulic Erosion option. I have to type manually the range every time I want to change the size, and that slows the workflow significantly: