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
    Hello Everyone,

    I released a new TC2 update 2.4 with the following release notes:


    Features:
    • Can use images directly in color select nodes. This allows for a new way of colormap stamping. (WorldComposer integration).
    • Splat- and grass texture limit now on 16 instead of 8.
    • RTPv3 Preset with TerrainComposer2 terrain textures. To have instant good results with TC2 + RTPv3.
      Preset is in folder TerrainComposer2/Examples/Presets/RTPv3/RTPv3_Preset0 (Needs to be loaded from ReliefTerrain script in 'Main' presets).
    • Lerp slider for tree/object scaling according to mask.

    Improvements:

    • Lock TerrainArea GameObject scale to prevent scaling this by accident which would result in terrain tile gaps or overlaps.

    I had a few request to increase the splat texture and grass texture limit to 16, so I implemented this as well. Tomorrow I will update the documentation.

    Nathaniel
     

    Attached Files:

    buttmatrix, Alverik, No0B25 and 4 others like this.
  2. Kolyasisan

    Kolyasisan

    Joined:
    Feb 2, 2015
    Posts:
    397
    I don't understand something precisely... The asset store video showed us that TC2 can stream data dynamically, but I don't see this feature in the docs. How can we do that great streaming with culling? It really looks awesome.
     
    ftejada likes this.
  3. gghitman69

    gghitman69

    Joined:
    Mar 4, 2016
    Posts:
    93
    Hello
    Someone can share prefabs of prepared ground please
    Who can make a video "How to export a complete terrain with tree and texture ... in another project"
    please help noobs :p
     
    wmpunk and ftejada like this.
  4. kaamos

    kaamos

    Joined:
    Aug 6, 2013
    Posts:
    48
    How do I reduce the density of trees being spawned within a given biome without reducing the tree resolution on the tree output node? Adjusting the curves and 'darkening' the tree splatmap for a given biome only shrinks the trees spawned in that biome
     
  5. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    This needs TC2 at runtime, the script that moves the terrains is almost ready. It will be there in one of the next updates.

    You can just make a prefab of the TerrainArea GameObject (to make a prefab drag and drop it in project window is some folder), and can remove the TC_TerrainArea script from the prefab. Then you can right click the prefab and choose export as Unity package. Make sure the TerrainData and all splat and grass textures are included and also tree prefabs. Exclude things that aren't related. Then save the package.

    You can import the package into another project, then drag and drop the TerrainArea prefab back into the Hierarchy window.

    I made 'Opacity' (reduce it) on the tree nodes and tree group nodes for this.

    Nathaniel
     
    Alverik, Mark_01 and hopeful like this.
  6. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Hi @eagle555

    Maybe it's a silly question. But with what program do you convert the .raw files to be generated when exporting the Heightmap with TC2?
    I'm trying with Photoshop but it says "Sorry, I could not process the following files: ..."

    Another question: What is the "Normalmap" that can be exported? And Where would that NormalMap apply?

    I feel if the questions are basic but I'm starting with TC2

    Regards
     
  7. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    Hi Nathaniel

    Update about RTPv3 integration was not I expected, but it will be very helpful for quick prototyping and for start to learn how to use RTP, I think.

    By the way, taking about texture limitation, I've heard that RTP developer and you planning that unlock 8 layer limitation for terrains before. Any progress have you made?

    regards,

    Ryuichi
     
  8. wmpunk

    wmpunk

    Joined:
    Sep 5, 2015
    Posts:
    71
    Hello, I don't own Terrain Composer2 but am considering purchasing it. I was wondering if you could answer a few questions for me?

    So I've tried both Gaia and MapMagic, both are amazing products but don't fully meet my needs. The terrain for my projects needs to be large enough for the player to take roughly a hour to travel and theirs no way I'm going to hand sculpt a terrain that size so procedural generation is a must. There are also quiet a few key locations where I want absolute control of design so what I'm probably looking for is both a procedural and stamp base system and after watching your videos it seems like TerrainComposer might be what I need. I have a specific workflow in mind and was wondering if this is plausible for the system.

    basically I want to stamp/sculpt out the basic layout of the terrain, splat paint the biomes and proceduraly fill in the rest. Then from there I want to increase the size of the terrain and stamp/sculpt key points and add in more procedural detail. Then I just want to loop the process of increasing the map size and fine tuning my key areas and stacking/tuning the procedural parts until the terrain is too large to effectively edit like this or view in the editor. Than last phase I should have all my key locations pretty nailed out and just have to do a final detail/design pass on them. Is this process possible with MapMagic?

    Also can you provide a little insight or detail/limitations on how the terrain streaming works? I have a harvest-able tree system in the works so is this plausible for the streaming? IF streaming only works on terrain auto generated would it be possibly to bake the tree data and just load them in when tiles are generated? (to keep trees that are chopped down from re-spawning)

    Thanks for your time!
     
    ftejada likes this.
  9. imaewyn

    imaewyn

    Joined:
    Apr 23, 2016
    Posts:
    211
    Hello, dear Nathaniel)) As always I forget how to solve problems that was already solved))
    Some time ago I've had colormap seams but they disappeared (maybe after update RTP or TC)
    Now colormaps generating correctly but after export I see it again
     
    recon0303 likes this.
  10. mons00n

    mons00n

    Joined:
    Sep 18, 2013
    Posts:
    304
    Hey @eagle555 , has there been any progress on fixing the osx issue? 5.6 released today and I'd really like to start playing around with TC2 on my mac!

    I just created a fresh project in 5.6, downloaded TC2 and applied your 2.4 update above and have a blank canvas in the TC2 tab.
     
    pcg and PeterB like this.
  11. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    I see this as well.
     
  12. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    a few posts above you shows the update that he did increase it to 16....
     
    Flurgle likes this.
  13. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Hey All,

    How do I get TC2 to not automatically set the Detail Distance to 80, Im trying to set it higher but it gets set back down at start.

    Thanks in advance!
    Will,
     
    doq likes this.
  14. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    You can open the raw files in photoshop, the import settings you can find here:
    http://www.terraincomposer.com/terraincomposer2-documentation/#stamps

    The normal map can be used in a third party terrain shader that supports normal maps, like RTPv3. With a normal map you can make the terrain look more detailed then it actually is.

    Like Recon says in the last update I raised the limit to 16 for splat and grass. More doesn't make sense for performance. Trees and objects variation are unlimited.

    TC2 workflow is perfect for this I would say. Because TC2 generates in world space and supports multi terrain tiles, you can easily expand or shrink your terrain size.

    The terrain streaming is a feature that is planned for the next update. It needs a script that moves the terrains around. It needs DX11 for TC2 to be able to generate at runtime. You could also use WorldStreamer which loads tiles in and out of memory from disk.

    Nathaniel

    This has to with image export settings. Need to set wrap mode to 'Clamp'.

    Did you change it for runtime in settings? As you can change it for editor and runtime separately.

    Nathaniel
     
    Ryuichi173 and recon0303 like this.
  15. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    I have this planned for the next update.

    Nathaniel
     
    Mark_01 and pcg like this.
  16. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Hi @eagle555

    I do not think I've explained myself well or I did not understand you.
    My problem is that I can not transform a .raw file to jpg, png, etc format. In order to apply these heighmaps in .jpg format ...
    I see that in the sample projects you have .raw files in a folder and that you also have those "stamps" in another format ... I think .jpg, although I do not remember well

    I know that this is not a TC_2 problem, but it was in case someone or you happened to the same problem as me and know how to solve the problem...



    regards
     
  17. No0B25

    No0B25

    Joined:
    May 2, 2016
    Posts:
    70
    I'd advise against using a lossy compressed format like JPG for stamping stuff on your terrain. There's a chance you'll see the compression artifacts of the stamps on your terrain. Better use the uncompressed RAW files.

    If you really need to conserve project size, at least use PNGs. I can just open them in Photoshop and save them as whatever. The RAWs are 16-bit. I need to enter the correct size (like 2048x2048px or 4096x4096px) though.

    EDIT: Oh yeah! Nathaniel, is there anything wrong with what I'm doing that I get this message after upgrading to 2.32 and then 2.4? It doesn't disable the corresponsing nodes and shows up even when I disable all nodes using a Splatmap as input.

    https://vgy.me/iq4uAA.png
     
    Last edited: Apr 2, 2017
    ftejada likes this.
  18. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Okay how do I change the grass settings so it doesnt change back at runtime, Ill doing some research on it but its hard to find quite the solution im looking for.

    Thanks again,
    -Will
     
  19. imaewyn

    imaewyn

    Joined:
    Apr 23, 2016
    Posts:
    211
    I've tried to set clamp mode and do export, set continious mode and do export. Seams don't disappear in all cases. Please look the video... maybe I change settings in wrong place)
    by the way I accidentally set 10424 instead 1024 in Size x node settings. And the result was exactly the same with 1024x1024. Final size depends on min value?) I didn't want rewrite video because of this)))

     
  20. PiAnkh

    PiAnkh

    Joined:
    Apr 20, 2013
    Posts:
    126
    I am having very regular crashes when I generate trees with TC2. I use a a texture files to generate various biomes, orchards, forests, wheat fields etc) but as soon as my graph gets a bit complicated I get regular crashes.
    The strange thing is I use the same texture files for generating the grass and splats without any problem.
    Have anyone else had similar problems?

    thanks
     
  21. Ryuichi173

    Ryuichi173

    Joined:
    Apr 12, 2015
    Posts:
    141
    Thank you recon and Nathaniel for answer!

    Then I have a question. When I want to make variety of biomes and needed more pattern of textures for that, it is recommended change group of textures which applying to terrain manually? or does TC2 already has a solution for that situations?

    regards
     
  22. Ai_Player

    Ai_Player

    Joined:
    Feb 18, 2013
    Posts:
    5
    Since I upgraded to Unity 5.6 , I am getting these errors

    Assets/TerrainComposer2/Scripts/Misc/MyHandles.cs(37,98): warning CS0618: `UnityEditor.Handles.DrawCapFunction' is obsolete: `This delegate is obsolete. Use CapFunction instead.'

    Assets/TerrainComposer2/Scripts/Editor/TC_ItemBehaviourEditor.cs(412,25): warning CS0618: `UnityEditor.Handles.SphereCap(int, UnityEngine.Vector3, UnityEngine.Quaternion, float)' is obsolete: `Use SphereHandleCap instead'

    Then after I updated to TC2_Update_2.4.unitypackage I am getting 3 more warnings.

    Assets/TerrainComposer2/Scripts/Editor/TC_ItemBehaviourEditor.cs(428,25): warning CS0618: `UnityEditor.Handles.SphereCap(int, UnityEngine.Vector3, UnityEngine.Quaternion, float)' is obsolete: `Use SphereHandleCap instead'

    Assets/TerrainComposer2/Scripts/Editor/TC_ItemBehaviourEditor.cs(43,75): warning CS0414: The private field `TerrainComposer2.TC_ItemBehaviourEditor.splatCustom' is assigned but its value is never used

    Assets/TerrainComposer2/Scripts/Editor/TC_ItemBehaviourEditor.cs(43,88): warning CS0414: The private field `TerrainComposer2.TC_ItemBehaviourEditor.splatCustomValues' is assigned but its value is never used

    Anyone else ?
     
  23. MakeGames2

    MakeGames2

    Joined:
    May 23, 2016
    Posts:
    82
    Those all show as warnings in the message, rather than errors. It says warning right in the message so maybe they are just warnings, especially since one of them matches a warning I'm getting that does show as a warning. However when I first imported the 2.4 package from this post in Unity 5.6 after upgrading I did get a couple errors that I didn't copy and those went away after I restarted Unity. I still do get these warnings though:

     
  24. jdraper3

    jdraper3

    Joined:
    May 28, 2015
    Posts:
    117
    Just looks like obsolete api warnings and unused private fields to me, which shouldn't cause any issues.
     
  25. BigBite

    BigBite

    Joined:
    Feb 20, 2013
    Posts:
    108
    How do you use the "Height Detect Range" on the Collision Node? Tweaking it doesn't seem to do anything. The node is outputting pure black where it detects my building, causing blending modes like Multiply, Min and Subtract to flatten the terrain to Origin Y(0). I would like to be able to detect the height of the building and flatten out the terrain to the bottom of the building. Don't know if I'm doing something wrong or if it's just a bug.

    Also, it would be nice to have portals. Having to do the same node setup for all the Generators is one thing, but then having to go to all of them when you change something and update them to match is not ideal.
     
  26. D3Duck

    D3Duck

    Joined:
    Dec 25, 2014
    Posts:
    45
    (edited)

    Had a question but found the answer! This looks awesome, buying tonight.
     
    Last edited: Apr 10, 2017
  27. BigBite

    BigBite

    Joined:
    Feb 20, 2013
    Posts:
    108
    Also, how do we work with imported Heightmaps? I've imported one from World Machine and applied it to the terrain manually, however, TC does not seem to respect it. I can't splat the terrain because it won't sample angles from the imported terrain, it instead keeps sampling from a terrain I created with TC whose nodes are disabled. I'm not sure how to get the imported data to be acquired by TC. Any suggestions?

    Edit:
    I should point out that I tried using the File node with the mode set to Raw Image. I can't drop my heightmap into the node tho, maybe I have the wrong "raw" format? I can't see how because the heightmap is greyscale, and Unity does not recognize images in greyscale "mode". So I'm not sure if the File node is really the way to go. Converting it to RGB seems to introduce artifacts (image banding).
     
    Last edited: Apr 10, 2017
  28. Xander93

    Xander93

    Joined:
    Feb 22, 2013
    Posts:
    14
    How can i use world composer with terrain composer 2????
     
  29. strich

    strich

    Joined:
    Aug 14, 2012
    Posts:
    374
    @eagle555 really cool plugin! I am developing a game where I need to modify the terrain in real-time for both the visual side of the terrain as well as the physical side for vehicle simulation. Could you please confirm that this kind of scenario is possible with TC2? I see some notes in the features about such a thing. Do I have access to the terrain textures via compute shaders with global texture properties?
     
  30. pcg

    pcg

    Joined:
    Nov 7, 2010
    Posts:
    292
    Do you have an ETA for the mac version?
    Thanks
     
  31. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Two sorta quick questions.
    1. Looking at the terrain options in the inspector, where you see the terrain buttons in a grid, would it be difficult to make it so that if you left-click on one of the terrain "buttons", it disables/toggles that terrain? The reason for this would be, if you have many large terrain grids, you can hide/show them and save performance by hiding the ones you are not currently editing. I guess this would save on updating the terrain heightmaps with node results. I'm going to see what I can put in, but if it is already possible please let me know :)

    2. Something that we've noticed is, if you want to create a planet terrain by using a cube mapped sphere, it's...a huge challenge to find software to do that. Like...I'm not aware of ANY that do it.
    It's a sphere made up of 6 terrains (up, down, front, back, left, right). But the big challenge is, being able to seamless transitions between the terrain edges. I'm going to try to hack this into TC2, but it would fill a pretty big need (even though it is somewhat niche).

    If I can provide any more information, I'd be happy to discuss.

    Anyway...thanks for the awesome tool.
     
  32. MatthewHarmon

    MatthewHarmon

    Joined:
    Mar 5, 2015
    Posts:
    24
    Hi All. I know this sounds simple, but I can't figure out how to blur the results of my heightmap layers.

    I know a blur node can't be the first node in a layer, but I can't figure out how to get the output of all the previous layers to be the first "parameter" in a layer that is to be blurred. Perhaps I am missing something in the docs.

    Assuming I can get this to work, I'm guessing I could then add a mask to only blur a portion of my resulting terrain?
     
  33. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    The documentation doesn't seem to cover several functions, any way this could get some updates?
     
  34. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    I did this once by exporting the terrains to mesh in runtime and manipulating them into curves, but tranferring the splatmaps and all I never got to work properly. I'm sure it's possible though.
     
    jc_lvngstn likes this.
  35. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Forgive me if this is answered somewhere already, but when you say the terrain generation is "GPU-powered", you just mean when you're generating the terrain in the Unity Editor, right? In the actual game, it's still just a standard Unity terrain?
     
  36. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    Correct. Terrain creation / modification is GPU-powered in the editor. After you make it, everything runs fairly normally in Unity.
     
  37. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    GPU's are good at lots of tiny calculations which terrains require and is MUCH faster than CPU terrain generation which is faster per task, but can only do a couple of things at once. The terrain that gets generated in the end is the same both processes, both in the editor and in runtime. It's actually sending the data to be processed by the GPU, not just for displaying purposes in the editor, but actual generation math.

    Ah.. I'm answering differently because I use runtime generation... if you're only generating while in the editor then ya there's no difference in runtime. If generating runtime its very different.
     
  38. BigBite

    BigBite

    Joined:
    Feb 20, 2013
    Posts:
    108
    I can't seem to work with more than 8 textures. I'm also using RTP in case that matters

    Edit: Never mind. I started out with 4 textures, adding the additional 4 in RTP creates the layers with all settings at 0. This includes the Saturation and Brightness settings, causing the layer to look black. FYI.
     
    Last edited: Apr 12, 2017
  39. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    RTP does not support more than 8 textures fyi.
     
  40. strich

    strich

    Joined:
    Aug 14, 2012
    Posts:
    374
    Thanks for clarifying. Can you tell me a bit about the physics side of it though? AFAIK one has to send back the terrain info and regenerate the Unity Terrain component to get a new physics volume, which is expensive. Is this avoided by doing some kind of other physics checking?
     
  41. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    @strich it's only used for the initial calculation. Once the terrain is understood by the engine it's stored in memory for reference. Any physics calls against the terrain collider or calls against the mesh will pull the data they need from memory and act as normal. Only the threaded calculations prior to the actual "switching on" of the terrain are acting different in TC2. I'm pretty sure it's the fastest terrain -generator- on the asset store.

    does that answer your question?
     
  42. strich

    strich

    Joined:
    Aug 14, 2012
    Posts:
    374
    I think so. However for my solution I'll be making runtime changes to the terrain all the time. Which means I cannot settle for doing it once. :/
     
  43. BigBite

    BigBite

    Joined:
    Feb 20, 2013
    Posts:
    108
    I meant 8 textures total, sorry.
     
    malkere likes this.
  44. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    Ah. I don't think TC2 interrupts the reprocessing of the collider (which includes tree colliders by default) generation in anyway so any updates to that would be just as fast/slow as any other option. TC2 only enhances the initial generation. If you're making changes directly to the terrain code in runtime you're bypassing TC2, but you're also not generating anything new as that's all stored in memory once it's in game once... I'm not sure there is any way around collider recalculation, nor have I ever heard anyone complaining that that is any significant cause of fps loss. There's always a way to make it better yourself, but it's not always worth the effort.
     
  45. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Thanks, I've actually found a way to handle this with TC2, it requires some scripts to do some fancy blending between the face edges.

    TC2 is an awesome terrain editor, we much wanted to use it...and honestly...there aren't any other options that I'm aware of that allow you to generate the cubemap terrains. Probably some proprietary stuff. L3DT has a script which sorta works...but not completely.
    Honestly...if TC2 had some built in support for this, it would be slick but I understand there are higher priorities.
     
    Last edited: Apr 12, 2017
  46. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    764
    hi there,

    Is it possible to create big mountains with Tc2, on a small terrain with low res, texture it and export the whole thing into a mesh to create mountains meshes like this:

    TLOZBreathoftheWild_Review.jpg
    if anyone knows the process please give the steps...
    thanks in advance
     
  47. imaewyn

    imaewyn

    Joined:
    Apr 23, 2016
    Posts:
    211
    Hey guys. Is there anyone who figured out with splatmaps?
    I've tryed to multiply two colors and recieved black as on next image (but node is red). Should it be?



    How do splatmaps work for 8 layers? I understand when we use 4 layers, then every texture can use per one channel, but what occurs with 8 layers? F. E. If i will add blue to red color I will get purple...but I already have texture which using for purple. What result I will see on terrain? If it will be "purple" texture then what's the point in red and blue color mixing? I can paint purple in one fell swoop...

    Also when I paint two textures with different opacity I see some ripple like tiling.
    Separatly both of textures adjusted in RTP and displayed correctly.



    Question about seams are still opened))

    I use world machine or geoglyph for similar tasks . They have interesting terrace generators)) After generating you can export heightmap to TC2)) But maybe TC already have presets you need. It maybe make sense to separately generate each mountain, and then move manually in TC2
     
    Last edited: Apr 13, 2017
  48. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    764
    Thank you for your answer, i guess that's what i have been doing till now.:) I was thinking of creating meshes with tc2. I guess ill have to do it with TC1. I think big meshes instead of terrain will use less ressources.

    Didi you try to check your node in the inspector? playing with curves....?
     
  49. imaewyn

    imaewyn

    Joined:
    Apr 23, 2016
    Posts:
    211
    If you want to prepare landscape with textures once I think it's good desigion. But if you want to do adjust something in unity editor you need terrain or write own shader wchich still will be worst then unity terrain)

    Yes I've played with curves but disable them because what did I show should be work without extaoperations...Or I don't understand something. If some can do the same and check result while I wait eagle555 that's wiil be great
     
    Last edited: Apr 13, 2017
  50. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    764
    HI all,

    I need some help with TC 1.96; i convert terrain to mesh but i dont know how to get the textures? i can export a splatmap but its red an black, i want to export the textures to put on the terrain material...
    Can somebody help?
    thanks in advance