Search Unity

Terrain Composer2 a next generation GPU powered terrain tool.

Discussion in 'Assets and Asset Store' started by eagle555, Sep 16, 2012.

  1. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    416
    By the way, I put this in TC_Generate.cs at Line 1222 - seems to work so far:

    Code (CSharp):
    1. area2D.currentTCUnityTerrain.terrain.gameObject.GetComponent<MicroSplatTerrain>().tintMapOverride = area2D.currentTCUnityTerrain.texColormap;
     
  2. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    416
    It does use RTs, i was playing around with it today. Just seems just like the RTs are in the wrong color format or similar (I'm assuming Unity is expecting a grayscale RT) and I was unable to get it converted using compute shaders. I'll have another go at it another time.

    @eagle555 good luck with the game marketing. Looking forward to when you have some time to test out the new Terrain methods.
     
  3. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    416
    Is there a way to set the max density for objects per object, not just in the object output?

    I want one house on each mountain, but currently it spawns 5, so I want to define "only one house max per 100 meters". I know I can set the opacity, but it's hard to control and some mountains will end up having 0 and some will have 2 houses.

    Thanks
     
  4. Thanatos_Psychopomp

    Thanatos_Psychopomp

    Joined:
    Mar 16, 2018
    Posts:
    5
    Could you elaborate on this about working with lwrp? When I try to set it up its all pink. When I switch the material to a custom one and change shader to lwrp > terrain lit and enable "Draw Instanced" it goes invisible. Am I missing something? Any help would be greatly appreciated.
     
  5. Sajid_farooq

    Sajid_farooq

    Joined:
    May 23, 2012
    Posts:
    237
    I have not been able to get runtime generation to work,despite best efforts. There isnt an example scene that shows off its functionality, even though the documentation explicitly says there should be one.

    Is there a tutorial on how to get runtime generation to work?

    Following the instructions here lead to a null object reference error:
    http://www.terraincomposer.com/terraincomposer2-documentation/#generate-at-runtime
     
  6. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    416
    @Sajid_farooq

    Try putting the RuntimeTerrains.cs on an empty GameObject in the Scene and make sure it's setup properly (it should initialize your terrains) and has "Move terrains with Camera". Then the terrains will be shifted and generated when your player moves. That should be a good starting point that you can modify to your needs.
     
    Sajid_farooq likes this.
  7. Sajid_farooq

    Sajid_farooq

    Joined:
    May 23, 2012
    Posts:
    237
    Nope. Still Null reference error...Sigh...
     
  8. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    416
    Are the terrains listed in this array? You need to have a few terrains setup already.

    upload_2019-7-10_13-43-35.png
     
  9. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,782
    @eagle555 Is the streaming details feature ever coming? It is shown in this very early preview video at 2:11

     
  10. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,188
    Theoretically it's already possible, but there's no native implementation for it, if you will, and it won't bring any performance boost. Just less data. Just add a mask for the objects, and when you it moves significantly, call TC.Generate (see those runtime update scripts).
    Now by default it will be terribly slow.
    1. I think it's possible by now to use an existing terrain. Which means, no matter if you used TC2 in the generation process or not (or even to generate the thing at runtime), you'll want an existing terrain with ONLY this object pass on it. Else you would generate the other, static objects (or worse, splats/heights) along with it.
    2. Get my update for TC2 that speeds up local generation. I'm pretty sure it's still not merged (unfortunately, don't understand why not...) but I'm also not a 100% certain if it actually speeds up object placement. Might have just implemented heights and splats.

    If you really just care about performance, bake them down, split them up, and stream them. Probably best.
    But I'd still like to see this working. You could do some awesome stuff with that (like, flowers suddenly turning red around you, threes moving out of your way, grass withering, etc.)
     
  11. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,782
    I'm more concerned with memory usage. I started writing a system like this myself as I had imagined it was going to work. The basic idea is that the terrain details are pooled objects and only have placeholders for their position/rotation/scale on the terrain. As the player moves around the terrain then the placeholders are replaced with instances from the pool and get their correct position/rotation/scale. So, you could literally have millions of details on a terrain and maybe only a few dozen instances of each individual object type in memory. I also had the objects fade in/out as you approached and moved away from them. I had thought your system was going to be similar to this.
     
  12. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,188
    I could be wrong, Nathaniel could have planned for that, but from what I saw from the trailer I'd be just that, generating on the go. I'm pretty sure in that scene in the trailer it literally deleted all objects on the map and regenerated them as new instances (even for objects that are static). It's a pretty straightforward use of TC2 but non-optimal for streaming.
    Again, not sure if Nathaniel was actually planning for anything more.
    What I said would optimize what we're currently given, but it would of course still be non-optimal.
    If you're fine with storing all of the positions of objects in the map somewhere, your solution if probably fine, TC2 could just generate these positions on the go (but it would need heavy modifying to actually only do that and leave the actual object management to a different script).
     
  13. Sajid_farooq

    Sajid_farooq

    Joined:
    May 23, 2012
    Posts:
    237
    @eagle555: Bug report:

    It looks like there is a script execution order bug in the runtime generation which causes a null reference. A script tries to access another before it has had a chance to setup a reference to the terrain so its null.
     
  14. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,782
    The roadmap has it as a planned feature so I believe he was planning to do more with it.
     
  15. _Luthien_

    _Luthien_

    Joined:
    Apr 24, 2015
    Posts:
    49
    Hi @eagle555 / Nathaniel,

    since you managed to get TC2 working for the mac, I have tried several times to use it in a project (basically creating a coastal landscape with a mountain range), but I can't seem to get the hang of it. I followed several of the tutorials, checked out the example projects, but TC2 remains mostly a mystery (the funny thing is that got the hang of the original TC in no time, despite the rather complex interface).

    The hardest part of all seems to be using the raw height maps that I have created before. There's 4 tiles, each of 4096 px (square), and I want to use these as a basis to work on them using TC2 and, if possible, that new Node Painter tool.
    I can assign any of those height maps to a terrain tile using the regular Unity editor inspector ("Import Raw ..."), but the terrain reverts to flat when I view in the the context of TC2. It is as if there are two sets of terrains, as it were.
    While trying to understand all this, I realised that TC2 seems to apply to the "Terrain Area" as a whole, while the imported height map applies to one of the four terrains that I created (as one of the first steps setting things up) - which confused me even more, to the point that I was almost ready to abandon the whole business - the frustrating thing is that though the tools have become more awesome-looking in the past few years, I have been able to accomplish less and less with them. I would just love to get past this technical nitty-gritty and start working on the actual scene again.

    Alright, I can in any case just try and ask here and see if that can clean up the conceptual clutter that my understanding has turned into :confused: ... nothing gained, nothing lost:
    • is it possible to use pre-existing height maps as a starting point, and continue working on the terrain using TC2?
    • you mention something like this in the documentation here but I cannot get that to work, using the same height maps (.raw, 16 bit greyscale, little endian ...) that do work when I import them in the Unity Terrain inspector;
    • I remember you saying that TC uses regular Unity Terrain ... however, after creating a new project with four terrain tiles, whatever I do in the TC2 window seems to apply to the "Terrain Area" as a whole, instead of one of the four terrains ... I must misunderstand something here, but I can't figure out what;
    • Node Painter appeals to me because I like that way of working: it is a bit like building / creating while in-world. Can Node Painter be used *at will* in an existing TC2 project, or do I need to set it up when starting a project?
    And some other issues not directly related to TC2, but that I haven't yet figured out... it'd be nice to know if this might actually be possible at, all before I put loads of time in it ;) - it would be great if someone know the answer:
    • I have experimented with all sorts of water assets, but I have never managed to create sufficiently large stretches of it as one might expect seeing at a coast. Water assets can usually be scaled up quite a lot, but that slowed the whole thing down to an unusable state. Still I would think that this situation is not all that unusual ... I only need the illusion of a large stretch of water. As long as it looks nice standing on the beach, that would be great. I don't need it to have those super-fancy physically-based breaking index simulation or caustics - not further out, in any case. I'd think that this would also be some sort of LOD feature, but I never found any information about it. A sea that abruptly cuts off after 50 metres would spoil the scene somewhat ...
    • I used Horizon [ON] with TC1 some years ago. It seemed to be exactly what I wished for, but I never got it working properly. Did anyone ever succeed using it?
    Using Unity editor 2019.1.10f1, and the latest version of TC2 and Node Painter at the time of writing.

    Thanks in advance!
     
  16. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,188
    @_Luthien_
    Am not Nathaniel, but I'll try to fix up some misunderstandings either way.

    TC2 fundamental workflow:
    TC2 is fundamentally decoupling Terrain Tiles from the terrain creation workflow, this includes importing existing terrains. You should NOT import them into the terrain TC2 creates for you, but as nodes into the Node Graph.
    Reasoning: ALL information used to create your terrain is in the Node Graph, existing information on the terrains will be overwritten. If you think about it, it makes sense. If you want to import/use an existing terrain, you set up a grid of nodes (one for each texture/tile you want to import), put them in the correct spot on the terrain, put them under one common node group (so you can collapse and forget about them) and then add new layers ontop of the imported terrain.
    That way, if you decide to use a different terrain tile setup than initially planned (for performance reasons, etc.) you can change the tile setep in TC2 and it will automatically span your textures across those new tiles.

    Importing raw files:
    Create a folder in your Raw files directory 'RAWS' named 'RawFiles', so you get a path 'RAWS/RawFiles'.
    Put your .raw files in 'RAWS/RawFiles', reimport that, and TC2 will generate 'preview pngs' in the parent folder 'RAWS'.
    Use them in the RawImage nodes. Basically, for any image 'path/image.png' you input into a RawImage load, it will try to load a .raw located at 'path/RawFiles/image.raw'

    Integrating Node Painter into an existing workflow:
    Depending on what you want to use it for, you'll be able to integrate it at any point.
    (a) Want to use it to layout/mix your biomes/large scale stuff on the world?
    As long as you have your individual biomes as presets, you can at any point switch from whatever masks or methods you used to mix them previously to masks controlled by a Painter. But you'll have to repaint the whole distribution, currently I know of no way to extract your previous mask result into an image you can import into a painter. Or you could add a painter to modify existing masks, of course, without loosing your existing mix.
    (b) Want to just paint/overlay heights/splats/objects over an existing TC2 terrain?
    (b.1) If you already disabled TC2 and manually painted over your baked terrains, you can try to extract the difference:
    1. BACKUP your terrains with your manual changes!
    2. Enable TC2 again, trigger a generate, so that it will overwrite all your terrains with freshly generated ones.
    3. Now copy those terrains, and individually create a DIFF with your existing terrains per tile.
    3.1 For heights, export raws and diff them in photoshop. Now you can import that difference into a node painter and add it ontop of your existing terrain.
    3.2 For splats you'll have to create the difference a bit more smartly. Exports splats of both terrains again, then for each splat color individually, extract splats of both terrains to a grayscale, and create the difference so that you have white where you painted that specific splat. Do that for each channel.
    Now mix those differences back together, into multiple textures, so that four splats = one texture. You can leave out or reorder the splats here, it does NOT have to match the terrain splat arrangement. Now export them as pngs and name them 'Name(k)' for k = 0...n-1
    Importing one of the pngs in a multi-format canvas will then load all as channels properly and you can use that to recreate your splats setup.
    3.x Objects/Grass/Trees will be much harder, I think they are stored as objects lists. Potentially you could extract a proxy density map with a script and mess with that to recreate the placement, but you'd have to fiddle with the density and TC2 placement parameters and of course it will still be a random distribution, so it's only an approximation.​
    4. Think about how you want to distribute your painters to span all your modified areas. Likely your total area is bigger than 4k^2, so you can either create smaller one based on a grid, or more smartly, based on features (e.g. cities/mountains and other POIs you've terraformed). It's also possible to have one large, coarse painter for general changes and smaller, specific ones for details. For that, just split up the image in photoshop beforehand (create a blurred, max 4k^2 version for the large painter, substract that from the total modifications to get the smaller paint distribution).
    Then continue with (b.2)​
    (b.2) If you still work on the base terrain or have extracted your manual painting work in (b.1), you can setup your desired overlay paintjob over any existing terrain.
    For heights, it's simple, just add a layer and use the painter on a selection node.
    For splats, just follow this video (if you're using an existing paintjob, don't forget the erase channel) to map the channels onto their respective masks of splats.
    Also for good measure check out the other videos.

    As for oceans, unfortunately I didn't have the time to observe the market since a long time, and it has changed too much as that I can make a proper recommendation... But make sure not to use a river/sea asset that is intended for small stretches on large oceans - it's likely that it is not optimized for large surfaces.​
     
    Last edited: Jul 18, 2019
    _Luthien_ likes this.
  17. _Luthien_

    _Luthien_

    Joined:
    Apr 24, 2015
    Posts:
    49
    Thanks @Seneral, for that detailed answer. I'll check it out and reply later.
     
  18. _Luthien_

    _Luthien_

    Joined:
    Apr 24, 2015
    Posts:
    49
    Thanks again for your help clearing up some wrong assumptions that were getting in the way!

    To clarify: what I'm trying to do is not really a game. At least, not at this point.
    My idea has always been to create a large landscape / outdoor scene, as in a 3D painting of sorts. My first attempt was years ago in OpenSimulator but that was buggy, the performance was horrid (it did not even have a LOD mechanism at all) and it looked just plain ugly. Unity looked so much better, and TerrainComposer seemed exactly what I needed to create the sort of environment that I had in mind.
    I haven't worked on it continuously. Sometimes, if I wasn't getting anywhere, I let it rest for a while.
    The main asset that I kept from previous attempts is the height map (16 bit 8192 x 8192, or 4 tiles of 4096 x 4096) plus a couple of splat maps, so I'm mostly starting from scratch. That height map is a good basis, but it needs to be refined a bit (which is where TC comes in).

    I could recreate the terrain from the heightmap as nodes as you explained (thanks again!), but that led me to some other questions:
    • as I have it in my head, that 8192 x 8192 map correlates to a terrain of, say, a few kilometres across. Is that actually a good value? Or do I need to detail it more?
    • subdividing that terrain in four tiles of 4096 x 4096 probably stems from an older version of Unity, or maybe even earlier. Is it for performance reasons actually better to have a larger terrain subdivided in multiple tiles? TC2 in any case seems to have no problem at all handling the 8192 x 8192 one
    • For the current test case, I played around a bit, and imported first the four 4096 x 4096 tiles in TC2 (as you suggested in RAWS/RawFiles). Now, when starting TC2, it asks to create a starting terrain. I did that, setting it to contain 4 tiles, in a kind of reflex thought that this would match my four tiles. However, reading what you mentioned re. the TC2 node graph containing all information about the terrain, I realised that that might actually be completely irrelevant. Does it indeed not matter how many regular Unity terrain tiles I create under the unity Terrain Area? And, for that matter, what size they are?
    • I'm also a bit lost by all the sizes and scaling that I see across the TC2 terrain node graph, I'm afraid. When I applied those raw heightmaps I had imported in TC2, they indeed showed up, but a lot smaller than I would expect based on their pixel size. I found that I could adjust the size of the height map node - but then I noticed that I also could adjust its scale ... and the scale of the "select group node" above that ... and the layer node containing it ... and the final Height Map output node.
      It also turned out that the map was rotated 180 degrees in several layers, effectively cancelling one another out. OK, I guess that this is just my inexperience, but is there any sort of 'best practice" that I could follow? For instance, something like "best only adjust the size on the raw image height map node, and if that's not enough, adjust the scale ONLY on the top level" ...?
    • Speaking of which: are there any 'sanity limits' regarding the size of maps or terrains in general?
      I would be happy if the 'playable' area of the terrain is limited to a few kilometres across, though I hope that I can accomplish at least the illusion of something much larger, possibly with Horizon[ON] (if that still works)

    Re. NodePainter: thanks for that very detailed explanation!
    Since I will start out anew with my old base heightmap, it seems that I'm all good with that.
    I looked at your video's, and I think it won't be a problem to use NodePainter after I get the terrain set up properly.

    Thanks again!
    Lúthien
     
  19. cineruss

    cineruss

    Joined:
    Mar 20, 2019
    Posts:
    27
    I am having that problem as well so are you saying use another Splat layer or something else? Also where can I find Lars shaders?
     
  20. cineruss

    cineruss

    Joined:
    Mar 20, 2019
    Posts:
    27
    Does anyone know how to deal with splat texture stretching on vertical cliffs?
     
  21. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    416
    Use a triplanar shader such as Microsplat
     
  22. matthroy

    matthroy

    Joined:
    Jun 8, 2019
    Posts:
    2
    Hello, I have a question regarding generating terrain during runtime. Basically, I am looking to do what the "Generate" button from the main Terrain Composer window does, but via a script after I change things like the Splats and Objects also via script so that the terrain refreshes with the new assets.

    I have been able to locate some general Generate functions that are called when the "Generate" button is pressed (verified by using break points), but calling the functions on their own causes null references that I haven't been able to solve, so I must be missing something. The closest I've been able to get is by using the RuntimeTerrains.cs script, which seems to not do much on its own, but at least tries to regenerate the terrain geometry if you try to change the position of one of the terrains outside of it. This however, often results in an incomplete regeneration where the seams between terrains become more apparent the more the terrain is regenerated.

    Any pointers on where I should be looking would be appreciated.
     
    Sajid_farooq likes this.
  23. cineruss

    cineruss

    Joined:
    Mar 20, 2019
    Posts:
    27
    Thanks does this work with a Terrain Composer Terrain?
     
  24. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    416
    Yes, I'm using it. You will have to add it manually to each terrain
     
  25. cineruss

    cineruss

    Joined:
    Mar 20, 2019
    Posts:
    27
    Thanks I will dowload this and try it out
     
  26. cineruss

    cineruss

    Joined:
    Mar 20, 2019
    Posts:
    27
    I imported Microsplat and looks promising. But when I selected my texture made with Terrain Composer and assigned microsplat terrain to the terrain, it basically destroyed the levels of layers in the final image and combined them in ways that are not what I wanted. But it did eliminate the stretched terrain. Is there a way of using Microsplat in a non destructive way with TC?
     
  27. Quique-Martinez

    Quique-Martinez

    Joined:
    Oct 1, 2013
    Posts:
    111
  28. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    416
    MicroSplat usage should be non-destructive. Not quite sure if I understand the issue, but you need to know that you need to set the textures in the MicroSplat Config and then they might not correspond with the ones you define in the "Terrain Area" under "Splat Textures" - you just use the same index, so just use the same amount of textures and texture 0 will be texture 0 in MicroSplat. Of course it's easier to work if they look the same.

    Make sure you
    1) Add the MicroSplat Terrain Script to each one of your terrains and set the Material
    2) Press Sync All in MS

    You do not need to export any Splatmaps or so, MS will just read the Splatmap from the Terrain and apply its texturing.
     
  29. cineruss

    cineruss

    Joined:
    Mar 20, 2019
    Posts:
    27
    I had a detailed height and splat layering going on in Terrain Composer 2 but was having that stretching issue I mentioned earlier. I went through the steps you mentioned and more..tweaking textures in Microsplat but the levels changed. O after thinking more about it all. I really like Microsplat more than Terrain Compser 2. I have also sent questions to the support for TC2 but no answers.

    Personally, the idea of layers similar to Photoshop for terain building is a good idea, but I have grown more accustomed to the original terrain building approach of Unity. Used with Microsplat, it seems like it gives me more control so thanks for the suggestion. The only problem I seem to be having now with Microsplat is getting the diffuse maps to show properly. The texturing normal height and all other maps are working great. But I cant seem to get the diffuse to show. I am using the free version but purchased the triplaner add on and that took care of my stretching problem.
     
  30. cineruss

    cineruss

    Joined:
    Mar 20, 2019
    Posts:
    27
    I will add to my last reply. Microsplat wasn't destructive but basically reset parameters of my shaders but gave me more options than with TC2. At first I thought I would go back to Unity's original terrain editor but it looks like I will combine TC2 with Microsplat. I really love all the options for surface textures in Microsplat and see it as a nice marriage between that and TC2.I think what would make it easier is to already have them both installed when starting your terrain though so you dont have to make so many readjustments to the surface textures after the fact. But love them both. I thinI can make this work.
     
  31. Diego_Graphics

    Diego_Graphics

    Joined:
    Nov 3, 2014
    Posts:
    90
    Can i hide certain tiles? i would like to create a very large landscape and display all tiles at once would probably not be possible on my computer.
     
  32. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    447

    CTS, Micro Splats, RTP, or Mega Splats can handle this.. any good terrain shade.

    shaders are non destructive by the way.... it does not alter the mesh.. it works in a non destructive work flow.... any texture does, unless they are baked into a mesh, perma. and they are not... take it off and mesh is not changed..
     
  33. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    447

    you can't unless you have a lot of memory..... games that have a very larger landscape for ANY engine, Unity, Unreal, Cry even AAA engines. ( I work with them all) need to be streamed.... or generated .. of sort.


    You can manually turn them off to work on. which is what some do.. We have 64 GIGS of memory, so we can make as larger as we like. but for users you will need to do what I said above anyways....
     
  34. cineruss

    cineruss

    Joined:
    Mar 20, 2019
    Posts:
    27
    Thanks yes trying Microsplat and really .ike it. I agree it did not do anything in a destructive way to the mesh but the textures were way overblown and had to go in Microsplat and readjust.
     
  35. Quast

    Quast

    Joined:
    Jul 5, 2015
    Posts:
    504
    Is there any plan for TC3 ?
     
  36. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    447

    TC2 is fairly newer.... TC 1 was around for years.
     
  37. Sajid_farooq

    Sajid_farooq

    Joined:
    May 23, 2012
    Posts:
    237
    We have given up on TC2 for "runtime" terrain generation...too buggy. We have given up on it altogether.
     
  38. cineruss

    cineruss

    Joined:
    Mar 20, 2019
    Posts:
    27
    On that note, and I may not be saying this correctly, is it possible to take the terrain created with TC2 and bake it sort of speaking so that you dont have the problems associated at runtime
     
  39. Sajid_farooq

    Sajid_farooq

    Joined:
    May 23, 2012
    Posts:
    237
    Yes, pre-generated terrains work great with tc2. Its pretty powerful, although the UI (to me) is not intuitive.
     
  40. cineruss

    cineruss

    Joined:
    Mar 20, 2019
    Posts:
    27
    I felt the same way about the UI. I like the idea and all but it is rather clunky
     
  41. DevelopmentZone

    DevelopmentZone

    Joined:
    May 6, 2017
    Posts:
    4
    Are there tutorials for the latest version of the asset? Everything that I found on Youtube and in the documentation is long outdated.
     
  42. gghitman69

    gghitman69

    Joined:
    Mar 4, 2016
    Posts:
    81
    hi could you create a tool using a collider capsule to conform the terrain I find it super useful
     
  43. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,511
    Atm that's not really possible. It's a bit the limitation of the spawn system, which I'd like to improve in the future...


    Lwrp has it's own terrain shaders and material I assume. If you create a terrain through the Unity menu it should reveal the material used for it. You can assign this material as well on the TC2 terrains (as they are Unity terrains).

    It's working on my side. If you're still interested, can you give details about what error you get which a screenshot of the Unity console?

    It was planned to be something like this yes.
     
  44. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,511
    Thanks Seneral for explaining :)

    * A 8k heightmap is considered a high resolution for only a few km. For 8km x 8km terrain that would be 1 meter height resolution.
    * Unity terrain is limited to a 4k heightmap max per terrain tile. So you indeed need 2 x 2 Unity terrain to adhieve a 8k resolution.
    * I recommend you combine those 4k raw heightmaps into 1 big one of 8k. As TC2 can handle a max 16k raw heightmap file. Otherwise you need to precisely scale and offset each 4 nodes, instead of the ease of using one node for the heightmap.
    * TC2 nodes are actually GameObjects with Transform components...So they work like transform scaling. Best practise for using exact sizes, leave all transform scales to 1 and only set the node size.
    * You're basically limited by the performance of Unity terrain which became a bit better with the new terrain system in U2018.3. A few km x km should work ok. Horizon[ON] can be used as a background for your Unity terrains to make the area look big instead of looking like a flat earth where you can fall off basically.
     
  45. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,511
    You have to use the runtime like in the RuntimeTerrain.cs script. Basically with this script you can stream terrains. Can you show me the code you're using?

    There's no TC2 terrain, TC2 creates and uses Unity terrain. So basically you can use any standard Unity terrain shader replacement solutions, like RTPv3, Microsplat, CTS, etc.

    Yes you can hide/show certain tiles, by right and middle clicking the tile buttons in the TerrainArea inspector.

    What you don't like about the UI? Any tips on how I could improve it?

    All the info is not outdated. I've made many improvements and features to TC2 over the time as you can see in the release notes. But the functionality is still the same...Can you give me more details on which part/s are not clear for you?

    You mean like a brush? Basically TC2 node painter is meant for that:
    https://assetstore.unity.com/packages/tools/terrain/tc2-node-painter-85286
     
  46. gghitman69

    gghitman69

    Joined:
    Mar 4, 2016
    Posts:
    81
    Hi a tool more like
    easier to use
     
  47. sharkapps

    sharkapps

    Joined:
    Apr 4, 2016
    Posts:
    145
    Hi @eagle555 it is great to see you active in this thread again! I still get a lot of value from TC2, but one thing that still stands out as missing is erosion. I think it would be a big win for TC2 users if you could add and erosion node in a future update or version.

    One example of how you could improve the UI would be to use a more free-form node arrangement canvas similar to other node-based tools. Although I have gotten used to the current UI workflow, I remember struggling with it a bit when I first started working with it. Another thing that would help would be to post updated tutorials.

    Lastly, anything you can do to speed up working with TC2 Node Painter on massive terrains (400x 512m2 in my case) would be a big help. Hmm, now I am wondering with the new terrain system that allows native editing across tiles if it would be possible/faster to just work on small changes with the native terrain editor, and automatically generated nodes for those changes.
     
  48. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,511
    Basically that's already possible, but I get what you mean. I'd like to improve the placement in the future.

    Yes indeed erosion is missing and I'd like to add it in the future still. As for the UI, it's more like Photoshop and the way Unity manages GameObjects, it has it's downsides but also advantages like auto arrangement and lower memory usage and the idea behind it is being able to use TC2 to stream terrains at runtime with lower memory footprint.

    As for TC2 node painter, it's slower because TC2 regenerates the entire terrain instead of a small part that is painted. Seneral already has the code and patch for this, I will implement it for the next update. By the way that's a lot of terrains, what resolutions do you use for splat/grass and how many trees? How's your performance with that many terrains?
     
  49. sharkapps

    sharkapps

    Joined:
    Apr 4, 2016
    Posts:
    145
    I think I am using either 128 or 256 for the splat resolution right now, I am not sure because I am away on vacation now. I am not spawning and grass or trees with TC2 and am using Vegetation Studio Pro to handle all the foliage. In the editor, performance is decent with all terrains visible, but regenerating the height/splat takes some time to cycle through all of them. Localized regen for TC Node Painter would be a very welcome change for me.
     
  50. DesomondoDC

    DesomondoDC

    Joined:
    Jun 15, 2019
    Posts:
    8
    Hey guys, new user here just taking some time to learn the ropes.

    I've downloaded and imported the available stamps from the documentation link. Are there any other stamp packages available that people would recommend?

    The other thing I'm aiming to do is build a rather large terrain from an existing cartography map. I'm talking over a million square miles in real world terrain size. My aim is to replicate this using TC2 but I'm struggling with scaling. I want to at least create a reasonable representation of it while maintaining a realistic size. At the moment it's more for reference and 'art' moreso than gaming. Any suggestions?
     
unityunity