Search Unity

Erosion Brush - a tool to paint terrain with noise and erosion

Discussion in 'Assets and Asset Store' started by Wright, Jan 10, 2015.

  1. Marked

    Marked

    Joined:
    Feb 24, 2015
    Posts:
    32
    Good job man ! Love it !
     
  2. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Thanks!

    Erosion Brush now got an evaluation version. It has two limitations: a terrain heightmap resolution is limited to 513 and, needless to say, it should be used in evaluation purposes only. Evaluation version could be downloaded here. Feel free to test the plugin!
     
  3. Morfeuskiev

    Morfeuskiev

    Joined:
    Oct 10, 2013
    Posts:
    122
    Very Big Thanks. Work fine and correctly.
     
  4. Kiwi-Hawk

    Kiwi-Hawk

    Joined:
    Jul 17, 2015
    Posts:
    288
    Kia ora

    I just like to say thanks for a great wee tool, I wish I had a version for UE4 mate I really do. this make
    landscape and texturing a dream, so easy to make something what ever shape you want and still have
    it look natural. he only draw back I have at the moment is (unless I'm doing something wrong) if I change
    (by adding) a texture, say I want a different rock on some mountains in one part of my world I find it stops
    working, seem it will only work with the texture start with. it doesn't like to update or change a texture
     
    Wright likes this.
  5. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Kiwi-Hawk, just checked out changing different textures for erosion, sediment and noise, and everything seems to be fine. Could you please email me (mail@denispahunov.ru) more detail steps to reproduce bug? Thanks.
     
  6. Kiwi-Hawk

    Kiwi-Hawk

    Joined:
    Jul 17, 2015
    Posts:
    288
    I wonder if it's because I added them later part wat through and not setup all the textures
    before starting, seems it something in the process I'm not quite getting correct.

    My mind set is thinking along the lines of:
    Ground 0 = the mud, sand at sea level more or less
    Ground = The dirt, grass land we live on
    Rock = hills, mountains etc
    sediment = silt, dust and dirt flows/drifts

    My mind is looking for that third input thats the sea, river, lake bed mud and sand. BUT thats not how
    nature works so hand painting these areas with mud or sand has to be done later.

    bottom line it's just me I think I'll get my head round it in th end

    Edit:

    I found my issue, if I add a texture part way through, like after I have been painting for a while and I remember a texture I like that would be nice I go get it and add the texture but I can't paint from then on if I use that new texture, if I go back the one that I started with it is fine, seems there a part of the script that does not update to handle the new texture, could be a limit of Unity also, it's not a biggy I just need to make sure I have what I want before I start. Oh and I have to watch, some of my textures are from my Skyrim mods and are converted DDS files that are DXT5, not sure Unity like them, I get funny shines and weird colouring.
     
    Last edited: Jul 23, 2015
  7. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    I have to confirm that newly added textures really cause an error. This is a bug and it will be fixed in next version. Thanks Kiwi-Hawk for bug report.
     
  8. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    Hi, I can't seem to get this working on Unity 5.1.2f1, I see the brush but nothing is working no matter what I set it to.
     
  9. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    Ignore me, it does work. I created a new single terrain and works fine. I tried it on a selected terrain within my 10x10 grid of tiles terrains. Just need to work around it. Seems like it doesn't like terrains created with Terrain Composer?
     
    Last edited: Jul 28, 2015
  10. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    I have not tested it with Terrain Composer, probably there is something a bit unusual with those terrains - maybe a heightmap is not POT+1 or something. I'll do some tests when I'll get my hands on Terrain Composer. If you will need sources to make a workaround - mail me your order no.

    2 everyone: you can get sources if you'd like to. Just email me your order number (mail@denispahunov.ru).
     
  11. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    @Wright - thanks! Much appreciated. I'm rolling back a Unity version to see if its that as I'm on the latest BETA which has some terrain alterations.

    edit: rolled back, and all is working fine now on multiple terrains. Great asset!
     
    Last edited: Jul 28, 2015
  12. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    After rolling back to 5.1.0 of Unity it worked once, then stopped on Multiple terrains (Using Terrain Composer).
     
  13. TheSeawolf

    TheSeawolf

    Joined:
    Apr 10, 2015
    Posts:
    267
    Hey Denis this is a great tool, but I'm having a wee problem. The Erosion part of the tool will not work on map sizes of x=5000 x y =6000 (513 height map resolution). Is there any way to increase these X and Y values at all?
     
  14. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    TheSeawolf, just checked it out - I could paint on a terrain of 10000x10000 units in size. Maybe the brush size is too small for such huge size and low resolution, it just always gets one pixel of a heightmap, and there is no way to make an erosion of one pixel :) Try increasing the brush size to 200 (Brush size limit could be set in Settings foldout).
     
  15. TriState

    TriState

    Joined:
    Sep 21, 2013
    Posts:
    4
    I really love Erosion Brush! It is a fantastic tool, which definitely closes the missing link between sculpturing the landscape manually and realistic looking mountains.

    I have two ideas to improve the tool even more and it would be great, if they were taken into account in the future:

    - There are really a lot of settings and it would be cool, if there were some presets that contain the settings for specific mountain types (hills, raw mountains etc.) maybe with additional slots for user defined settings. This would allow to quickly change the brush style.

    - I use EB together with RTP and Terrain Composer and it works really well. They only problem is, that if EB brush reaches the border of the terrain, it creates an edge. The very first mesh line on two sides of the terrain have a negative offset. (It happens also, if global brush is applied). This makes it difficult to stitch multiple terrains together.

    Thanks again, for this great tool!
     
    Wright likes this.
  16. TheSeawolf

    TheSeawolf

    Joined:
    Apr 10, 2015
    Posts:
    267
    Thanks Wright, this has done the trick and all works how it should now. Actually, this improves the performance of the tool on larger terrains.

    Great tool, great purchase, great after sales service :)
     
    Wright likes this.
  17. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    TriState, both of the suggestions sound very useful. I've marked two items in my to-do list.

    TheSeawolf, nice to hear that, cheers )
     
  18. andsky

    andsky

    Joined:
    Mar 7, 2014
    Posts:
    8
    Can anyone help me?
     
  19. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    andsky, could you please describe a situation when the error occurs? Is there any way to reproduce it?

    NoiseBrush is currently one version behind ErosionBrush, I plan to update it next week. Maybe new version will get rid of the error. But still bug description should be very helpful.
     
  20. andsky

    andsky

    Joined:
    Mar 7, 2014
    Posts:
    8
    I created a new project (clean)

    When I import the plugin, this window appears (1):



    When I activate the checkbox, the error occurs:



     
  21. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Do you have any terrain textures assigned? If not - try to add a texture in terrain "Paint" section, and then select a channel in Noise Brush next to "Bedrock:" label.
     
  22. andsky

    andsky

    Joined:
    Mar 7, 2014
    Posts:
    8
    Yes, I have textures but there's no channel in Noise Brush next to "Bedrock:" label.
    When I press the button Paint, the error is displayed.

     
  23. TheSeawolf

    TheSeawolf

    Joined:
    Apr 10, 2015
    Posts:
    267
    Andsky, I'm not sure this will help, but I noticed you don't have a terrain under the hierarchy tab to associate the erosion brush script to?

    Actually just noticed you are using the free Noise brush. I too got this error when using the free noise brush, and it doesn't work with unity pro 5; hence I simply bought the full package.

    Believe me when I say this, without the Erosion Brush you are doing yourself a major injustice and the terrains you create by simply using Noise are only half created. The erosion brush saves you many hours of work and creates geomorphology that is breathtaking.

    Do yourself a favour and upgrade even without testing the noise brush.
     
  24. andsky

    andsky

    Joined:
    Mar 7, 2014
    Posts:
    8
    Hello, I have not.

    I am testing, but my intention is to buy the full plugin...
     
  25. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    New EB version (1.3) is currently available in Asset Store. It introduces two new features TriState suggested:
    - brush presets to save and load brush settings (presets could be switched with keyboard, keys3-9)
    - fixed brush behavior on terrain borders
    - moreover, new downscale algorithm preserves all the terrain detail
    - demo scene from this video included

    As EB is now a c# file, not a dll, it may be necessary to re-assign script to terrain.

    EB evaluation version was also upgraded.
     
  26. wheels

    wheels

    Joined:
    Jan 20, 2013
    Posts:
    29
    Hey great tool :) best money i spent so far. I do have a few suggestions though.

    -It seems as though you cannot paint splat textures without modifying the terrain heightmap. I would like to be able to for example paint noisy grass spots on dirt without modifying the height map.

    -I would love to be able to assign multiple textures as a sediment or bedrock texture or as a noise texture. If i could control how sediment could be applied (for example randomly mix noisily 2 or more textures as sediment or have texture A (small broken rocks) applied near shallow angels but Textureb (raw earth) applied above) that would improve the quality and variety of my terrain dramatically.

    -Multi-terrain painting, Id like to be able to paint between terrain tiles seamlessly.

    I too use RTP and terrain composer, though I'm looking to get more control with the erosion brush than what terrain composer gives me and use terrain composer for object placement.
     
  27. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    wheels, I can implement the first idea without any problems, although it's a bit distracting from erosion, the original plugin purpose. But I add it in my to-do list.

    The second suggestion sounds rather complex. There should be a better way to achieve these effects. Some kind of masking (like in ZBrush) for the first one and a special normal/cavity brush for the second. Maybe I'll undertake implementing it, but not in scope of EB, it should be a separate terrain sculpting plugin. And most probably it will not be single-terrain bound to perform multi-terrain sculpt. But it's just a concept, I don't even know when I'll bring it to a life.
     
    wheels likes this.
  28. KingLlama

    KingLlama

    Joined:
    Jul 18, 2015
    Posts:
    199
    Running into two errors.

    Assets/ErosionBrush/ErosionBrush.cs(199,60): error CS1503: Argument `#3' cannot convert `float[]' expression to type `int'


    Assets/ErosionBrush/ErosionBrush.cs(199,60): error CS1502: The best overloaded method match for `ErosionBrushPlugin.Erosion.ErosionIteration(float[], float[], int, int, float, float, float, int, float)' has some invalid arguments
     
  29. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    KingLlama, what are your Unity and EB versions (EB version could be found in 'About' section)? Under what circumstances the error occurs (what actions should be taken to reproduce it)? Does it persist in demo scene?
     
  30. KingLlama

    KingLlama

    Joined:
    Jul 18, 2015
    Posts:
    199
    I'm on the most up to date on unity and updated my eb and started recovering it right after reimport ing the eb!
     
  31. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    2 All: please note that there are two 'up to date' EB versions on Asset Store: one for Unity 4.6 (v.1.1) and one for Unity 5.1.3 (v.1.3). Downloading EB from Unity pre-5.1.3 (for example 5.0 or 5.1.2) can cause a confusion because Unity4 version will be downloaded.
    KingLlama, please make sure that you are using Erosion Brush v1.3 with Unity 5.2.1, the most recent EB version do not require reimporting for Unity 5. It seems that your plugin is partly the recent version and partly the old one - it uses the old function call while the function itself is the new one. It's very odd and I am really interested how that could happen.
     
  32. KingLlama

    KingLlama

    Joined:
    Jul 18, 2015
    Posts:
    199
    I'm on unity 5.2.0f3 and eb 1.3. It could most likely be the fact I reimported. I'm going to remove and reimport. I'll give you a heads up.

    It fixed it.
     
    Last edited: Sep 28, 2015
  33. TriState

    TriState

    Joined:
    Sep 21, 2013
    Posts:
    4
    Just tested Version 1.3:

    - The save presets functionality works perfectly! It's great, that user inputs are taken in account!
    - The brush function on terrain border works also perfectly. However, the Global Brush "Apply to Whole Terrain" still
    shows the border issue.

    Thanks, for this great tool and the update!!
     
  34. newfinalflashers

    newfinalflashers

    Joined:
    Mar 1, 2014
    Posts:
    27
    Help!!! I just downloaded the Erosion Brush tool, but it is not working and gives me a ton of errors. I have no clue how to fix. Does anybody have this problem as well? If they do please reply so we can take steps to fix this problem.

    Assets/ErosionBrush/ErosionBrush.cs(98,33): error CS0103: The name `UnityEditorInternal' does not exist in the current context


    Assets/ErosionBrush/ErosionBrush.cs(121,17): error CS0103: The name `UnityEditor' does not exist in the current context


    Assets/ErosionBrush/ErosionBrush.cs(122,17): error CS0103: The name `UnityEditor' does not exist in the current context
     
  35. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    newfinalflashers, what are your Unity and EB versions? Have you downloaded EB from Asset Store using this Unity version?
     
  36. newfinalflashers

    newfinalflashers

    Joined:
    Mar 1, 2014
    Posts:
    27
    I downloaded the Erosion Brush Tool about a month ago, but it gave me a lot of errors. I had to delete the tools that way I can further progress on other aspects of my game. Is there any fixes. I need the Erosion Brush to make my maps, but for some reason it won't work. Thank you for your response!
     
  37. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    newfinalflashers, to make a fix I have to find out what causes these errors. Line numbers does not match the last EB version. Could it be so that you are using special EB version made for Unity 4 under Unity 5? Please see my previous comment:
     
  38. khos85

    khos85

    Joined:
    Jul 21, 2013
    Posts:
    541
    Hi, does your asset still work on Unity 4.6?
     
  39. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    khos85, Unity4 version of EB is no longer supported. I can send the last Unity4 version if you mail me your order no. (mail@denispahunov.ru), but keep in mind that all the new features like brush presets are not available there.

    BTW EB is on sales this weekend :)
     
  40. Adam-Bailey

    Adam-Bailey

    Joined:
    Feb 17, 2015
    Posts:
    232
    Love the tool mate, just bought it on the sale.

    Any chance that future versions will include detail painting? It would be great to be able to generate maps for grass placement based on the terrain erosion!
     
  41. S_Darkwell

    S_Darkwell

    Joined:
    Oct 20, 2013
    Posts:
    320
    @Wright:

    Hello!

    I just purchased your asset today. Upon loading it into Unity v5.3.0f2, I notice that even though I am using Unity's dark theme, the inspector labels (excluding the headers) are black. This makes it very difficult to read.

    Just hoping we might be able to have a quick fix for that!

    Regardless, thank you in advance. Be well!
    - S.
     
  42. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Adam Bailey, thanks! I'm thinking about extending EB functionality into a big terrain sculpting tool. If these plans come true it will have an ability to modify detail map as well as alphas and height.

    S_Darkwell, I'll have a look and test EB with Unity5.3 and dark theme in next couple of days. Thanks for bug report!
     
    S_Darkwell likes this.
  43. S_Darkwell

    S_Darkwell

    Joined:
    Oct 20, 2013
    Posts:
    320
    @Wright: My pleasure. Thank you!
    - S.
     
  44. Quatum1000

    Quatum1000

    Joined:
    Oct 5, 2014
    Posts:
    889
    Hi Wright,

    great tool! But there is one thing missing in all the terrain creation tools. It's nice to have erosion and other stuff for sure.

    I'm missing a road stamp spline tool. It would be great to place a bezier spline onto the terrain that stamps a roadway onto the terrain. It should not stamp the road and the mesh, it should simply use a gravel texture (or any other texture) and build a road way like in real. For sure banking would be great.

    In the end you can use it for Highways, Railroad, roads, streets or what ever.

    Kind regards, Q
     
  45. Autarkis

    Autarkis

    Joined:
    Oct 10, 2011
    Posts:
    318
    @Wright , love your brush, thats for sure. I have a request that would make this a dream, would it be possible for you to get in contact with the author of https://www.assetstore.unity3d.com/en/#!/content/44037 (multiple terrain brush) and maybe do a collaboration with him in order to enable the erosion terrain brush? Honestly, I'd pay for a connection between your two tools to be able to erode across multiple terrains, I'm sure I'm not the only one that would love to see something like this happen :)
     
  46. montyfi

    montyfi

    Joined:
    Aug 3, 2012
    Posts:
    548
    I would like to see multiple terrain support too. Inside this tool, not by using 3rd party. I own Terrain Composer and also Gaya (which should support multiple terrains soon too). But I would still like to use your tool to make a final touches on multi-terrains.
     
  47. Autarkis

    Autarkis

    Joined:
    Oct 10, 2011
    Posts:
    318
    The way you're talking about @gameDevi doesn't work as to how @montyfi and I would like to use this. The multi terrain brush I'm talking about ( or any multi terrain workflow really) allows you to brush on all terrains as if it's a single terrain, so if you're running the erosion brush on an area were two (or four) seams are, you'd get a natural erosion across those tiles. At the moment, the workflow I have allows me to sample height and get it consistent across the tiles, and run erosion separately on the terrains, re-sample heights at a smaller treshold, run EG, and so on until it feels natural across the tiles.
     
  48. gameDevi

    gameDevi

    Joined:
    Oct 14, 2015
    Posts:
    155
    yep that would be the best way :)
     
  49. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    It is very likely that multi-terrain editing will be implemented in EB. It will not be a third-party algorithm, but my own since I'm currently working on a plugin called MapMagic that will require it too. Actually, this algorithm already works there, but needed to be adjusted and tuned.

    S_Darkwell, I've fixed dark labels on pro skin, new version will be available after Unity will review it, and quick fix could be found here (just replace corresponding Layout.cs file).

    And since I've got many requests for Unity 4 version, I decided to update it and return it to Asset Store. It will be available right after Unity's review.
     
    montyfi and S_Darkwell like this.
  50. S_Darkwell

    S_Darkwell

    Joined:
    Oct 20, 2013
    Posts:
    320