Search Unity

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
    Sorry about the tutorial video's not matching up exactly anymore. Currently I'm working on a major TerrainComposer release, I don't want to redo the tutorial video's twice. Some buttons have been changed yes and it was all to improve the GUI, but the functionality is still the same.

    Have you watched the tutorials here?
    http://www.terraincomposer.com/tutorials/

    This one is for creating heightmaps:
    Help Video Creating Heightmaps
    Help Video Heightmap and splat texturing mask (to see how splat texturing works)

    Nathaniel
     
    hopeful likes this.
  2. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    You can read here how to create basic perlin:
    http://www.terraincomposer.com/troubleshooting/
    When I want to create a heightmap layer and add a heightmap filter, choose heightmap output and click generate nothing happens. Why?

    Nathaniel
     
  3. eagle555

    eagle555

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

    If you want to use colormaps + splat texturing it's best if you use a terrain shader that supports colormap like RTP or ATS colormap terrain shader. With RTP assigning colormaps I have integrated:
    Help Video Importing from WorldMachine/Using RTP with TerrainComposer

    Assigning colormaps in ATS Colormap is described in its documentation.

    For using colormaps with Unity default terrain shader, I use a splat texture for this with the tile size of the terrain size. You can assign a colormap image in TC terrain list -> Splat Texture tab. You have to shift click <Colormap> then a colormap slot appears. You can use the 'Select' button to assign colormaps with the use of auto search. I explain in the video above.

    Nathaniel
     
  4. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    These are the default parameters TC uses, they are low because auto generate will work fast then. But you can change them at any moment and regenerate with that resolution. After changing the resolution in TC terrain list -> Resolutions (tab), you need to shift click <Set All> to apply the changes.

    Nathaniel
     
  5. eagle555

    eagle555

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

    The index is here:
    http://www.terraincomposer.com/tutorials/

    Nathaniel
     
  6. CaptCanada

    CaptCanada

    Joined:
    Feb 3, 2013
    Posts:
    272
    Sorry if this has been asked before in this thread, but can Terrain Composer be used to create your own terrrain?

    Thanks
     
  7. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    I actually think this is not a TC bug, but given that deleting LIbrary and regenerating everything takes a couple of hours thought I'd ask.

    After upgrading TC to the latest, all strings in terraincomposer_save.js are showing as what appears to be the guid (best explanation I can think of). Reimporting has no effect. Tried renaming stuff, using another scene, anything I could think of to trigger a change that would fix it to no avail.

    FYI to upgrade I had to delete TC and import fresh. The upgrade complained about a guid being a duplicate or something similar (can't remember exactly) and would bail. Which also leads me to think this is a Unity thing, but maybe it's also something that gets triggered easily by TC for some strange reason? No idea.

    Attached pic shows what I'm talking about.
     

    Attached Files:

  8. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,080
    I need to increase textures resolution but as you said we have to generate it again. but when I do that I'll get different result and I don't want that, can I increase textures resolution without generate my terrain height again?
     
  9. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    No idea how it happened, but the new_setup prefab got corrupted and all the strings were guids.
     
  10. Daniel4

    Daniel4

    Joined:
    Sep 19, 2014
    Posts:
    13
    Hi guys,

    I have a problem. Every time i want to add a function/color, anything...my TerrainComposer window/scene gets corrupt (see video below)


    the error i get is:
    ArgumentOutOfRangeException: Argument is out of range.Parameter name: indexSystem.Collections.Generic.List`1[System.Boolean].get_Item (Int32 index) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/List.cs:633)TerrainComposer.draw_precolor_range (.precolor_range_class precolor_range, Int32 space, Boolean one_color, Int32 minimum, Color color_color_range1, Boolean display_swap, Boolean display_value, Boolean erase_button, Int32 call_from) (at Assets/TerrainComposer/Editor/TerrainComposer.js:13375)TerrainComposer.draw_image (.image_class preimage, Int32 space, Color color_filter, Boolean draw_color_range, Int32 call_from) (at Assets/TerrainComposer/Editor/TerrainComposer.js:12557)TerrainComposer.draw_subfilter (.prelayer_class prelayer, .filter_class current_filter, Color color_subfilter, Int32 space) (at Assets/TerrainComposer/Editor/TerrainComposer.js:12021)TerrainComposer.draw_filter (.prelayer_class prelayer, .prefilter_class prefilter, System.Collections.Generic.List`1 filter, Int32 space, Color color_filter, Color color_subfilter, Int32 position_prefilter, Int32 current_number) (at Assets/TerrainComposer/Editor/TerrainComposer.js:11505)TerrainComposer.draw_layer (.prelayer_class prelayer, Int32 layer_number, Int32 count_layer, Int32 count_description, Int32 space, System.String text, Int32 layer_minimum) (at Assets/TerrainComposer/Editor/TerrainComposer.js:11087)TerrainComposer.draw_prelayer (.prelayer_class prelayer, Int32 prelayer_number, Int32 space, System.String text, Int32 layer_minimum) (at Assets/TerrainComposer/Editor/TerrainComposer.js:8124)TerrainComposer.Paint () (at Assets/TerrainComposer/Editor/TerrainComposer.js:3635)TerrainComposer.OnGUI () (at Assets/TerrainComposer/Editor/TerrainComposer.js:919)System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)

    Any idea?

    thanks a lot!
     
  11. LondonStevey

    LondonStevey

    Joined:
    Jun 26, 2015
    Posts:
    33
    Hi Nathaniel,
    Loving TerrainComposer at the mo! And thanks for the previous help. I have some a few bits that I'm a little stumped with if you could help. I'm trying to make some relatively large terrains. I've got each set to 5000x5000x5000 and have a 3x5 set up.
    1. I've copied over your canyon example and tried to apply that to my terrains. That all works fine, although the Perlin seems to not port over well. I'd like to create massive canyons and plateaux's but with the perlin set to the maximum zoom 4096 its still too granular, is there any way of enlarging the perlin zoom more over large terrains?
    2. I'd like to create a gradiated slope, so that from the cliff in the image, it drops away and then the slope begins. I have an image for the cliff and one for the slope. I have them set on different layers and both set to add. I have the cliff exactly how I'd like it, but when I add the gradient in, it always affects the cliff, how can I keep the cliff exactly how I want it, and have the gradient then appearing below
    3. When it comes to using images, I find the raw 16 bits down work very well over large terrain, and end up being quite blocky. I've noticed when using the heightmap tool, you export as a png and these seem to work much better. Which format do you recommend using? I'd love to use the psd's because they give much more flexibility, but they seem to be very blocky as well.
    4. I try to apply a smoothing mask to some of the images, but don't really have a clue where to start with them. Do you have a smoothing mask tutorial anywhere?

    Many Thanks! Loving your work and the awesome support! :)

    Steve
     

    Attached Files:

  12. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Well it is actually made for that...Check out my site:
    http://www.terraincomposer.com

    Nathaniel
     
  13. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes this is a bug in Unity serialization on prefabs. It happens if you have in Unity Menu -> Edit -> Project Settings -> Edit -> Asset Serialization -> Force Text. If you put it to Mixed it should work. Also what you can try to do is keep it on Force Text and try to reimport TerrainComposer it will ask to replace all prefabs. If that doesn't work change it to Mixed mode.

    PrefabSerialization.jpg

    Nathaniel
     
  14. eagle555

    eagle555

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

    That's many splat layers you have in there...Can you send me your TC Project prefab to my email Nathaniel_Doldersum@hotmail.com, I can fix it manually. If you go in TerrainComposer menu -> File -> Save, choose a name. And then in your project you can right click the prefab and export as a Unity package (don't include dependencies) and send me that package.

    Nathaniel
     
  15. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Do you mean you want to increase splatmap resolution? If you want to increase splat texture resolution, it won't need to regenerate.

    Nathaniel
     
  16. eagle555

    eagle555

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

    This is a screenshot from the latest Unity 5.1.1p2, in an empty project. You probably have RTP or another terrain shader in your project. If you have RTP you need to set it up according to its documentation. The specularity can be set in RTP menu -> Main -> Specular color (more dark).

    Nathaniel

    ExampleScreenshot.jpg
     
    jalapen0 likes this.
  17. sheffieldlad

    sheffieldlad

    Joined:
    Oct 9, 2013
    Posts:
    154
    Sorry if this has been asked before.
    Is there any way to get more than 5 tiles on the x axis and 5 on the y when you use the examples?
     
  18. amasinton

    amasinton

    Joined:
    Aug 12, 2006
    Posts:
    138
    Hi Nathaniel,

    Thanks for the reply (and the video), they're very helpful.

    I've got RTP and have set up the colormaps for each of my 18 terrain tiles and then setup my 4 layers in RTP.

    Now the terrain is black after the splatmaps generate. I have a single directional light set to realtime baking. I have another scene using RTP with a single tile and no colormaps, but otherwise identical, and there the terrain renders fully lit.

    Any ideas why my multi-tile terrain is black?

    -- Anthony
     
  19. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes that's possible. Although you have to keep in mind that each terrain tile has overhead on performance, but it improves culling. I recommend though to not go higher then 5x5 although its possible to use an unlimited amount of tiles.

    You can create the terrains manually:

    TerrainMaxTiles.jpg

    In TC Menu -> Options -> Terrain Max Settings you can set the maximum number of terrain tiles (16 x 16 is default).

    Then what you need to do after creating the terrains, in 'Splat Textures', 'Trees' and 'Grass/Detail' tab is to load the example presets. And shift click <Set All> in each to apply to all terrains.

    Nathaniel
     
    sheffieldlad likes this.
  20. eagle555

    eagle555

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

    Did you setup RTP Lod manager? As in the default you need to use 8 splat textures, because second pass is on, you need to disable it (if you want to use only 4 splat textures) and recompile the shaders.

    If you can't get it to work it's best to ask Tom on the RTP forum, as it is RTP related :
    http://forum.unity3d.com/threads/206516-Relief-Terrain-Pack-(RTP)-v3-on-AssetStore

    Nathaniel
     
  21. sheffieldlad

    sheffieldlad

    Joined:
    Oct 9, 2013
    Posts:
    154
    Many tthanks. That's just what I was looking for :)
     
  22. jalapen0

    jalapen0

    Joined:
    Feb 20, 2013
    Posts:
    136
    Hello, I've found that I can set up a Layer and apply textures via an image in a mask and it works fine. But as soon as I remove the image and add a new one, it breaks the layer. (it displays black) The only workaround I can find is that I delete the layer and recreate it. Anyone else see something like this and is there a better workaround than total recreation?

    FYI: I'm using RTP.

    edit: added important detail
     
    Last edited: Jun 29, 2015
  23. Daniel4

    Daniel4

    Joined:
    Sep 19, 2014
    Posts:
    13
    Hello Nathaniel,
    I mailed you my TC prefab file with the window crashing after adding a color. hope mail went trough fine ;)
    thx
     
  24. LondonStevey

    LondonStevey

    Joined:
    Jun 26, 2015
    Posts:
    33
    Hi Nathaniel,
    Thanks but it was basically the perlin zoom that I was talking about with the first point, for large terrains I'd like to zoom more than the maximum.
    The thing that's I can't get my head around the most though was my second question. No matter which settings I apply to the layers and filters (Add, Max, Difference etc) the gradient is always affecting the cliff as per the images. How can I have these 2 images in the project so they don't affect each other? I would've though it would be Max but that doesn't seem to work as I thought.

    Thanks

    Steve
     
  25. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    It works fine here. Hope we can find in a screenshare what going on.

    Nathaniel
     
    jalapen0 likes this.
  26. eagle555

    eagle555

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

    Yes I found the bug and updated TC with a fix. Hope you received my mail.

    Nathaniel
     
  27. eagle555

    eagle555

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

    Sorry I missed your post.

    1). How large is your terrain? Yes you can change this in the TerrainComposer.js script it's in the TerrainComposer/Editor folder. Just search for 4096 and change it to the number you want:

    EditorGUILayout.LabelField("Zoom",GUILayout.Width(130));
    precurve_list[count_curve].frequency = EditorGUILayout.Slider(precurve_list[count_curve].frequency,1,4096);

    Let me know what number is good for you and I will change that maximum in the next update.

    2). You have to use 2 filters for it in the same layer, then mix/max will work. As layer is on add or can be overpainted with filter input on 'Change'.
    3). I recommend 16 bit raw grey scale because they have more precision in height and should be less blocky. Since they are 16 bit there's 65535 height values and with an image only 255. To avoid blockiness the raw image resolution needs to be the same or higher as the terrain heightmap resolution.
    4). For smoothing per mask it's best to use gaussian blur in photoshop -> Photoshop Menu -> Filter -> Blur -> Gaussian Blur. You can do global smoothing in TerrainComposer quick tools -> Smooth tab.

    Nathaniel
     
  28. LondonStevey

    LondonStevey

    Joined:
    Jun 26, 2015
    Posts:
    33
    That's awesome! Thanks Nathaniel!
    1. I'm creating huge plateaus and mountains probably wanting to settle on about 20km squared but just trying it with 80km squared at the mo and its giving perfect results. So 16x16 terrains at 5000 x 5000 x 5000. I've increased the perlin zoom 10x and its ideal for my uses, not sure how usable on the slider it would be for others though. Also for just creating a massive slope it seems to be ideal. You can see on the attached screen shot.
    2. Thanks That's cleared up a massive confusion I had on the layers and filters. I thought the Output value crossed layers but that makes sense now.
    3,4 great thats helped loads!
     

    Attached Files:

  29. jalapen0

    jalapen0

    Joined:
    Feb 20, 2013
    Posts:
    136
    Hello Nathaniel,

    I am working on a 5x2 terrain using images to apply my textures. This works well except it seems TC does not exactly follow the edges. It tends to leave a lot of corners, instead of smooth rounding. Please see attached images. Is there a way for me to blend that a little better?

    My terrain:


    My image to apply textures:


    EDIT: Also, if you notice, the blue part of the image slopes up at a slight angle but the texture applies at a straight 90 degree angle above. That is also not what I want.

    Here is the image to apply the second texture:
     
    Last edited: Jul 1, 2015
  30. tnaseem

    tnaseem

    Joined:
    Oct 23, 2009
    Posts:
    149
    Hey Nathaniel,

    I've just started playing with Terrain Composer, and after a fair few false starts, I'm starting to get the hang of it. Your tutorial on procedural generation was a big help, despite it being quite old!

    Now, the issue I'm having is when I added the Unity water object to the terrain. As it's procedurally generated, a lot of the terrain is under the water level. I only want the water to be in certain parts. See the screenshot below of where I am with it at the moment.

    Main_unity_-_Arcadia_-_PC__Mac___Linux_Standalone.png

    So, a lot of that I would want above the water level. Is there any way I can edit the terrain by hand to mold those parts upwards, or any other options I can explore? (Hope this makes sense!)

    FYI, this is a 3x3 terrain, as per your tutorial.

    If interested, this is what I managed to achieve from a first person view:

    Screenshot_2_07_15_8_49_pm.png

    Quite pleased with it so far (no trees or grass yet!) but still nowhere near as good as you've been getting! Will grab RTP too to add some more realism...

    If you can help with the water level issue, that'd be great!

    Cheers,
    Taz
     
    jalapen0 likes this.
  31. Hexaedre

    Hexaedre

    Joined:
    Jan 23, 2015
    Posts:
    110
    Hi,

    On what depend the tree and grass density and how can I increase it, please ?

    I set all trees and grasses density at max. Duplicating layers increase the density but after a few layers more the density stop to increase. It is far to be dense enough and it is less dense than in your exemples.

    I am using SpeedTree. The min. distance in the trees are set to 0 and for now the filter is just set to random between 4 trees.
    I have made a multi res terrain with World Composer and only 1 terrain tile exported to TC (area0) : 0.843 x 0.843 km, Heightmap Zoom level 13.


    PS : I have 2 other questions, do you prefer that I write all my questions in one post or do you prefer that I cut it into small pieces ?
     
    Last edited: Jul 2, 2015
  32. Dreamaster

    Dreamaster

    Joined:
    Aug 4, 2014
    Posts:
    148
    Random Terrain Composer screenshot of the day! The water is Suimono. Just standard terrain, not even using any special shaders. Screenshot 2015-07-01 20.31.52.png
     
    Atzig, jalapen0 and tnaseem like this.
  33. Atzig

    Atzig

    Joined:
    Jul 17, 2014
    Posts:
    157
    Pretty simple question, is there a way to scale the terrain along the Y-axis only in Terrain / World Composer?
     
  34. eagle555

    eagle555

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

    This is probably do you use a too low splatmap resolution. E.g. increasing the splatmap resolution for a single terrain to 512/1024 will give better results. If not can you show screenshot of TC window how you set the filters up?

    Nathaniel
     
  35. eagle555

    eagle555

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

    You can enable the 'Abs' toggle in the filter to get terrain higher and also put the 'Position' slider higher (Filter input needs to be on 'Always'). If the mountains reach the ceiling you can reduce the strength.

    HigherTerrain.jpg

    Nathaniel
     
  36. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    It depends on your terrain size. You can higher the tree resolution in TC terrain list -> Local Area -> Tree resolution. And the grass resolution in TC terrain list -> Resolutions -> Grass resolution. After changing shift click <Set All> to apply it.

    You can ask your questions in the same post ;).

    Nathaniel
     
  37. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    That looks great :D, thanks for sharing!

    Nathaniel
     
  38. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,080
    Please look at below pic.



    I'm using TC and RTP together, as you see I put all resolution on 2049 but it will back to 128 again when I work with RTP! any advise what problem may be? thanks
     
  39. jalapen0

    jalapen0

    Joined:
    Feb 20, 2013
    Posts:
    136
    I increased the splatmap rez and it looks better. Blending between the textures is not good though. I did work with Tom on RTP and got it better than it was but I'm still not happy with it. Anything I can do with TC to blend them better. Its too abrupt.
     
  40. tnaseem

    tnaseem

    Joined:
    Oct 23, 2009
    Posts:
    149
    Many thanks for your reply, Nathaniel. However, that will raise the entire terrain. I want to affect only certain parts, and leave a couple of the bits low enough for the water. How would I achieve this?

    Actually, as I write this, I've just noticed the 'Filter, masks and curves' tutorial. Is this what I should be looking at?


    Cheers,
    Taz
     
  41. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    What you can try is to use a higher mix rate. If that doesn't help, it needs to be changed in the filters/masks, can you show screenshots of how you set this up?

    Nathaniel

    MixRate.jpg
     
  42. eagle555

    eagle555

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

    Yes if you only want to raise certain parts you can use a mask for this. It's best to use a 16 bit raw grey scale image for this. What also might be helpful is this tutorial:
    Help Video Heightmap and splat texturing mask

    Nathaniel
     
    tnaseem likes this.
  43. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Did you shift click <Set All> after changing it? Otherwise it won't be applied...

    Nathaniel
     
  44. tnaseem

    tnaseem

    Joined:
    Oct 23, 2009
    Posts:
    149
    Ah, that looks perfect. Not sure how I missed that tutorial! Many thanks :)

    Cheers,
    Taz
     
  45. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,080
    Yes, I've done that before creating terrains, but every time I refresh in RTP in back to 128!
     
  46. Jarek-Defiler

    Jarek-Defiler

    Joined:
    Feb 6, 2015
    Posts:
    64
    When manually painting textures, is there any way to prevent the splat generation from overriding what you painted? I just lost hours worth of manual texturing cause I had auto-generate on and it replaced my painted textures.

    Also, how does one create a height image from a texture? I got RTP and am trying to learn that as well but I can't find any information on making height images.
     
    Last edited: Jul 6, 2015
  47. jalapen0

    jalapen0

    Joined:
    Feb 20, 2013
    Posts:
    136
    Well I will probably have to show it to you but I'm really busy this week. I have a seperate layer per texture. Each texture has its own image assigned and they apply via color. I could never get it to work right with all textures assigned to a single layer with one image.

    I don't think the mix rate does anything in my setup. I will try though.
     
  48. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Is there a "Generation Complete" event/message I can hook into to/service?
    For the purposes of syncing with the procedural - on the fly - terrain generation completion.
    Much obliged.
     
  49. CaptCanada

    CaptCanada

    Joined:
    Feb 3, 2013
    Posts:
    272
    Okay, thanks for the reply! I kinda thought so, but wanted to make sure.
     
  50. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Nathaniel,

    I haven't used TC in a while but now need to get my terrains back into it. I have 16 terrains and can't seem to find the auto search to add them. I read the manual and can't find the elusive select menu mentioned that contains the auto search.

    Could you please give me a clue as to where I can find these? Thanks so much. I do have the latest version, so maybe some things have changed since I last used it.