Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Landscape Builder - Procedural Terrains, Advanced Prefab System, spline tool, and more

Discussion in 'Assets and Asset Store' started by sstrong, Feb 24, 2016.

  1. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    What does your Stencil Layer look like?
     
  2. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    Right, shoulda known that would be helpful :/

    So what's odd now is that the texture on the stencil was solid white, so I assigned the actual grayscale texture to it again, and ran Generate Heightmap again --- but no difference than before, and it's odd that the material preview panel shows it all white, even though the texture is mostly black....

    Screen Shot 2018-09-14 at 8.20.26 AM.png Screen Shot 2018-09-14 at 8.20.16 AM.png
     
  3. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    What you see in the Stencil Layer is the visible colour. When you have lots of stencil layers you might want to assign them colours that make sense to you. It can also help you visualise what's happening and how they interact with each other. However, these colours can be absolutely anything you like. The stencil layer data is stored in a compressed proprietary format which visually probably won't make sense. We use a simple custom shader when the stencil layer is visible which uses the colour you selected. So, in short, yes, changing the colour you see will have zero impact on the filter. This is by design ;)

    Using the Stencil Layer as a native filter is the correct way to go (remember, this is 16 bit, while a grayscale "Map" uses 8bit blending).

    Seeing the Stencil layer(s) should help us determine what's happening.
     
    PolyMad likes this.
  4. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    Okay -- I uploaded screenshots of the stencil in my previous post....did you want something else?
     
  5. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    The top-down image of the stencil layer.
     
  6. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    In the scene? It's entirely white.
     
  7. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Do you have something like this?

    upload_2018-9-14_22-43-11.png
     
  8. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    No, it's solid white:

    Screen Shot 2018-09-14 at 10.41.24 AM.png
     
  9. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    Thanks for the help. I have been super busy lately so not much time to work on the terrain or report back here. I still have had some issues but found work arounds.

    However one thing; Will you ever be adding a 'heat map' for texturing? Something that puts a highlight on the terrain to show you where your current setttings would have the texture turn up.
    I'm trying to debug some weird textured areas but it's really hard to do with just numbers alone and trying to guess/trial and error find what is merging badly where. What makes things a bit harder is that I'm using CTS Complete Terrain Shader, which can sometimes mean I need to make a change in the terrain editor then re bake the textures in CTS to see the actual difference. That makes the processes off guessing even more of a hassle.
     
  10. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Certainly. It has been on our roadmap for a while but haven't found a good use-case. Any preference on how this should be enabled/disabled in the LB editor?
     
  11. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    Maybe so each texture has check box under the option box for 'Texture Mode' is on each. That way it can be toggled on and off and immediately to highlight where the other settings will put the texture (before clicking the render button).
    It may also be helpful if you even have a colour picker too so you can select what colour everything colours in. Basically just removing the texture to put a colour there or extreme tinting it.
    I mentioned I'm using CTS. I actually as part of my 'de bugging' used the tint in that to turn textures full red one by one to see the full extent of where they are (since they are all a bit blended together).The tint shows up instantly in CTS without needing bake/render button.

    Basically my issue is the point my hills are converging with the ground there is a sort of frosted/hazy/misty look going on. Things are blending together to make something indistinct. I had to do some digging to see what even was touching the area before I could begin to tweak it away. And yeah, as I did the tints, I was surprised by what was and wasn't in those exact spots.
     
    sstrong likes this.
  12. D3Duck

    D3Duck

    Joined:
    Dec 25, 2014
    Posts:
    45
    I've been looking at getting this due to lack of support on my current favourite - TC2. It seems you have a great product here and I only have one question.

    In TC2 you can mask out entire biomes that you can create separately and you just drag in a complete biome preset and assign where on the terain you want to use that biome. Is similar functionality available already on LB? For example; could I make a massive terrain with many biomes that are assigned via stencils?

    I saw this is possible in the tutorials and manual with individual textures, trees, etc. But I'm really talking about a whole biome assigned to one area.

    During runtime a lot of the terain would be disabled of course.
     
  13. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    This really depends a lot on how you want your game to work. LB has the option to save all or selective meta-data about a landscape (which is terrain-independent) in a template. Our DemoLoader example included with LB, shows how you can dynamically load these template files. You can also load and save them manually through the editor.

    Stencils have landscape-wide stencil layers which can be assigned to restrict where items can be (or not be) placed. This includes textures, grass, trees, prefabs and/or whole groups. Within these areas or regions, further rules can be applied.

    Clearing Groups (manually or procedurally placed) can be small (20 cm) or large (2km in diameter) and can include pretty much any kind of prefab as well as control things like ground texturing, grass and trees. Inside Groups you can also assign zones where things can appear (or not appear).

    You "could" have multiple landscapes (with a single terrain each) in the scene or a more typically approach is to have all your terrains in that scene within the same landscape.
     
    D3Duck likes this.
  14. D3Duck

    D3Duck

    Joined:
    Dec 25, 2014
    Posts:
    45
    Okay that makes sense. Meanwhile I already decided to give this a shot so I'll let you know soon how it goes! If any further questions I'll check back here.

    Meanwhile, is there any ETA on further tutorial videos? I always find these help a lot more than manuals as you can really see what is happening.
     
  15. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    We recently released a tutorial on Object Paths. We're planning to do another one when we expand this feature with the next phase of enhancements. Right now, we're busy working on GPU acceleration.
     
    D3Duck likes this.
  16. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    If you find LB helpful, can I encourage you all to review our product on the asset store. This helps us to keep providing the support we do. We have a lot of new features planned, but we need your help to achieve that.
     
    eaque likes this.
  17. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    755
    ?? What ?? Some more? :) What are you thinking of ?

    Review posted!
     
    sstrong likes this.
  18. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Roadmap Update
     
  19. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Our new LB Enviro Pack is now available in the asset store.

    Click here or just search "Enviro Pack" in the store.

    LB_EnviroPk1_KG_163915_16bit.png
     
    Willbkool_FPCS likes this.
  20. Acissathar

    Acissathar

    Joined:
    Jun 24, 2011
    Posts:
    677
    Hi,

    I have a few questions about LB2. I tried looking through the documentation / tutorials, but I don't think I found a direct answer.

    1. Can we use heightmaps larger than Unity's limit of 4096?
    2. If so, can I provide a 16kx16k heightmap and have LB2 generate it into X smaller terrains that connect?

    I believe I saw something in the documentation that mentioned pre-split up heightmaps can be used to generate multiple terrains, which could work too.

    Thanks!
     
  21. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Yes, you could create a new 16kx16k landscape with say a terrain size of 4k, and LB will create the correct number of terrains all joined together. All the LB operations will work across all the terrains like it is a single landscape.
     
    eaque and Acissathar like this.
  22. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350

    Attached Files:

    Last edited: Sep 24, 2018
  23. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    I set up a stencil about 10 days ago to create some steep cliffs, and it worked great ... but now I've come back and created another stencil layer (because I was unable to paint on the previous one, for some reason) -- and now the same setup is not having any effect. I don't know what could be the problem, since I'm in the same scene and LB setup as before, and the same version of Unity. LB works for awhile when I click Generate Heightmap on Topography, but the terrain is unchanged when it's finished. I've tried this over and over again, and deleted and recreated the Layer for this stencil....no help. But if I remove the Layer filter and generate heightmap, then my entire terrain is mostly flattened...so the Layer *is* working...but for some reason the Layer Filters are preventing it from working.

    And Erosion has no effect anymore either (worked quite well last time).

    Here are my stencils and settings -- any ideas?

    Screen Shot 2018-09-24 at 4.57.48 PM.png Screen Shot 2018-09-24 at 4.53.56 PM.png
     
    Last edited: Sep 24, 2018
  24. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Can you tell us what your landscape settings are? These can be found on the Landscape tab, under "Landscape Stats".
    Also, so that we can investigate your issue, can you please:
    1. Go to the Landscape tab
    2. Expand Templates
    3. Click Export Package
    4. Click Save Template
    5. Msg me and include the template package
     
    Last edited: Sep 25, 2018
  25. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Which version of LB are you using? In Layer 1, for your setup with a imported grayscale TIFF, turn on "Is Source Normalised".
    If for some reason you can't paint onto an existing Stencil Layer, check the Unity Console for any errors or warnings. You should always be able to paint onto them. If you cannot, you can always just turn off that Stencil Layer and report it so that can resolve the issue for you. You can also try turning the layer on/off or turn off Show Stencil, then going into it again. Make sure the see the highlighted "A" button on the stencil layer you wish to paint to.
    You can also send us a Template (from the Landscape tab) for us to test.
     
  26. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    The exported template is 120 MB.
    I included everything. May I strip something?
     
  27. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Did you import an existing terrain or did you create this landscape with Landscape Builder?

    If you made it with LB, just need to click "Export Package" and "Include Stencils" (if you have any stencil layers). You can start with just those two options and we'll see what it looks like at our end.
     
  28. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    OK so I can strip all the textures.
    Wait no, because the base of the map is a 4096x4096 image... I must put at least that in there.
    Or wait... you can add any base map at your pleasure, you only need to see the map settings I guess... so, you have all attache to this post.
     

    Attached Files:

    Last edited: Sep 25, 2018
  29. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Ok, thanks. What is the source of your image map? Did you create that yourself or does it come from another product? e.g. Is it PNG, TIFF, GeoTIFF, PSD etc?
     
  30. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    Can I move the main landscape object to different coordinates?
    It happens that with such a large terrain, when you reach the other corner, shadows tremble really too much.
    Centering the terrain around coordinates 0,0,0 should halve the problem I think.
     
  31. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    It's a PSD, super filtered to enlarge it from a lower resolution taken from internet.
    But I think you can put any image there as a height map: the problem arises from the splatmaps distribution.
    Seems that the atlas doesn't end on power of 2 numbers to me.
    Or, maybe it's a problem that the terrain size is not a power of 2 either, but when I tried to input 16384 size, the tool alerted me of shape blabla, so I tried a round number and then it went smoothly.
     
  32. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Yes, in Unity Hierarchy, click on the parent of your landscape object (in your case Landscape 01).

    1. In the Inspector, change the Transform Position X and Z position. Say x: 8000, y: 0, z:8000.
    2. In the LB Editor, click the Landscape tab
    3. Expand Landscape Stats
    4. You'll notice that Start Position is still, x:0, y:0, z:0
    5. Now click the "Refresh" button next to "Display Labels"
    6. Start Position in Landscape Stats should now be correct and other features will use this new offset.
     
  33. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    We haven't been able to re-pro this with your template yet. We'll let you know when we work out why your settings are causing this problem. We're not sure if it relates to your imported image Heightmap or not. We have seen this with a GPU beta but that doesn't apply to your build. We're still checking.
     
  34. D3Duck

    D3Duck

    Joined:
    Dec 25, 2014
    Posts:
    45
    @sstrong Is there an existing way to handle little patches of textures that come through other layers? For example, if I have a grass plain but one little area is just beyond the slope of a cliff, it will texture that part as a cliff. In this case I want it to be grass as well but without having to change the topography or overriding all other cliff areas with grass. I've tried experimenting with stencils but this became a bit messy as I ended up drawing all the grass texture by hand.
     
  35. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Do you have a screen shot of the area you want to "fix"?
     
  36. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    I'm using 2.0.6 Beta 2. I'm not using any imported TIFFs, just painting on a stencil. Yeah, I tried turning the stencil object off/on, clicking A on/off/on, etc. Do you think the problem with painting on the stencil is also causing it to not be used when I generate the heightmap? Even when I created a new stencil and used that in Layer 1?
     
  37. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    I had Vegetation Studio in my project, and now have deleted it and imported the current beta for Vegetation Studio Pro...but I get these errors:

    Assets/LandscapeBuilder/Scripts/Behaviours/LBIntegration.cs(432,23): error CS0246: The type or namespace name `AwesomeTechnologies' could not be found. Are you missing an assembly reference?

    Assets/LandscapeBuilder/Scripts/Behaviours/LBIntegration.cs(460,23): error CS0246: The type or namespace name `AwesomeTechnologies' could not be found. Are you missing an assembly reference?

    What can I do to fix them?

    EDIT: Lennart told me what to do: Go to player settings and delete the vegetation_studio define
     
    Last edited: Sep 25, 2018
  38. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Ok, found the issue. By design, Topography Layer Filters are AND filters. So if you currently put two or more Filters on the same Topography Layer, only the overlapping areas will be applied.
    If this would be a useful feature, we could also add OR filters.
     
  39. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Yes, Vegetation Studio adds this reference to your project (LB does a similar thing as do other assets). However, if you remove the asset from a project, you may need to manually remove the reference.
     
  40. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    Instead than replicating the filters in the menu, you could add a "operation layer" between each layer, where the user can select which operation to do with the following layer.
     
    Last edited: Sep 26, 2018
  41. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    Ah! Yes, it would be good to have OR.
     
  42. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Adding OR is rather, eh, complex for Topography. However, with LB 2.0.6 Beta 4c or newer, there is a workaround.
    1. Remove one of your Layer Filters (so there is only 1 Stencil filter on your Layer 2)
    2. Click the (I)nsert button on Layer 2 (this will create a duplicate of Layer 2)
    3. Change the Layer Filter so that it now uses the other Stencil Layer.
    You will need to download the 2.0.6 Beta 4c patch, as we found a small bug while testing this workaround.

    BTW - we will support Vegetation Studio Pro when it is a little more feature complete (currently VS Pro is still in beta so is still undergoing quite a lot of change).
     
    magique likes this.
  43. D3Duck

    D3Duck

    Joined:
    Dec 25, 2014
    Posts:
    45
    In the center of the image here.
    20180926_174536.jpg

    Grass and cliff settings:
    20180925_225049.jpg
     
  44. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    A quick way to limit the grass texture, is to put its strength at say 0.01. That way it will be very faint where there are other things like cliff textures. You could also turn up the strength of the cliff texture.
    There is an (old) texturing tutorial video here that describes how to do this.

    Another way, is to use a stencil for where the cliff textures should be (it doesn't need to be exact because the other rules like height and inclination will still apply). You could also use a NOT stencil layer to make sure some textures don't appear in certain places.

    There are quite a few different ways you could achieve the same thing. For a quick and dirty approach you could even use a NOT Area filter.
     
  45. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    169
    What format do the RAW files need to be? I'm using 16 bit unsigned and LB doesn't recognize them.
     
  46. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    What is the error you get and does the file have the .raw extension? Also, how did you make the RAW file?

    There is a section called "Using RAW heightmap data" in the manual on page 28. On the Landscape tab, click "Help" to open the manual.
     
    Last edited: Sep 27, 2018
    Willbkool_FPCS likes this.
  47. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    169
    Yes, the file has the .raw extension. There is no error, but when I look in the folder that it's in, LB doesn't recognize it. I used L3DT to make the file, Mapmagic and Unity can both read the file.

    I'll look in the manual tomorrow, working on character animations tonight. Oh the life of an indie.:confused:
     
  48. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    If you have 1 RAW file for each terrain, then you should follow the instructions in the section of the manual mentioned above. If you have a single RAW file to import into 1 or more terrains (i.e. a RAW file that covers the whole landscape), then you should do the following:

    1. In Topography tab, add a new Layer
    2. Change the Layer Type to "Image Modifier"
    3. Click "Custom RAW"
    4. Locate your RAW file and select it
    5. Click "Open"
    6. Select "Windows" or "Mac" depending on the type of RAW file (little endian or big endian)
    7. Generate Heightmap
    8. Click "Enable Volume Picker" to adjust the size, rotation or height of the imported RAW file in the scene
    9. Generate Heightmap
     
  49. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    All my terrains now are specular with maximum smoothness, no matter how I change the parameters.
    Any idea what's going on?
     

    Attached Files:

  50. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    @sstrong If I start with an existing terrain is it possible for LB to split the terrain into segments for me? I have one large terrain and I want to do some modifications to it with LB and I also want it split into multiple segments if possible.