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
    Ok, we'll try to repro in-house. Thanks for reporting it.
     
  2. SoloHonk75

    SoloHonk75

    Joined:
    Mar 27, 2016
    Posts:
    31
    Hi, I've got the same bug here. After pressing "Generate Landscape" error window and CTD.

    Landscape Builder 2.0.6 on Unity Pro 2018.3.0b8.
    Only one layer (for hills), 17k Landscape, one 8k Terrain. No GPU acceleration. No Trees.

    Other installed plugins are: Vegetation Studio Pro (not active), Aquas (active), Enviro (active), Script Inspector and Ediotor Console Pro.
     
  3. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    We've not be able to re-pro it in-house yet and we're not sure if it is a 2018.3 Beta thing or not. Are you on PC or Mac and how much RAM? Also, what is your heightmap resolution?
    We have a beta which "may" reduce the effect but the GC is a bit of a black box. We could be wrong but we "think" it is when multiple arrays (or lists) are created and destroyed quickly. Essentially the GC system can't keep track of the changes.
     
  4. SoloHonk75

    SoloHonk75

    Joined:
    Mar 27, 2016
    Posts:
    31
    I'm on PC, Windows 10, 16GB Ram, Xeon-CPU, NVidia 1080ti. Heightmap Resoulution is 4097, Terrain Size is 17408 x 17408.
     
  5. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Check out this new post in our Beta Program forum.
     
  6. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    169
    Hi, is there any way to safely stop using Microsplat with LB? MS is doing some strange things in my project and I would like to stop using it for now and check it out again in an empty project. I was just going to just remove it from my project, but I've had problems with removing assets in the past, and LB will still look for them.
     
  7. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    In LB Editor, on Landscape tab, expand Terrain Settings and change the Material Type to "Build-in Standard" and click "Apply Terrain Settings".

    After you have removed MicroSplat from the project and restarted Unity, go to Unity Player Settings and check at __MicroSplat__ is no longer in the Scripting Define Symbol list. It gets automatically added by MicroSplat when it is installed.
     
  8. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    169
    Thanks I will try that. For some odd reason MS turned all of my textures into solid colors. Was looking for an increase in frame rate, and that did it, but not quite the way I would have like to. lol

    /Edit That got rid of the MS warnings, but my terrain is still just solid colors, even after deleting all of the textures and then making new ones. Strange, but my FPS is a little better. ;)
     
    Last edited: Nov 8, 2018
  9. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Ok. Did you restart Unity?
     
  10. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    169
    Yes, twice, but still no texture, just solid color.:confused:
     
  11. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Go to your first terrain in and check if the material has been updated. Also check if there are any scripts (or missing scripts) still attached to the terrains.

    upload_2018-11-8_14-3-17.png

    Sounds like some kind of residual terrain shader issue.
     
  12. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    169
    Yes, each terrain(4 of them) is missing a script, which one should I load for them? Or do I need to do the Add Component thing?
     
  13. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    if the material type is built-in standard, you should just be able to delete those missing script components.

    If not, delete those scripts then in LB Terrain Settings, change to LB Standard material, click apply, then switch back to Build-in Standard and click "apply" again.
     
  14. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    169
    Ok that did the trick, thanks for the help, AGAIN.
     
    sstrong likes this.
  15. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Feature Announcement - Curvature Rules

    LB 2.0.7 will support landscape curvature rules for Texturing, Tree and Grass placement via the Height, Inclination, and Curvature mode.

    The new rules also work for Texturing and Grass with GPU acceleration enabled (on the Advanced tab).

    This feature will be available in the next release (2.0.7) or Beta Program members can download it immediately with LB 2.0.7 Beta 6g or newer.

    Select Convex or Concave with a minimum height difference and a distance over which to detect the change in topography height.
     
    Last edited: Nov 8, 2018
    StevenPicard and Willbkool_FPCS like this.
  16. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    755
    hi,
    sorry if i missed something obvious but i use u2018.2.13 and after upgrading to VS pro i get this:
    thanks in advance
    upload_2018-11-8_21-16-24.png
     
  17. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    This is a known issue with VS Pro. I've spoken to the asset owner about it. Basically, it doesn't remove the script defines (see Unity Project Player Settings) when upgrading from VS to VS Pro.
    See the link here. After removing the old VS definition and restarting Unity, it should work fine.
     
  18. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    755
    i see, i didn't find it at first glance when installing VS pro. Have you a screen shot? I will check that tonight!
    thank you.

    :)
     
  19. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    upload_2018-11-9_21-16-31.png

    When you install VS, it will install this Scripting Define Symbol. When you install VS Pro, it will install one for VS Pro. You need to remove the one highlighted above.

    I think the author will fix this in a patch for VS Pro soon. However, if you have upgraded from VS to VS Pro, you can safely remove the VS define, then restart Unity.
     
    eaque likes this.
  20. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    755
    Thank you so much, very clear! That was the case i did upgrade!
    :)
     
  21. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    169
    Okay, I created a new project, and loaded LB and MSplat, and the same thing happened. I looked through the settings and must have missed it the other day. MS set the terrain distance setting to zero, and that is why I was only getting solid colors.
     
  22. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Oh, yes, that is true. When you turn off MicroSplat, we attempt to set all those values back to LB defaults (as we don't know what they were before). However, sometimes this fails due to a bunch of different scenarios.
     
    Willbkool_FPCS likes this.
  23. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    That's because your on a Beta version of Unity and Unity broke Graphics.CopyTexture w/ texture arrays in beta3 and has not fixed it yet.
     
    sharkapps likes this.
  24. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    169
    Actually I don't do Betas. ;) I'm still fairly new to Unity(since June, 2018), so I'm still on a power learning curve. I used to use Torque so am really enjoying Unity and all of the great assets.

    It seems that Microsplat set my Base Map Distance to 0. I didn't see that so uninstalled MS, but tried again in an experimental project and found that out and was able to use MS, so all is good again.:) I really like being able to add Specular, and other textures besides just Diffuse and Normal. I think that Landscape Builder and Microsplat make a great team.
     
    sstrong likes this.
  25. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    @sstrong When using the Create Landscape as Mesh feature, is it possible to continue to edit/sculpt the terrain as a mesh?
     
  26. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    The current workflow, is to re-enable the Unity terrains (using the button supplied), update them in the LB tabs as normal, then re-create the mesh "terrains". We have provided Unity terrain enable/disable buttons to help with this.

    We "could" semi-automate this as we update topography although we're not sure if this is the best approach as we don't know what manual steps a user is taking themselves.

    Currently we're not sure how many LB users have mesh "terrains" in their games. Obviously it would be a pretty big effort on our part to support updating mesh terrains directly.

    Any suggestions?
     
  27. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Mesh terrains v Unity terrains (for comment)

    There is a thinking that Unity terrains are bad and mesh terrains are good. And in some cases that is probably true. One of the biggest complains is around performance. Unity are working on that in Unity 2018.3. The other we often hear about, and have experienced ourselves, is the terrain collider. What happens if you want to go below your terrain mesh surface or through it? Unity are working on that too, although it is too early to tell if that will address most people's issues.

    However, just switching to mesh terrains doesn't actually solve all your problems. What is does do, is allow you, as the developer, to build your own solutions for those problems. If you don't want to solves these hard problems yourself, or at least purchase something that might help, keep using Unity terrains.

    Unity terrains do things like store heightmap for you, let you query it, and/or update it. We take advantage of that in LB. And when Unity fix some performance issues around that in 2018.3 and beyond, you'll automatically see those benefits.

    Unity terrains can also store, query, or update texture data, tree placement data, and grass (detail) data. When you move to mesh terrains, you need to do that all yourself, or at least purchase something that can do it for you. For example, LB integrates with other products like MicroSplat, MegaSplat, Vegetation Studio, and Vegetation Studio Pro, which can help you with some of those items.

    A bigger challenge when moving from Unity terrains to mesh terrains is LOD. Based on the pixel error settings, AFAIK, Unity will attempt to render an approximate heightmap position for points in the terrain mesh. As the camera gets further away from a Unity terrain mesh "chunk" (which I think is 17x17) it will render less of the mesh verts. With an exported mesh terrain in LB, you don't get this LOD system. You will need to either build it yourself, or find another solution. For example, we support Unity's occlusion area culling system for meshes, although that system can add thousands of files to your projects.

    Getting LOD for trees and grass isn't so bad. You could simply purchase a solution like say Vegetation Studio Pro.

    So, if you're using mesh terrains (preferably with LB ;) ) we're interested in:
    1. What's your current workflow
    2. What is your ideal workflow
    3. How you are addressing some of the issues discussed above
     
  28. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Landscape Builder 2.0.7

    The latest version of LB has been submitted to Unity for approval. It should be in the store in a few days. For existing customers, that are members of the Beta Program, it is available for immediate download.

    [NEW] Create heightmap NavMesh from painted Stencil Layers
    [NEW] Preview support for LWRP 4.0.1 including terrain per pixel normals
    [NEW] Preview support for HDRP 4.0.1 including terrain shader
    [NEW] Curvature (convex, concave) placement rules for Texturing, Trees and Grass
    [FIXED] MapPath mesh - incorrect normals at start of path result in incorrect lighting on path
    [FIXED] MapPath - path is incorrectly drawn in scene when a point is deleted
    [FIXED] Object Path - last object can have incorrect rotation when Snap Last Obj to End is enabled
    [FIXED] Import Grass from existing terrain(s) may not import mesh grass data
    [FIXED] Import Grass from existing terrain(s) fails when detail resolution is not 1024
    [FIXED] Templates - Topography Image Modifier Layers may not be resized correctly
    [IMPROVED] Vegetation Studio Pro integration - grass scaling, grass noise and texture filters
    [IMPROVED] Landscape Extension - automatically update texture and normalmap changes
    [IMPROVED] Bake NavMesh from MapPath mesh UI
    [IMPROVED] MapPath UI and scene view context menu updated
    [IMPROVED] Object Path - Reverse the direction of the path points
    [IMPROVED] Object Path, MapPath - point gizmos within the scene view can be resized
    [IMPROVED] Added Tree and (Mesh) Grass prefab preview in editor
    [IMPROVED] Ability to make grass sparser by changing Grass (Detail) Resolution
    [IMPROVED] Runtime support for LWRP terrain shader in RuntimeSample06
    [IMPROVED] Runtime support for HDRP terrain shader in RuntimeSample06
     
  29. SoloHonk75

    SoloHonk75

    Joined:
    Mar 27, 2016
    Posts:
    31
    Hi,
    I've installed version 2.0.7 in a new empty project. Unity version is last 2018.3 beta (2018.3.b10).
    There is no LB entry in menu 'windows'.
    Unity or LB bug?
     
  30. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Hmm, that's odd. We have tested on 2018.3b7. Let me download 2018.3b10 and check. Can you msg me with a screen shot of the Project folder, specifically the LandscapeBuilder\Editor folder?

    Also, are you installing from the assetstore or a beta program build?
     
    Last edited: Nov 20, 2018
  31. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Is it working for you ok on 2018.1 or 2?
     
  32. SoloHonk75

    SoloHonk75

    Joined:
    Mar 27, 2016
    Posts:
    31
    It worked until version 2018.3b9 for me.
     

    Attached Files:

  33. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Ok, just installing b10 now to see what Unity have broken...
     
  34. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Looks like a problem on our side. I've sent you a small package to try. Thanks for reporting it.
     
  35. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    LB 2.0.7 Release Bug

    There is an issue with the release version of 2.0.7 when creating new projects. A fast workaround:

    1. Delete LandscapeBuilder\DemoScene\Scripts\LBNPCNav
    2. Reimport the LandscapeBuilder package and just import the missing LBNPCNav script

    Alternatively, you can ask me for a patch. We will submit a fix to the asset store, however, that will take a few days to get approved.
     
  36. MaximilianPs

    MaximilianPs

    Joined:
    Nov 7, 2011
    Posts:
    321
    Demo won't work 'cause
    The name 'lbRandom' does not exist in the current context
    LandscapeBuilder\Demo Scene\Scripts\LBNPCNav.cs

    Code (CSharp):
    1.  
    2.  if (numWayPoints > 1 && lbRandom != null && nmAgent != null)
    3.             {
    4.                 int nextWayPoint = lbRandom.Range(0, numWayPoints + 1);
    5.  
    6.  
     
  37. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Yes, sorry, this is an issue that was introduced in 2.0.7. I've sent you a private msg with the patch. The above post also explains a workaround.
     
    MaximilianPs likes this.
  38. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    169
    I just deleted the script because I don't use the demo anymore.;)
     
  39. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    The script is part of a new feature that enables you to create Unity navmeshes by painting areas of a terrain with LBStencil layers. Technically, you don't need the script to do that, but it does come with an animated sheep to test how this works (or could work in your game).
     
    Willbkool_FPCS likes this.
  40. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    169
    I saw the sheep model and the navmesh sounds interesting. Guess I'll have to do your workaround until the new version is uploaded. Wonder how hard it will be to make the sheep shootable?:D
     
  41. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    :) Here is the navmesh tutorial if you missed it.



    Just sent you a copy of the patch
     
  42. MaximilianPs

    MaximilianPs

    Joined:
    Nov 7, 2011
    Posts:
    321
    I've watched about all tutorials, this asset is amazing very easy to use and with deep features.
    I just wondering what's the best way to create a huge terrain, let's say 20x20km.

    I was wondering what if I split the land in 4 macro areas.. and each one would be composed by a grid of 20x20terrains with a size of 500?

    Would it have better performance and smooth frame rate in editor?
     
    sstrong likes this.
  43. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    What style of game are you creating and what is the target platform? Specifically, do you think uses will have high-end GPUs?
    4 x 10x10km areas may not perform much better than say 1 x 20km x 20km area. What sort of assets are you thinking of adding to the landscape in terms of trees, grass, rocks, buildings or structures?

    Also what are you running this on in the editor (OS, CPU, Memory, GPU etc)?
     
  44. MaximilianPs

    MaximilianPs

    Joined:
    Nov 7, 2011
    Posts:
    321
    It will run on PC / Windows, mainly.
    It's an RPC First/Third person view.
    Actually I'm working on an i7 4790K @4ghz. DDR3 16gb with a 1080 with 6GB GDDR5
    (but I'm waiting for TNT courier with an i7 9700K with 32GB ddr4 a :D )

    I was thinking about splitting terrain easiest for culling/occlusion.

    Also If I split the terrain 4 parts I would edit each one with different parameters with Landscape Builder. (Mainly for that reason)

    Anyway, we have 2 big towns, they require a terrain with a size of 2000x2000. town are filled with a lot of stuffs, barrels, stairs, stones, and many intractable objects. (you can think about something like Vizima in The Witcher 1).

    House and in door shops will have a separate scene, so are weight-less.
    But woods, and towns will be fulfilled with objects and AIs. :confused::rolleyes:
     
  45. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Maybe the courier will take a wrong turn and end up dropping the workstation at my office....

    So, in the editor I'm sure you'll be fine (especially with your new gear). However, I was more thinking about what your end users will be and what their experience will look like.

    Groups (and pretty much everything else in LB) can run across terrain boundaries so the actual size of each terrain isn't so much a restriction. Proximity for Unity trees can affect placement performance on large terrains but that's only an Editor constraint. Groups are currently cell-based rather than terrain based which is how we get such good placement performance.

    You "could" have 4 landscapes (each with multiple terrains) but you'd still need to give them all identical topography settings, else the landscape edges would not align. We do have a landscape stitching feature but that's really for situations where there wasn't a lot of forward planning and thought.

    I'd start with maybe a single landscape, enable GPU acceleration and see how you go. If you want to change the number of terrains or the size of each terrain, you can "backup" the who thing using a LB Template and re-apply it to your new landscape. This lets you test a bunch of "what if" scenarios around terrain sizing.
     
  46. MaximilianPs

    MaximilianPs

    Joined:
    Nov 7, 2011
    Posts:
    321
    Ok then I'll try with a single landscape to avoid seamless issue
    Also the style of the game is and painted stylized kind of. So I'm using assets like Fantasy Adventure Enivo. or RPG Medieval Kingdom Knight which have LOD and very low polygons. so I hope to achieve a relative good FPS.
    Last but not least I will purchase World Streamer or something like that when the most of the scene of will be done. (if it's a good idea)
     
  47. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Ok. With terrain streaming you just need to watch that the assets don't need a particular folder structure which may not work so well with LB. In LB, all terrains in the same landscape are children of the main LB gameobject. Same for other assets created within the landscape. We have been thinking of some way of tagging or identifying (via script) particular groups of objects that you may want to enable/disable/stream in chunks. If you have any thoughts around this, we'd be happy to discuss.
    There are also some discussions in our Beta Program forum here around larger landscapes.
     
  48. MaximilianPs

    MaximilianPs

    Joined:
    Nov 7, 2011
    Posts:
    321
    Also Fantasy Adventure Enivo. is supported by Vegetation Studio Pro. which is supported by LB, isn't it? :)
     
  49. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Yes, we support VS Pro. At some point we'll do a tutorial video on LB/VS Pro setup and integration. But if you have any questions feel free to post.
     
    MaximilianPs likes this.
  50. MaximilianPs

    MaximilianPs

    Joined:
    Nov 7, 2011
    Posts:
    321
    Can't find GPU instancing in Landscape :oops:
    Here is it?o_O