Search Unity

[Released] ATLAS - Next Gen Terrain Editor - essential tool for creating beautiful worlds

Discussion in 'Assets and Asset Store' started by Atlas-terrain, Dec 15, 2021.

  1. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
  2. shinywhitebox

    shinywhitebox

    Joined:
    Feb 22, 2017
    Posts:
    9
    Great looking asset. I've been looking for a non-destructive editor and just got this today.

    is there a way to control splats based on height/slope constraints?
    I tried the "slope" texture input, but couldn't get it to be "sensible" (it'd still ride up the walls)

    I'm wanting to custom paint the floor of this 'lake" with a couple of base "rock" textures. How would you go about this? Ideally I'd like to blend darker rocks near the water edge and then lighter as I get to the center of the area.

    upload_2022-5-13_20-50-13.png

    here it is, with water:
    upload_2022-5-13_20-51-26.png
     
  3. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Hi Shinywhitebox, there are several techniques you can apply here, let's go over some of the options you have with Atlas.

    First it's important to know that any splatmap related data is baked within the stamp textures, so the only reason the stamps have a slope map is because it was built to have that map, they might as well contain very different maps like specific snow maps, deposition, erosion and so forth.

    Here's an example using the slope map of one of the built-in lake stamps.
    Personally i always clear the whole layers list first when i don't like the current configuration of the prefab.
    Then add 1 layer that is the base like soil for the whole stamp.
    Then add another layer on top of that and start tweaking it...

    In this slope example i brought down the "offset" slider to about -0.5 and was already happy with that result.

    I then disabled preview mode and saw that it needed a bit more opacity so i increased the multiplier to about 2.

    So far all the stamps included with atlas have the same slope map exported, so this can be done on all of them.

    Keep in mind that you can generate your own stamps including the masks with third party terrain generator tools like Gaea/World Creator/World Machine.
    Our stamps are all made with Gaea.

    Whenever there is a situation where we can't get the splatmaps right from the stamps alone we can rely on the mask painting feature to fill these gaps.

    Stamps can be configured to contribute to splatmaps only, here i have placed the "Flat" stamp found in the "B_shapes" folder on top of the lake, and configured it to only write to the sand splatmap of the terrain by setting the height opacity to 0 and adding 1 layer to draw sand for the whole stamp.

    I then edited the mask trough our mask painting feature in the editor to only draw the sand where it needs to be.

    And lastly i decreased the opacity slider a bit for a better look.

    To have darker sand on the edges i would copy past the sand stamp and repaint it once more to get the desired result, or i would try and get the same effect using the layers of the lake stamp itself.
     
    Last edited: May 13, 2022
    Fibonaccov likes this.
  4. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Hello! Is there a demo I can try? As I've been a little singed by assets in the past. This looks interesting, especially the non-destructive workflow. I'd requested such a thing from Unity in the past but it didn't seem like they had the interest or time for it.
     
    eaque likes this.
  5. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Hi there is no demo, though we do have videos showing it off on Atlas's youtube channel, or for a more in depth talk you can always reach us trough discord.

    There is no drm so a demo doesn't make sense to us unless you know of another way?
     
  6. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Right I guess yeah I could be some kind of nefarious pirate, it's understandable...
     
  7. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Nothing personal man ^^ just no demo to download.
    If you have doubts we can give you a tour trough discord and we'll happily answer questions or share screen.
     
  8. IllTemperedTunas

    IllTemperedTunas

    Joined:
    Aug 31, 2012
    Posts:
    782
    The Unity terrain is Y up only, can you rotate this terrain on its side and paint it from another axis? I'm building a 2d game and I'm hoping to find a "terrain" asset that allows me to build cave like areas for my game with this in mind.
     
  9. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Hi IllTemperedTunas, Atlas is not a terrain renderer on itself, it basically lets you build heightmaps and splatmaps in a non destructive way, and it can automatically apply these on a unity terrain but it can also export these as regular textures that you can use with your own terrain solution.

    You can for example build your caves topdown > export the height and splatmap textures > assign those to a grid mesh > and build a custom shader that offsets the vertices using the heightmap and covers it with textures masked out using the splatmap.

    In that case you can orient it in any way you want but it requires some knowledge of shader graph to accomplish this.

    You can investigate if this would work using test ... height and splatmap textures before considering Atlas as a viable option.

    If you find that something like this soots your needs you can use Atlas as a tool to build those textures with but editing within Atlas will be top down (unless you expand its code) since it uses a unity terrain to display its result in real-time.
     
    IllTemperedTunas likes this.
  10. ZDM1998

    ZDM1998

    Joined:
    Jan 10, 2017
    Posts:
    3
    Hello Atlas Terrain Team,

    I wonder if there is a polygon stamp feature similar to the existing spline stamp? If not, is there a plan to have a polygon stamp feature in the future?

    I checked the documentation as well as all your videos. However, I haven't found the feature that I can stamp (including the height and the splatmap) a polygon area. The closest way I can think of is to create a stamp texture in a polygon shape, but that would be very inflexible for making changes.

    This is the terrain tool that I have been dreaming of (tired of Gaia's stamper). I think it is designed for a more flexible terrain editing workflow and I believe it has achieved 90% of its goal. It would be even better if it could have a polygon stamp feature(similar to what Vegetation Studio's Biome). If the spline stamp was implemented with rasterization, I think a polygon stamp feature should be similar.
     
  11. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Hi ZDM1998, a polygon stamp is not included but we have been thinking about it a lot.
    This is the final stamp type that we need, but we haven't started on that feature's development yet, we'l have to investigate and try out a bunch of things before this becomes part of the package.

    For now there is the mask painting feature so instead of a polygonal area its a pixel based one, we figured that this feature goes above the polygon feature bc it allows for more control in total.

    The code is regular c#, if you do have coding and shader knowledge you can make your own stamp type and we would gladly help you out in doing so ^^
     
  12. radsburied

    radsburied

    Joined:
    Jul 14, 2021
    Posts:
    4
    Heya! Quick question, is this using Unitys default terrain detail system?

    The main issue with the default Unity one is when you use prefabs and custom shading for your grasses that the objects won't align with the terrain normal.

    Is this something Atlas supports? and if not, can Atlas be combined with Nature Renderer or something like that?
     
  13. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Correct, Atlas is a terrain editor, it lets you build heightmaps and splat maps in a non destructive way and it then applies these automatically for you on unity terrains or your own height based terrain solution.

    it does not handle instance rendering or shaders.

    Atlas can be combined with instance rendering packages and or custom shaders as it only handles your terrains height and splat maps , after these maps are applied you are left with a regular unity terrain and the other tools can do their thing.
     
  14. Lord_Legion

    Lord_Legion

    Joined:
    Dec 30, 2020
    Posts:
    7
    Hi, i use microsplat 2021 urp, and if i use texture after 8, i see that. How fix that? I need more, than 8 texture on my terrain
    upload_2022-7-17_14-36-4.png
     
    Last edited: Jul 17, 2022
  15. Lord_Legion

    Lord_Legion

    Joined:
    Dec 30, 2020
    Posts:
    7
    Mountain on this screen dont use texture after 8 on terrain, but have this bug, i can fix this i just paint new texture with brush and this bug dissapear. I will build stump mountain and try
    paint with snow texture which after number 8 on terrain
    upload_2022-7-17_15-20-17.png
     
    Last edited: Jul 17, 2022
  16. TheGameQueen

    TheGameQueen

    Joined:
    Apr 2, 2018
    Posts:
    2
    Seller Doesn't answer well. Contact system is terrible.
    even I ask to him in Youtube, Instagram. but he didn't answer.
    I pre-buyer, but I will not buy it. because his contact is terrible, so If I have some trouble in this asseet, I will solve by only my think. terrible contact
     
  17. Lord_Legion

    Lord_Legion

    Joined:
    Dec 30, 2020
    Posts:
    7
    Actually I really like this instance, I was able to create a beautiful map in just two days, but I can report some errors and how I solved them.
    1) Road, if you try to connect different edit paths, everything is fine, but after applying they don’t really touch and you need to contrive to connect them)
    2) I do not advise you to press ctrl + z if it is valid for canceling the edit atlas prewie volume, in case you may have one of the landscape missing, just exit the editor mode, remove the landscape from the scene, add it again, add the atlas terrain component again and if you need microsplat, then go back to editing and everything will work.
    3) If you need more than 8 textures, then buy a microplate of your version of the unity and it works, but not perfect. Yes, you increase the number of textures on the upcoming landscape and draw images, but when editing any atlas element, all textures after 8 black and white and with HDR enabled also glow. In the usual case, it is necessary that the HDR post-processing does not interfere with or affect the texture of the strain, instead of the desired texture, it turned black, after which editing was required. Next, you need a huge brush with the lowest sensitivity and the choice of the desired texture. One click on the landscape will only paint black buggy textures in the wrong color.

    For 2 days a can create this beatiful landscape
    don't pay attention to the rivers, everything looks beautiful up close
    upload_2022-7-18_15-24-11.png
     
    mick129 likes this.
  18. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845
    Most of these publishers, use there own Discord, he is super active... Unity forums is terrible place for support which is why most publishers use something else... when you buy an asset, it shares this info there.
     
  19. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115

    Hi Lord_Legion, we have just finished helping some one else with a similar issue \o/, would you mind hopping on discord or PM?
     
    Last edited: Jul 18, 2022
  20. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Ah this has to do with splatmap normalization, this should be fixed in Atlas's second update, in case you haven't got that one installed.

    Its whenever the sum of al the splatmaps is not 1 , and then the bloom or exposure goes haywire.

    Even though you have only 8 terrain layers assigned to your terrain, whenever a stamp writes to lets say layer 9 or 10 , this can still occur, so make sure the stamps are not writing to a terrain layer that doesn't exist.
     
    Last edited: Jul 18, 2022
  21. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Are you trying to use instagram and youtube as support line? forums and discord work better if you try them.
     
  22. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115

    Thanks for investigating ^^

    For roads go to the spline settings and set quality to "Export" to get a 1 to 1 preview of what itl look like when applied.
    And be sure the "full resolution square" is showing the point of connection, hope this helps a bit.

    Undo indeed is not good for cancelling edit mode. not sure what you mean by landscape though?

    For 8+ textures you can export up to 4 splat maps , which allows up to 16 textures but you'll have to write something to apply the other 2 onto the unity terrain
    (this is what we have figured out a few days ago and will include this in the next update, but for immediate help with this feel free to send a PM or hop on discord ^^)
     
  23. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Thanks for sticking up for us man, appreciate it ^^
     
    Recon03 and DrMeatball like this.
  24. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Just a heads-up, I won't be available for the next 4 hours, feel free to ask more questions, ill read-up when back ^^
     
  25. Lord_Legion

    Lord_Legion

    Joined:
    Dec 30, 2020
    Posts:
    7
    Okey thx, i right understand in future you fix this bug? I am trying to find discord, but when i am clicked on discord in unity asset store, he directs me to this forum.

    I am use Atlas 1.0.3 version
     
  26. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Ooo daim didn't notice the discord link, will fix asap thanks! ^^

    Heres the discord link: https://discord.gg/4f2k7pTkNZ

    So Atlas does provide enough splatmap information to support 16 layers, this is however not yet automated to apply onto unity terrain.

    A few days ago we did automate this.. so we can transfer some code changes to get you up and running to 16 terrain layers for the standard render pipeline (HDRP and URP do not support 16 terrain layers, not mush we can do here)
     
  27. mattikal

    mattikal

    Joined:
    Feb 13, 2022
    Posts:
    9
    Hello,
    I have about 4 materials per stamp and I would like to preserve the underlying material information when exporting the splatmaps. Right now lower priority terrain material layers gets cleaned up and set to 0 when there is another material on top.

    I have less than 16 materials total, I'm using a custom shader for terrain. Preserving the underlying material information is important to the look I'm after. Is there way to preserve this by changing the source code somehow?

    Thanks!
     
  28. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Interesting...

    That might be possible by altering the shaders ^^

    If we take a look at the "AtlasOtherMaskMerge.shader"
    this one merges a splatmap call onto the final splatmaps.

    Code (CSharp):
    1.  
    2.                 r = a - f.rrrr; //here it subtracts the splatmap from all other channels removing the underlying information
    3.            
    4.                 for (int i = 0; i < 4; i++) {
    5.            
    6.                     if (i == _SplatChannel && _SplatTargetIndex == _SplatIndex) {
    7.            
    8.                         r[i] = a[i] + f; //here it adds the splatmap to the current channel the stamp wants to write to
    9.            
    10.                     }
    11.            
    12.                 }
    13.                
    so removing that first line , should make it keep on adding to the final splatmap


    then there is another shader that normalizes the splatmaps at the end (makes the total sum per pixel be 1)
    in "AtlasSplatNormalize.shader"

    Code (CSharp):
    1. float4 frag(v2f i) : SV_Target
    2.             {
    3.  
    4.                 float sum = tex2D(_Sum, i.uv).r;
    5.  
    6.                 float4 color = tex2D(_MainTex, i.uv).rgba;
    7.  
    8.                 if (sum == 0.0) {
    9.  
    10.                     color.r = 1;
    11.  
    12.                 } else {
    13.  
    14.                     color /= sum;
    15.  
    16.                 }
    17.  
    18.                 return color;
    19.  
    20.             }
    This should no longer be normalized, so it should return the color un altered.


    This is the first thing that comes to mind, hope it helps and let us know if this works ^^
     
    Last edited: Jul 26, 2022
  29. mattikal

    mattikal

    Joined:
    Feb 13, 2022
    Posts:
    9
    Thanks for the help!
    With those two changes, I'm now getting fully white splatmaps. So all channels and all pixels are 1. Any ideas?
     
  30. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Hmm that would be the result tbh when u got a lot of stamps, where they all add to the splatmap.

    With less stamps though it shouldn't be all white (depends on the configuration of stamps you got).

    If you try 1 stamp with 1 splatmap rule on it writing to lets say layer 2, then you should have a green splatmap1 texture and a black splatmap2 texture, is this the case?
     
  31. mattikal

    mattikal

    Joined:
    Feb 13, 2022
    Posts:
    9
    Ok, I tried with just 1 stamp like you said and the result was as you said. However, all the other channels were full and when adding another stamp to other layer everything becomes white. So the problem seems to be that by default everything is 1.
    If I manually define empty splat layers to all of the stamps, then it works, but it is quite tedious to add them to every stamp every time. Is there an easy way to set everything 0, by default? Thanks!
     
  32. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    The stamp rules are copy pastable ^^
    Right click the splatrules list copy > paste to other list.

    Multi edit is supported for stamps that have the same "stamp asset" assigned.
     
  33. mattikal

    mattikal

    Joined:
    Feb 13, 2022
    Posts:
    9
    I got it working by changing the r = a - f.rrrr; to r = a;
    Not sure if this is going to have some other negatives effects down the line, but now I'm happy workflow-wise. :)
     
  34. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Noice!, looks like setting instead of adding is what you needed ^^ glad it works!
     
  35. buc

    buc

    Joined:
    Apr 22, 2015
    Posts:
    123
    Just adding an image, since there is no possibility to upload an image in the review

    The image shows:
    Atlas is automatically mixing terrain-textures for you, so goodbye tiling artifacts :)
    (the textures are from another project and not included in the package)
    Atlas.PNG
     
    atsmsmr and SalihMucahit like this.
  36. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    Question.

    Can I still manually sculpt the terrains in gameplay critical areas so the system doesnt override what I hand sculpted (unless ofc i drag and drop the stamp directly into the area i manually modify and meddle with it :) )?

    About the 16 terrain layer limitation...Youd have to make it easier for Atlas to work with Microsplat for isntance or other custom shaders.
     
  37. buc

    buc

    Joined:
    Apr 22, 2015
    Posts:
    123
    You can create a stamp of your current state of the terrain. Then use this stamp as the very first layer. This is the current way to preserve custom work before using procedural stuff on top.
     
  38. Turkey4ya

    Turkey4ya

    Joined:
    Nov 19, 2021
    Posts:
    2
    Hi there,

    I purchased Atlas yesterday and its the best asset I've ever used. The workflow is amazing and I'm having so much fun creating interesting terrains.

    One question: I'm currently working on a golf game and I'm having trouble creating greens. I thought that the spline tool would be great for creating the smooth shape that a green has (example below). Splines are great for creating the outline of the green but would there be any way to "fill" the area on the inside of the spline to create one solid mesh with a smooth outline?

    Thanks in advance,
    Ben.
     

    Attached Files:

  39. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Hey o/ nice to hear man!


    There is no toggle button to fill the spline but there are some other ways you can do this.


    #1

    One is to use the spline and then put a "flat stamp" underneath it so the spline renders on top of the "flat stamp".

    Then mask out the "flat stamp" so it does not alter anything outside the bounds of your spline.

    Here is how you can Mask paint

    The "flat stamp" can be found in Atlas Terrain Editor/Stamps/Basic Stamps/B_Shapes/B_Shape_Flat_01

    Once you have your spline and accompanying flat stamp you can group them both into a new gameobject and make a prefab out of it so that you don't have to create this more than once.


    #2

    Another way to do this is generate your shapes in advance with software like Gaea, it's free up to 1K texture export.

    You can then export the textures needed to create your own stamp asset.

    These are the textures you need: stamp asset properties

    Note that the "splat1" , "splat2" , "color" , "road mask" slots are not required if you don't use them.



    Hope this helps and would love to see progress on your golf course! ^^
     
  40. atsmsmr

    atsmsmr

    Joined:
    Feb 26, 2021
    Posts:
    2
    Hi,
    When I was trying to "get started" in the manual, I got a following error in the "Applying Atlas to your terrain" section and could not proceed. What can I do to resolve the error?

    -- error messages --
    Atlas.Unity.AtlasUnityTerrainRenderer.ExportTextures: invalid path: needs forward slashes '/' : Assets/Atlas Terrain Editor/Export
    UnityEngine.Debug:LogError (object)
    Atlas.Unity.AtlasUnityTerrainRenderer:ExportTextures (Atlas.Unity.AtlasStamper,string) (at Assets/Atlas Terrain Editor/Runtime/AtlasUnityTerrainRenderer.cs:201)
    Atlas.Unity.AtlasUnityTerrainRenderer:Render (string) (at Assets/Atlas Terrain Editor/Runtime/AtlasUnityTerrainRenderer.cs:62)
    Atlas.Unity.AtlasUnityTerrainRendererEditor:OnInspectorGUI () (at Assets/Atlas Terrain Editor/Editor/AtlasUnityTerrainRendererEditor.cs:81)
    UnityEngine.GUIUtility:processEvent (int,intptr,bool&) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)

    スクリーンショット 2022-09-14 14.02.17.png
     
  41. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    You can comment out these lines in Atlas.cs script



    like so ...



    line 1175 to line 1181 ^^
     
  42. atsmsmr

    atsmsmr

    Joined:
    Feb 26, 2021
    Posts:
    2
    Thank you for your fast reply!
    Although the code was in a different place (1117--1123), I commented out them and the error was successfully resolved.
    But is this really OK to comment out these lines...?
    Why did this error happen on my environment?
     
  43. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    It detects backwards slashes but then printed your path with forward slashes.
    So it leads me to think the "Path.DirectorySeperationChar" may depend on windows settings.

    Will remove this check in the next update.
     
  44. bvonline

    bvonline

    Joined:
    Feb 27, 2021
    Posts:
    85
    Hi, can you tell me which textures you used in your image for the ground? Looks quite nice.
     
  45. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Quick heads up guys,

    We've reworked the tutorials entirely, feel free to check the first post in this thread for more information.

    Have a great day ;)
     
    DrMeatball likes this.
  46. rlalancette

    rlalancette

    Joined:
    Sep 20, 2014
    Posts:
    18
    Just a quick question.
    Can we add stamps at runtime using an API of some sort?
    This would be cool to generate infinite terrains :)
     
  47. AmbientLion

    AmbientLion

    Joined:
    Aug 19, 2019
    Posts:
    5
    Running into a problem using Atlas -- the masking editor doesn't seem to work right (Unity 2021.3.4f1). It allows me to make changes, but the results aren't saved. As soon as you click apply, the masking disappears. I'm using the URP pipeline.
     
  48. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    Yup ^^, you would spawn the prefab trough code.

    Then call the Render() function on the "AtlasUnityTerrainRenderer.cs" component attached on your terrain.

    After it rendered you can remove the stamp from memory if needed.
     
  49. Atlas-terrain

    Atlas-terrain

    Joined:
    Jul 11, 2015
    Posts:
    115
    After pressing Apply, do you get a message like this in the console?

    "Painted Mask Saved @:Assets/Atlas Terrain Editor/PaintedMasks/B_Shape_Flat_01--1230.exr" (its a white message)

    If so you can check if the texture it saved is assigned to the stamp

    1) select the stamp you just painted
    2) set the inspector in debug mode
    3) check if the texture is assigned



    Let us know if no message or error was given and/or if the texture is assigned or not.

    Will also try and replicate in your unity version.
     
  50. AmbientLion

    AmbientLion

    Joined:
    Aug 19, 2019
    Posts:
    5
    There isn't a texture assigned -- but there is an error in the console:

    "needs forward slashes '/' : Assets/Atlas Terrain Editor/PaintedMasks"

    Is this possibly because I'm running on a Mac, and the '/' character is a path separator on Mac? It looks like on line 1118 of Atlas.cs you're checking:

    Code (CSharp):
    1. if (path.Contains(Path.DirectorySeparatorChar)) {
    2.    error = "needs forward slashes '/' : " + path;
    3.    return false;
    4. }
    Which I've confirmed I'm hitting by breakpoint. This gets called from StampBaseEditor.cs @ line 96:

    Code (CSharp):
    1.  
    2. AtlasPainter.ApplyChange("Assets/Atlas Terrain Editor/PaintedMasks");
    3.