Search Unity

  1. Unity 2018.3 is now released.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. We've updated our Terms of Service. Please read our blog post from Unity CTO and Co-Founder Joachim Ante here
    Dismiss Notice
  4. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  5. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice

[BETA PROGRAM] Landscape Builder - realworld data, GPU, 2018.3, runtime, + more

Discussion in 'Assets and Asset Store' started by sstrong, Apr 30, 2016.

  1. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    Switching back to the Built-in Standard Material Type "should" be the most reliable way of testing as it uses the Unity default. "LB Standard" is still a custom shader so "potentially" can cause problems (although we don't know of any at this time).

    Once the LB Terrain Settings are setup with MicroSplat (see manual for the few steps required), the LB Texturing tab should work as normal. That is, if you add, remove, or update Textures (in LB), they should automatically be updated in MicroSplat Shader and (TextureArray) Config settings.

    Action Plan:
    1. Verify you have the LB 2.0.6 Beta 8c or newer.
    2. Send me the exact steps required to repro your problem
    3. We'll repro in-house and (hopefully) quickly get you a fix
     
  2. Acissathar

    Acissathar

    Joined:
    Jun 24, 2011
    Posts:
    415
    That would make sense about the Erosion and Smoothing. The initial heightmap generation is super quick, like maybe a minute if that, and then it spends some time on the erosion and smoothing.

    CPU: i5 - 4590@3.3
    GPU: RX 480 8gigs
     
    sstrong likes this.
  3. megmaltese

    megmaltese

    Joined:
    Mar 19, 2009
    Posts:
    2,153
    That's exactly what I was thinking, but there seems to be something off.
    I'll try to work it out again by switching to the default Unity shader, then back to MicroSplat and add another texture.
    If it won't work, I'll try to make a brand new terrain, maybe the problem arises from updating LB.
    If also that isn't working, I'll send you the scene.
     
    sstrong likes this.
  4. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    If you have 2.0.6 Beta 8c or newer it should be fine.
     
  5. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    Landscape Builder 2.0.6 Release

    This has been submitted to Unity for approval. It is available immediately for Beta Program users.

    [NEW] GPU Acceleration - Texturing (Experimental)
    [NEW] GPU Acceleration - Grass (Experimental)
    [NEW] GPU Acceleration - Topography (Experimental)
    [NEW] Preview support for MicroSplat
    [NEW] Preview support for Vegetation Studio Pro
    [NEW] LBLighting - clouds and/or ambient lighting can use High Dynamic Range (HDR) colours
    [NEW] LBLighting - ambient lighting can use separate colours for sky, horizon, and ground
    [NEW] Map Path - context menu in scene view for faster path creation
    [NEW] GeoTIFF - Fix holes (spikes) in imported data sets
    [NEW] Topography Final Pass Smoothing - Added Stencil Layer filters (AND, NOT)
    [NEW] Topography Final Pass Erosion - Added Stencil Layer filters (AND, NOT)
    [FIXED] Layer Image Modifiers - volume picker may not appear or update unless mouse pointer is over scene view
    [FIXED] Stencil - circle gradient layer brush paints inverted gradient colours with HDRP
    [FIXED] Stencil - move to centre on right mouse click should not be active when Show Stencil is disabled
    [FIXED] Topography Image Layers - Detailed smoothing should have no effect if there is no heightmap image
    [FIXED] Topography Layer Restrict Area picker sizing label is incorrectly positioned
    [FIXED] Topography Layer - Add/Remove Height is incorrectly considered when Remove Base Noise is not enabled
    [FIXED] Topography Layer - Filters are not correctly copied when Inserting duplicate layers
    [FIXED] Topography Layer - NullReferenceException if selecting None for Stencil Layer Filter
    [IMPROVED] LBLighting is more compatible with Unity Post Processing stack 2.0
    [IMPROVED] Topography Image Layer smoothing
    [IMPROVED] Stencil - more zoom, and new keyboard navigation shortcuts
    [IMPROVED] Better support for importing 16bit TIFF data from World Creator
    [IMPROVED] Compatibility with MegaSplat 1.73+
    [IMPROVED] 2018.3 support and new terrain system
     
  6. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    Thank you. Look out for an email regarding access. If you don't see it within the next couple of hours, please msg me.
     
  7. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,208
    never post your invoice publicly. You need to delete/edit your message immediately.
     
  8. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    105
    @megmaltese you'd better edit your post as it also includes the guy's invoice number
     
    magique and StevenPicard like this.
  9. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    How to join Beta Program
    1. You need to be a Landscape Builder customer
    2. Click on my icon or link to my alias to the left of this message
    3. Click "Start Conversation"
    4. Send me you Unity invoice number for LB and your email address
     
  10. megmaltese

    megmaltese

    Joined:
    Mar 19, 2009
    Posts:
    2,153
    Doh how stupid I have been LOL! :D
    Luckily the mod deleted it! :)
     
  11. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    1,834
    I've downloaded the latest beta, but getting a bunch of errors related to Vegetation Studio Pro -- what should I do?

    Screen Shot 2018-11-05 at 11.07.42 AM.png
     
  12. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    It is possible that you didn't apply the latest full version first. Like say 2.0.6, and then applied the latest beta (like 2.0.7 Beta 4c).

    So:

    1. Open Project
    2. Download and install 2.0.6 Release (from Asset Store or Beta area)
    3. Download and install latest Beta (e.g. 2.0.7 Beta 4c)

    If you still get the errors, it is possible that you tried upgrading VS to VS Pro. I think you need to remove VS #defines in Player Scripting Define Symbols ("VEGETATION_STUDIO").
     
    Last edited: Nov 5, 2018
  13. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    Landscape Builder 2.0.7 Beta 5d includes:

    [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
    [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 more sparse by changing Grass (Detail) Resolution
    [IMPROVED] Runtime support for LWRP terrain shader in RuntimeSample06
    [IMPROVED] Runtime support for HDRP terrain shader in RuntimeSample06
     
  14. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    We have had a couple of reports of Fatal GC Error Too many heap sections on Windows 10 and U2018.3.0 beta. Although we haven't been able to reproduce this, it generally relates to memory heap fragmentation. Essentially, the memory manager cannot keep up with all the allocations and deallocations and you run out of contiguous space to put stuff. There are some registry hacks which could reduce the problem but eventually the problem will recur.

    At this stage we don't know if it is a LB issue, however, we have issued a patch (LB 2.0.7 Beta 6a) which "may" reduce the effect. If you see the problem please let us know on this thread with information like:
    1. Your setup: OS version, Unity version, LB version, CPU/GPU, RAM
    2. What were you doing in LB at the time (e.g. populating trees, topography, in GroupDesigner etc)
    Remember, when applying a beta "patchonly", you need to have installed the last Release version in that project. You can get releases from the Asset Store or download them with your Beta Program access. Release versions tend to be 180-200MB. Patch_only packages tend to be 1-10MB.
     
    eaque likes this.
  15. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    Recently we released a beta which contained our new Curvature (convex/concave) placement rules. We've found an issue with it producing some false positives with certain types of topography along terrain boarders. We are working on a fix.
     
  16. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    505
    Hi,

    Now playing more and more with LB i realised there are few things that could really help users.
    Sorry if it's already possible and if i missed it;)

    First the most important (don't know why i didn't think of it earlier):
    -Enabling//Disable terrains around player camera with a distance parameter. that would be great in case of big multi tiled terrains.

    -Playing with raw map resolution. Actually when importing RAW as topography, it's impossible to get a different resolution of the raw. if it was exported as 2048 you can't use it in a 1024 res. I used to play a lot with that in terrrain composer1.
    Very useful to change terrain settings after downloading the map.


    -+1 for an old idea:p (and obssession i told you before) build a background on a simple mesh using terrain textures.To extend view distance and horizon.
    It would be a simple mesh we could put noise textures to create relief and basic terra forming.Maybe a stamping system for mesh plane...???.Or Maybe the relief could be sampled on the real terrain itself to match the design. I think something easy is possible but maybe i'm just dreaming..;)

    Most of us use terrain shaders that can operate on meshes too so the big job is to create it and texture it. This process is already possible manually but:

    Doing this now by exporting a terrain to mesh has some issues with scale. Actually it's hard to get the right scale on the small terrain to look good 32000/32000..... But i think people like you mastering maths can find the rules for getting a nicely scaled 32/32km from a 512/512terrain....thanks to tiling or i don't know...;)

    I think the whole process can be automated and finely tuned to users needs:
    -setting mesh size; sampling terrain heightmap and tiling it on the mesh ; then texture it.

    (btw, Let me remind you that the only tool doing this Horizon ON is unsupported since february and it's a market with no competitor;))

    Let me know what you think
     
  17. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    @eaque

    Enabling/disabling terrains around a camera is the easy bit. Most games have very specific requirements. The more difficult thing is how to deal with NPC and anything with a rigidbody. Would also need to deal with multiple cameras etc. Also consider a multiple-player game, either on a single device or with multiple devices. Sounds simple, but gets complex really quickly.

    If you have a single RAW file to import:
    1. Topography tab, add a new Image Modifier layer
    2. Category = Custom
    3. Click "Custom RAW"
    4. Locate you custom RAW file
    5. Select Windows or MAC format
    6. Enable Picker
    7. Scale, rotate, and/or move RAW file overlay
    8. Disable Picker and Generate Topography
    Why not just generate the 32K landscape (prob with GPU Acceleration enabled) and then export landscape as mesh (See LB Export tab)

    Phase 1 was "Landscape Extension". See Landscape tab, Scene Settings.
     
    eaque likes this.
  18. Acissathar

    Acissathar

    Joined:
    Jun 24, 2011
    Posts:
    415
    Here's a super basic script you can use to get you started:

    Code (CSharp):
    1. using UnityEngine;
    2. using UnityEngine.Serialization;
    3.  
    4. //Taken from https://gamedevacademy.org/how-to-handle-huge-worlds-in-unity-part-1-deactivating-distant-regions-to-improve-performance/
    5. public class HideTiles : MonoBehaviour
    6. {
    7.     [SerializeField]
    8.     private string _tileTag;
    9.  
    10.     [SerializeField]
    11.     private Vector3 _tileSize;
    12.  
    13.     [SerializeField]
    14.     private int _maxDistance;
    15.  
    16.     private GameObject[] _tiles;
    17.  
    18.     private void Start()
    19.     {
    20.         _tiles = GameObject.FindGameObjectsWithTag(_tileTag);
    21.         DeactivateDistanceTiles();
    22.     }
    23.  
    24.     private void Update()
    25.     {
    26.         DeactivateDistanceTiles();
    27.     }
    28.  
    29.     private void DeactivateDistanceTiles()
    30.     {
    31.         var playerPosition = gameObject.transform.position;
    32.  
    33.         foreach (var tile in _tiles)
    34.         {
    35.             var tilePosition = tile.gameObject.transform.position + (_tileSize / 2.0f);
    36.             var xDistance = Mathf.Abs(tilePosition.x - playerPosition.x);
    37.             var zDistance = Mathf.Abs(tilePosition.z - playerPosition.z);
    38.  
    39.             if (xDistance + zDistance > _maxDistance)
    40.             {
    41.                 tile.SetActive(false);
    42.             }
    43.             else
    44.             {
    45.                 tile.SetActive(true);
    46.             }
    47.         }
    48.     }
    49. }
    Just attach it to the object you want the terrain to load around, and then define the tag and sizes.
     
    sstrong likes this.
  19. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    And with our LB hat on, we'd immediately want to optimise that code (sorry, we can't help it). Obviously, you don't want to do that every frame in Update.

    We'd want some way of caching the player position for ALL our game code. GameObject.transform.position is quite expensive, let's only do that when we absolutely need to. So we should definitely be caching the tile positions. Oh, and let's not be calling Mathf.Abs twice in the same frame (tip: write your own in-line code).

    Let's also think about how to avoid (if possible) the vector3 addition for the tile size. Probably my suggestion of caching it is the best - but you'd need to test the performance of that.

    Now, you're on your way to integrating it into your own gameplay. Which is why we haven't done this yet. It really depends on your game.
     
    Acissathar likes this.
  20. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    505
    all apologies i realised i aksed that over 1 year ago...:oops:
    ok thanks!
    always thought so many meshes or such a big one would be a problem for performance...:p
    i forgot, gotta try that!!! LB has too many features...;)
    thanks for your kind help.
    very interesting !!:confused::confused:
    :):)

    thanks
     
  21. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    LB 2.1.0 Beta 1j is available for current beta program members. Here's what it contains:

    [NEW] Topography Image Modifers - 4 new realworld valleys
    [FIXED] Compute shader (LBCSTopo): Property (stencilLayer128Tex2DArray) at kernel index (1) is not set
    [FIXED] Compute shader (LBCSTopo): Property (modifierCurves) at kernel index (1) is not set
    [FIXED] LBIntegration.VegetationStudioProEnable - could not get type VegetationSystemPro
    [FIXED] Topography Image Modifier - scene picker not updated when Invert enabled or disabled
    [FIXED] Template - image modifier may be incorrect if destination landscape has different start position
    [IMPROVED] GPU Acceleration moved from Experimental to Preview
    [IMPROVED] Templates - option to not import terrain settings into existing landscape

    The new valley Topography Image Modifiers are:

    Simplon Valley, Switzerland
    Lauterbrunnen Valley, Switzerland
    Gillerthwaite, Cumbria, United Kingdom
    Valley of Flowers, Uttarakhand, India

    many more new features still in development
     
    megmaltese, magique and Acissathar like this.
  22. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    GMRT Real-world Underwater Heightmaps

    GMRT is short for Global Multi-Resolution Topography data which is available from the OpenTopography Facility with support from the National Science Foundation.

    Basically, it is a combination of above and below sea level data sets. And the good news is, now Landscape Builder supports the importation of GeoTIFF files containing GMRT IEEEP-formatted 32 bit data. Thanks JC for helping us discover and test this new feature.

    It is first supported in LB 2.1.0 Beta 2a which is available using your LB Beta Program login.

    After importing the GeoTIFF data into a new Layer, click "Includes Below Sea level" and the "Fix Now". The order is important, so if you get it wrong, delete the Layer and import it again.

    If the underwater area needs any smoothing, create a new Stencil Layer (if you don't already have a Stencil, go to the Landscape tab). In the Stencil layer, shade in only the areas you want smoothed. Then in the Topography tab, apply the Stencil layer to the Final Pass Smoothing area at the bottom of the screen. Start with 2 iterations and a pixel range or 1. Then generate the heightmap. Typically, using less smoothing (or none) is generally best.
     
  23. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    MicroSplat Integration bug

    We've noticed an issue with our integration with MicroSplat. Essentially, the location of the MicroSplatData folder is dependent on where the scene is saved in LB. We've written a patch to detect the correct location of this folder for the current scene.

    This was first fixed in LB 2.1.0 Beta 4b. If you need this and aren't yet on the Beta Program, drop me a private msg with your name, email address and Unity invoice number for LB.
     
  24. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    975
    Beta 2.1.0 Beta 4h

    This version includes the following:

    [NEW] Topography Image Modifiers - 4 new realworld valleys
    [NEW] Topography - support for GMRT GeoTIFF underwater heightmap data
    [NEW] Path GPU acceleration (Experimental) 100X FASTER for MapPath Create Map Texture
    [NEW] Path GPU acceleration (Experimental) 5X FASTER for Topography MapPath Layer
    [NEW] Final Pass Smoothing on GPU is 30X FASTER
    [NEW] Stencil - import psd, tif, or jpg textures into a new stencil layer from the assets folder
    [FIXED] Compute shader (LBCSTopo): Property (stencilLayer128Tex2DArray) at kernel index (1) is not set
    [FIXED] Compute shader (LBCSTopo): Property (modifierCurves) at kernel index (1) is not set
    [FIXED] LBIntegration.VegetationStudioProEnable - could not get type VegetationSystemPro
    [FIXED] MicroSplat integration - Terrain Settings Config and Shader buttons have no effect
    [FIXED] Topography Image Modifier - scene picker not updated when Invert enabled or disabled
    [FIXED] Template - image modifier may be incorrect if destination landscape has different start position
    [FIXED] Create New Landscape - grass wind settings are not updated
    [FIXED] DemoScene - ExecuteMenuItem failed because there is no menu named Edit/Settings
    [FIXED] Add Texture and Assign Textures from Preset does not turn off Disable All Textures
    [FIXED] Position MainCamera to Scene View incorrectly adjusts the MainCamera Viewport Rect
    [IMPROVED] GPU Acceleration Topography, Texturing, and Grass moved from Experimental to Preview
    [IMPROVED] Templates - option to not import terrain settings into existing landscape
    [IMPROVED] Compatibility with R.A.M. v1.6.0
    [IMPROVED] Groups - new button to estimate the area to flatten under a prefab
    [IMPROVED] LBImageFX - Distance Fog considers user-defined water level

    NOTE: This build is still a work-in-progress and has a number of unfinished features not listed above.
     
    Willbkool_FPCS and magique like this.