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

Terrain Composer2 a next generation GPU powered terrain tool.

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

  1. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello Mkgame,

    I put plenty of short tutorials video's out there to get a good basic understanding of TerrainComposer, without needing many days to figur it out on your own...There's tutorial video's at http://www.terraincomposer.com/tutorials, will save you a lot of time:

    TerrainComposer tutorial about filters, masks and curves, this video will explain what you run into.

    TerrainComposer 1.39 is stable and used by many people. You just need to understand how filters and masks (subfilters) work. The 7 and 8 is an example where I explain how the filter/mask get it's input to output. So the filter chooses your type of stone, you should leave the strength at 1, as it multplies with the input, so it's a correct naming, and you want it random and not always the same, so then you select input on 'Random' instead of 'Always'...

    As for the needles, it is proberly zooming out all the way you did in the heightmap filter or random input. And that terraincomposer remembers the layers and settings, yes if you delete the terrains the layers and TC project will still be intact, which is a very good thing. If you want a new fresh TC project, you need to go to TC Menu -> File -> New...

    If you need more help I give Skype screenshares my account is Nathaniel.Doldersum

    Nathaniel
     
  2. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    hi Nathaniel,
    I just added the following comment to your TC asset store reviews.

    EDIT: 15 April 21:35
    As…….. time……… began, you had Unity terrain………… and as time went on….. you still had Unity terrain……………. But THEN…Terrain Composer was born! It was complicated and difficult to learn, it was tedious and frustrating but still better. As time went on you got newer versions, better and more comprehensive, understandable and workable versions and then you got the mother of all Terrains. It is called Terrain composer and soon to be 2.0. I still get blown away at its quality and I love to show it off without telling anyone how I did it. HeeHee!! Just gotta love it;
     
  3. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello Eagleeyes,

    Thanks a lot :D.

    Nathaniel
     
  4. imapseudonym

    imapseudonym

    Joined:
    Apr 10, 2014
    Posts:
    4
    Hi Nathaniel,

    Quick question regarding importing. Sorry if this has been asked before. I have a terrain created previously from using TerrainComposer. I wanted to import that terrain into terraincomposer in order to splat map it. From what I understand from the tutorials (still learning) is that I can only import heightmaps and from world composer. Is there a way I can import the terrain.asset or terrain.unity into TerrainComposer? Was messing with it earlier and couldn't get it to work outside of flattening my entire terrain :p
     
  5. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello,

    With TC you can import/export heightmaps, splatmaps, treesmaps, grassmaps, read from images. So importing from outside Unity software like WorldMachine, LT3d, etc.

    Your terrain needs to be in Unity Hierarchy, so drag and drop the terrain from the project into the Scene or Hierarchy. And then you can drag and drop the terrain from the Hierarchy into a slot in the TC Terrain List. So this is not really importing, as standard Unity terrain you can alter it anytime with TerrainComposer.

    Nathaniel
     
  6. Fevenius

    Fevenius

    Joined:
    Feb 8, 2014
    Posts:
    12
    Hello!
    I'm currently programming the basics of an AoE3-like RTS (topdown view) and now I want to create an example terrain for it.
    So I have to pay attention to the following things when I wanna create a terrain:
    The terrain should basically be a flat plane, but it should also have mountains plateaus. It is very important that there aren't (much) hills, only mountainous regions and/or plateaus. Is it possible to adjust that in the settings of Terrain Composer?
    Thank you,
    Patrick.
     
  7. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello Patrick,

    Yes this is possible with TerrainComposer. You can use masks for this.

    Nathaniel
     
  8. imapseudonym

    imapseudonym

    Joined:
    Apr 10, 2014
    Posts:
    4

    Ah so simple why I didn't think of that I don't know. Thank you sir!
     
  9. laurent-clave

    laurent-clave

    Joined:
    Jul 18, 2011
    Posts:
    280
    Hi Nathaniel,

    Sorry for my questions !
    I created a RGB splat map , as I apply color map to view it on terrains. No problem.
    After I try to apply splatmap but I feel that the textures are mixing it without using the data from the splat map ....

     
  10. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello Laurent,

    In the filter settings you have to enable 'Splatmap'.

    Nathaniel
     
  11. mkgame

    mkgame

    Joined:
    Feb 24, 2014
    Posts:
    592
    Thanks for your fast reply. Im happy to hear from you that it is stable and all the things happend probably by my mistakes. I will watch your videos.

    But at first, just for clarifying:

    My aim is to create for a strategy game more templates (ice, desert and so on) where the terrain heightmaps have about 50-90% the height 0 (or just flat), because of building the base on a flat terrain give me more possibilities. I also want good looking hills, where the units can move or not (depends of angle, physic and pathfinding grid). Can i create only in Terrain Composer (without World Machine, or World Composer) a good looking terrain? (Just heightmap and textures, no trees no objects no grass) You dont have to tell me how, just that it is possible or not, and probably where the difficulties could be.

    Thank you in advance.
     
  12. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes you can create good and such heightmaps with TerrainComposer, you can take a look at the included heightmap examples, I made a video about this:


    Nathaniel
     
  13. Iron-Oxide

    Iron-Oxide

    Joined:
    Nov 20, 2013
    Posts:
    34
    Hello Nathaniel,

    Nice asset, but when i run the generate, it never lays down the grass textures. Using your examples.

    $nograsstextures.png
     
    Last edited: Apr 18, 2014
  14. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello Iron,

    For the grass to be able to see you have to get close to the terrain. I also see that you use RTP, you have to setup the RTP Lodmanager in the Hierarchy as the terrain textures don't show. How to do this Tom explains in the video on the RTP Asset Store page:
    https://www.assetstore.unity3d.com/#/content/5664

    Nathaniel
     
  15. Iron-Oxide

    Iron-Oxide

    Joined:
    Nov 20, 2013
    Posts:
    34
    Many thanks. I actually bought both assets and havnt even looked at RTP yet, i want to learn terrain composer first so ive taken out RTP until i get my head around it. Looking fantastic so far, very nice asset.
     
  16. Iron-Oxide

    Iron-Oxide

    Joined:
    Nov 20, 2013
    Posts:
    34
    HI Nathaniel

    Ok i generated the island demo and got the following issue:

    Could not create tree colliders. Maybe there are more Trees then PhysX can handle?

    Could not create actor. Maybe you are using too many colliders or rigidbodies in your scene?

    how can i prevent this happening please? thanks.
     
  17. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello Iron,

    By reducing the amount of trees, as Physics can handle a limited amount of colliders. You can do this by reducing a tree layer strength or by setting a lower tree resolution in TC terrain list -> Local Area.

    Nathaniel
     
  18. laurent-clave

    laurent-clave

    Joined:
    Jul 18, 2011
    Posts:
    280
    Hi !

    I forgot !!
    Thank you !
     
  19. LinQuestSMSA

    LinQuestSMSA

    Joined:
    Apr 19, 2014
    Posts:
    8
    Hi Nathaniel

    I have purchased TC and WC. Love them. I have a quick question... I've created a 4x4 tiled terrain. I need to be able to scale it at runtime. (the terrain is used as an in-scene object). Do I need to do it with script, manipulating each tile separately, or is it possible to stitch the tiles into a single tile and scale it like any normal gameobject? Thanks,
    Art
     
  20. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello,

    The scaling with a terrain works different then with a GameObject. For changing the scale in runtime, both have to be done by scripting. The size of the terrain is stored in terrain.terrainData.size, there you can change it.

    http://docs.unity3d.com/Documentation/ScriptReference/TerrainData-size.html

    Nathaniel
     
  21. laurent-clave

    laurent-clave

    Joined:
    Jul 18, 2011
    Posts:
    280
    Hi Nathaniel,

    I setup a new terrain for learning TC.

    I use world machine for generate splat map, color map, normal map and heigt map.
    The splat map use 3 channels (RGB).
    In TC, i set 4 textures on the splat layer.
    It's work perfectly.

    $496827tcexample.jpg

    Now I would like to add a grass texture.

    What is the best solution?
    Create a new map with Machine splat world or create a mask? Or other?
    Which method to combine textures with splats map?

    Thank you ;)
     
  22. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello Laurent,

    The fastes way would be to add another splat layer with your grass texture, and in the filter settings use output change and then masks to define where to place the grass texture.

    Nathaniel
     
  23. laurent-clave

    laurent-clave

    Joined:
    Jul 18, 2011
    Posts:
    280
    Ok thank nathaniel :)
     
  24. Drum

    Drum

    Joined:
    Dec 8, 2010
    Posts:
    29
    Hi,

    I've recently bought terrain composer and world composer and have started to have some pleasing results. I have, however, run in to a small problem. I'm trying to model the terrain around Vimy Ridge in Arras, France, but for some reason all around the area I get a 'Can't Download Data' error message. Seems fine everywhere else. I just wondered whether there was a reason for this?
     
  25. ArtHughesStudio

    ArtHughesStudio

    Joined:
    Apr 23, 2014
    Posts:
    4
    Hi Nathaniel,

    Interesting. When I adjust the size of the individual tiles using terrain.terrainData.size, they do indeed change in size, keeping the lower left corners static, but the tiles are clipped. I have a 4x4 tiled terrain satellite image created from WC/TC and the tiles need to scale at runtime with C#? Is this possible?

    I'm building an in-scene 'terrain' map table that multiple avatars/users can manipulate by scaling and panning.

    Thanks,
    Art
     
  26. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello,

    I took a look at it and you are right. Bing doesn't have elevation data for this area it seems...

    Nathaniel
     
  27. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes this is possible. The upper left corner stays at the same position. You will also need to transform the terrain positions to fit the size you make. Can access it with terrain.transform.position = new Vector3(x,y,z);. Best is to have the middle of the terrains at the zero point.

    Nathaniel
     
  28. ArtHughesStudio

    ArtHughesStudio

    Joined:
    Apr 23, 2014
    Posts:
    4
    Hi Nathaniel,

    Thanks for the quick responses and support. Yes, I can transform the tile positions. That works fine. However, it's the tile scaling that is still an issue. For example: I use WC/TC and create a 4x4 tiled terrain of downtown New York City (Satellite Aerial). One of the tiles shows the entire roof of a big building. I then reduce the size of the tiles by a factor of 2. I want that tile to still show the entire roof, only smaller by half. Instead I get a tile that cuts off the roof. Like the tile is cropped.

    Sorry for the confusion and thanks again for your assistance,
    Art
     
  29. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello,

    That is strange, can you send screenshot before and after scaling? As the heightmap resolution should still be the same.

    Nathaniel
     
  30. ArtHughesStudio

    ArtHughesStudio

    Joined:
    Apr 23, 2014
    Posts:
    4
    Hi Nathaniel,

    I'll get you the screenshots but I think I see what is going on. Changing the Terrain Width/Length via Editor or code for each tile works and scales the 'physical' terrain tile like it should. However, if the camera is within the basemapdistance, the satellite graphic image for each tile is not scaled and is cropped. Setting the basemapdistance to 0 or moving beyond the basemapdistance range and we get a low rez sat image on the tiles, but the image is scaled correctly.

    I'll do more testing but any ideas would be appreciated.

    Thanks,
    Art
     
  31. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello Art,

    Yes if you don't use RTP you need to change the tile size of splat texture0 (which is the colormap) to the terrain size.
    https://docs.unity3d.com/Documentation/ScriptReference/TerrainData-splatPrototypes.html
    https://docs.unity3d.com/Documentation/ScriptReference/SplatPrototype.html

    SplatPrototype splat[] = terrain.terrainData.splatPrototypes;
    splat[0].tileSize = new Vector2(terrain.terrainData.size.x,terrain.terrainData.size.z);
    terrain.terrainData.splatPrototypes = splat;

    You need to assign terrain.terrainData.splatPrototypes at once, only assigning terrain.terrainData.splatPrototypes[0] doesn't work.

    Nathaniel
     
  32. Ebolinux

    Ebolinux

    Joined:
    Jan 23, 2014
    Posts:
    117
    Question...

    Is there to raise up the height map when you generate a terrain?

    What I mean is in the default inspector you can flatten the heightmap. It takes the terrain and increases it so when you flatten and lower thing it can have more of a drop before it hits 0 (zero)
    Terrain > Inspector > Paint Height > Settings > Height (500) [Flatten]

    If you flatten a terrain and then go into terrain composer and generate a terrain it reset that back down to the defaults. It makes the 0 (zero) level very close when flattening it.

    Is there some one to make it so when you generate the terrain it will keep that much larger height map? Or set the height map in terrain composer?
     
  33. broesby

    broesby

    Joined:
    Oct 14, 2012
    Posts:
    118
    Hi Nat, Tom and all you happy TC,WC and RTP users.

    Long time user of all three and I'm loving it - getting better at it every day :) First time I write here but think I I read every single post several times :)
    I have a few different questions that might interest others as well.

    1) A technical one about TC: I often use a height filter/mask for splat, trees, objects... Often my WC generated terrain the height goes from lets say 0,3 lowest point to 0,6 highest point. Works like a charm to use measure tool. I can then set my curves somewhere between these numbers.... No problem there. BUT question is: Is there an easy way to reset the heightmap so the values go fro 0 to 1 like it is "supposed to be". That way I don't have to compress the curve to sometimes quite close values. Just a minor hassle though.. ;)

    2) TREES!! I love them. I need a lot in my game - let's call it a flight sim o some kind. I need them with colliders. Not mesh colliders but more than just the trunk. I know of the 32-bit editor collider cap. I know it gets better when 64-bits hit. But still there will be performance to think about. 50000 complex trees will be a performance hit no matter what. So question is: How do you guys handle this problem? I suppose many of you create huge terrains.
    I was wondering if best way was to skip terrain trees entirely and set up custom trees with tree LOD groups.... And in same line of thought: Any of you know of a way to only render/load colliders close to the player - a collider LOD so to speak, Don't really need colliders before you hit them with something anyway ;) Not technically a TC question I know but must be of interest to most of you terrain buffs :p

    3) In the same category - performance: Nathaniel, are you getting anywhere with your terrain streaming asset??
    I made high res terrains surrounded by lower res bigger terrains surrounded by even lower res very big terrains. This technigue is explained in earlier posts (page 15 or so)... It works fine but I cannot figure out how to actually use it when my plane passes to lower res areas... change scene maybe... but not ideal. Especially when plane is circling on border areas.... How do you handle these large terrains?? I cannot even begin to comprehend performance hit if I were to actually place trees in the low res areas as well.... not to mention grass :rolleyes: ... and I have a very fast CPU/GPU.

    4) Clouds: Not TC at all but quite terrain related ;) Any of you have experience with Nuaj' or Silverlining Skies or maybe smth else??? Are they very hard on performance? Being a tree addict I really need to consider anything else that is a potential performance drain..


    Sorry for general questions but hope it can help some others as well :) I really like how this community is helpful to eachother.

    Best wishes from Jesper, Denmark.
     
  34. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes you can do this. You can add a filter in your heightmap layer with input to always and output to add (default) then choose the position based on how much you want to higher the terrain (0.25 is 25%, 0.5 50%, etc). Then re-generate...

    Nathaniel
     
  35. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello Jesper,

    Thanks :), as for your questions:

    1). Yes you can get the heightmap more spread out between 0 and 1, you the height difference between low and max height (can calculate it with the measure tool automatically). Say it is 0.3 height difference (from your example), then you can add 2 filters to your heightmap layer to subtract 0.3 and then multiple by 3.33. So first filter input on 'Always', output on 'Subtract' and position on 0.3. The second filter input on 'Always', output on 'Multiply', position on 1, and strength on 3.33. You would need to adjust your terrain size x and z also x3.33 to get correct scale or scale y divided by 3.33.

    2). There's not a collider solution out there at the moment, but my streamer or seperate Asset will have one with the solution to only render colliders close to selected GameObjects (like player).

    3). Yes I'm still having the streamer on my schedule, but at the moment I'm working on TerrainComposer 2, just converted it all to C# and now working on getting it finished, which might take some time. I'm planning to have my streamer be able to stream such terrain with bigger low res terrains around, this cannot be done easily and requires special shader solution code, but I think it can be done. Grass and Trees are still a bit of a Unity terrain issue, hopefully in Unity5 especially the grass will be better. But Tom might also release a better grass system in the future.

    4). Yes we been struggling with both packages. Both have a lot of performance impact and we can't use them for our projects. Peter is working on an awesome cloud system and might release it in the comming months.

    Nathaniel
     
  36. ArtHughesStudio

    ArtHughesStudio

    Joined:
    Apr 23, 2014
    Posts:
    4
    Hi Nathaniel,

    Fantastic. That was it. The tiles are scaling correctly and I'm seeing the satellite image in hi def and scaled correctly too. I searched the web for several days and never came across (or really understood) the SplatPrototype. It looks great. We're now bringing in terrains from different parts of the world into scenes that contain 'map' tables for multiple avatars to manipulate. It's a cool strategy capability.

    Thanks again for the quick responses and excellent support.
    Art
     
  37. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello Art,

    I'm glad you have it working now ;).

    Nathaniel
     
  38. Ebolinux

    Ebolinux

    Joined:
    Jan 23, 2014
    Posts:
    117
    I tried setting each heightmap position to .25 and it bumped it up higher like you said. But it also REALLY changes how the terrain looks. For example I have all the number recorded so I can enter then and get the exact same terrain every time. But when I add the .25 onto the position is makes it looks completely different. Is there any way to make it up higher with out messing up the terrain?



    http://wiki.unity3d.com/index.php?title=RaiseHeightmap <--------- This works great!!!!
     
    Last edited: Apr 26, 2014
  39. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    I'm not sure what you are doing, but you can add a layer to the end and it already has the always filter, then put the position on 0.25. It should not be done for every layer, just 1 layer at the end. Won't need the wiki script for this...As with auto generate in TC you can adjust it much faster.

    See the example I did, where do you see the change how the terrain looks? I'm curious what you did...

    Before:
    $Before.jpg

    After raising terrain with 0.4:
    $After.jpg

    Nathaniel
     
    Last edited: Apr 26, 2014
  40. Ebolinux

    Ebolinux

    Joined:
    Jan 23, 2014
    Posts:
    117
    Thanks for the info Nathaniel.

    Have another question. I generated a 16 terrain group. Is there a way to take each terrain (with the trees grass etc) and break them up into separate scenes or same them as prefabs some how?

    I see that you can export heightmaps as .raw and it looks like you can also export the splat, tree, and grass. How do you import all of those into a blank terrain to re-generate the exact same thing?
     
  41. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes you can do that with Unity terrain. The terrainData is stored in your project in the folder you select in the beginning with creating a terrain. You can also see this if you click on a terrain and the in the terrainCollider script, 'TerrainData' holds the terrainData Asset (click on it and it will show where it is stored in the project). Now if you drag and drop this terrainData from your project into your Scene it will automatically create the terrain from it. What you can also do is make a prefab of your terrains with using an empty GameObject as a parent, then dragging the parent into your project to make a prefab. Then drop the prefab into a new Scene also works.

    Nathaniel
     
  42. Ebolinux

    Ebolinux

    Joined:
    Jan 23, 2014
    Posts:
    117
    Just updated to 1.390 and when I generate slats it crashes Terrain Composer for some reason.
     
  43. Mors-A-Vita

    Mors-A-Vita

    Joined:
    Dec 7, 2012
    Posts:
    8
    Hello and sorry if this has been asked before but how do you output a tree map to be used with rtp 3.1 thanks for your time
     
  44. TFK_XGame

    TFK_XGame

    Joined:
    Feb 15, 2014
    Posts:
    2
    Hello,

    I recently bought Terrain Composer. Although I didn't test it in detail, I noticed a small problem. On OSX 10.9, when I click "Main Manual" button under "Help" category, nothing happen ( of course, Adobe Reader is installed ). This work well on Windows, so I simply saved the file and put it on the mac partition.

    Another small surprising thing: almost all your support/tutorial content uses video. Of course, videos are great addition, but they are not the most effective way to search an information (simply because you cannot really search in a video).


    Thanks for your awesome extension.
     
  45. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello, if you get an empty TerrainComposer window, you can delete <Generating> from the Hierarchy, then the TerrainComposer window should restore. It might be that all splat textures are not assigned to each terrain. Can you select your first terrain in the TC terrain list, and then go to 'Splat Textures' tab and shift click <Set All> and then regenerate, does it work now?

    Nathaniel
     
  46. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    You can export a treemap to save all your tree positions in TerrainComposer, but this is not what the map is for in RTP 3.1. The treemap in RTP is for showing baked tree shadows and tree pixels from an image for far distance, that could be made in 2 sec for like a milion trees, something I was working on, but at the moment not anymore. Still the maps can be used as kind of a lightmap, shadow blending...

    Nathaniel
     
  47. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Thank you for the purchase, I'm not sure why the link is not working on Mac, but the link is to the TerrainComposer folder in your Unity project where the Main Manual is. So you can also open it there.

    The manual has a good description of everything, but I choose for small tutorial video's based on category http://www.terraincomposer.com/tutorials. So there you can select what you want and then see how to do it. If you need more help with something I also do skype chat and screenshare, my account is Nathaniel.Doldersum.

    Nathaniel
     
  48. noanoa

    noanoa

    Joined:
    Apr 17, 2014
    Posts:
    225
    Hello. Are there written tutorials and documents of Terrain Composer or do you have to watch videos to learn how to use?
     
  49. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hello,

    There a manual pdf with 39 pages, for tutorials I made short videos.
    http://www.terraincomposer.com/TerrainComposer.pdf

    Nathaniel
     
    Last edited: Apr 29, 2014
  50. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    A small feature request: It looks like when generating a Color Map, it ignores the alpha value of chosen colors and always sets it to 1. The color curve tools in advanced also only show R,G,B and no A. Can we get alpha support? RTP has a new feature where you can use a Color Map alpha value of zero to allow a transparent hole in the terrain; it would be very useful for that.