Search Unity

Terrain Composer2 a next generation GPU powered terrain tool.

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

  1. buc

    buc

    Joined:
    Apr 22, 2015
    Posts:
    123
    Thank you met for answering. But how do you cope with performance issues?

    Unity terrain and some assets working on top of that (like for vegetation and shading, etc.) work faster with only 1 terrain instead of having multiple terrains, even when the total amount of heightmap-resolution and tree-count, etc. stay the same for the single terrain solution and the multi-terrain solution.
     
  2. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hey guys...

    My apologies for my long absence. Long story...short...While I gave good support for 5 years since I started on the Asset Store, the last year I didn't have time anymore as I had too much work and support on my plate with our game. I was working on very complex systems, like I made our own networking solution from scratch and our multiplayer game around it. Now that the hardest part is done, I decided to come back and continue with my Assets again (support, fixes and new features). Also I agree with the complaints about non-support, as my Assets still seem to keep selling a little somehow. I think I made nice Assets, and it's a pity to give them up.

    As a start I will make TC2 and WorldComposer compatible with the latest Unity >2018.3, as they still worked in U2018.2.

    Here's the TC2.61 update to make it work in U2018.3. I also fixed a bug in objects generation that didn't make it work if more than 8 preview colors were used. The TerrainLayers of the new Terrain System in U2018.3 are a bit unstable and can make Unity crash as reported in previous posts. It needs to be saved and linked as an Asset in the project, if not it can result in a crash.

    Edit: Download TC2.62 below from a newer post

    Nathaniel
     
    Last edited: Mar 15, 2019
  3. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    839
    Thank you for speaking up and facing everyone. As you know support is a major thing and many lost hope in you, but I think you can earn the trust back by being available again.

    Facing the fire may be hard but it’s the right thing to do.

    I appreciate that you are back and only hope that no matter what happens with your game, you will help everyone else’s games by being available in our hours of need.

    Welcome back to the forums!
     
  4. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    @eagle555 What about Mesh Combine Studio?
     
    MorpheusXI and Captain-Cutwood like this.
  5. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes you are right, I will do my best and thanks for welcoming me back :)

    I will look into fixing the reported bugs and continue working on that as well. We use it in the latest U2018.3 and I'm working on the feature to be able to remove overlapping geometry (geometry that is inside other geometry and is never visible, e.g. overlapping rocks). It can reduce a lot of geometry.

    Nathaniel
     
    led_bet, Weblox and dsilverthorn like this.
  6. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hey everyone,

    I have another Update:

    TerrainComposer 2.62:

    Features:

    * Added compatibility for Unity 2019.1 and Unity 2019.2
    * Draw Instanced toggle in TerrainArea (for U2018.3 and U2019.x)
    * Option to re-use the TerrainLayers for all terrains in a terrain area (for U2018.3 and U2019.x)

    Improvements:
    * Fixed all warnings in U2018.3 and U2019.x

    I will push this update to the Asset Store today. In U2019.2 there's a terrain material again and I changed the TerrainArea prefab to have the default terrain material assigned.

    Edit: I submitted TC2.62 to the Asset Store
     

    Attached Files:

    Last edited: Mar 15, 2019
    ftejada, red2blue, IsDon and 8 others like this.
  7. BrandStone

    BrandStone

    Joined:
    Jul 21, 2014
    Posts:
    79
    Hi @eagle555,
    Thank you for this update!

    Does it also support multiple terrains?
     
  8. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes TC always supported multi terrain tiles.

    Nathaniel
     
    led_bet likes this.
  9. Weblox

    Weblox

    Joined:
    Apr 11, 2016
    Posts:
    277
    +1 for Mesh Combine Studio Update and wb @eagle555 :p
     
  10. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    FWIW, I recently used MCS, in 2018.3, and it seemed to work fine for me. So if there's any buggy behavior you are experiencing and you haven't already noted it, be sure to do so.
     
  11. kaarme

    kaarme

    Joined:
    May 1, 2014
    Posts:
    177
    I get the following error when trying out the sample projects

    ArgumentException: ComputeBuffer.SetData() : Accessing 256 bytes at offset 0 for Compute Buffer of size 128 bytes is not possible.
    UnityEngine.ComputeBuffer.SetData (System.Array data) (at C:/buildslave/unity/build/Runtime/Export/ComputeShader.bindings.cs:124)
    TerrainComposer2.TC_Compute.RunItemCompute (TerrainComposer2.TC_Layer layer, UnityEngine.ComputeBuffer& itemMapBuffer, UnityEngine.ComputeBuffer& resultBuffer) (at Assets/TerrainComposer2/Scripts/Generate/TC_Compute.cs:412)
    TerrainComposer2.TC_Layer.ComputeItem (UnityEngine.ComputeBuffer& itemMapBuffer, UnityEngine.ComputeBuffer& maskBuffer, System.Single seedParent, System.Boolean

    This happens when trying to generate trees or objects.
     
  12. kaarme

    kaarme

    Joined:
    May 1, 2014
    Posts:
    177
    It seems that nodes simply refuse to generate any masks for objects or trees. I am using unity 2018.3.8f1
     
  13. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Thanks for telling. Did you upload the TC2.62 update from above? Did you download and import the example pack with trees and objects? Also are the trees assigned to the terrain?
     
  14. kaarme

    kaarme

    Joined:
    May 1, 2014
    Posts:
    177
    I downloaded the package from above and that fixed it.
     
  15. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    I'm glad it's working now. Still shouldn't give the error though if trees or objects are not assigned, will look into fixing it.
     
  16. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    ftejada, gecko, IsDon and 2 others like this.
  17. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    @eagle555 thanks for the updates on TC2 and WC! I'm happy to see these great assets getting some love. :)
     
    eagle555 likes this.
  18. Captain-Cutwood

    Captain-Cutwood

    Joined:
    Feb 18, 2015
    Posts:
    35
    I just updated my review at the Unity Store of Terrain Composer 2.62 from negative to positive after finding a glitch in the Import and Install process. If one does an Import, then tries to open TC 2.62 from the menu, you get an empty User Interface, lots of red alert errors, and no way to start a new TC project - no UI menu. But, if you Import, then bring in the example Scene - the UI shows up. Also, there are two ReadMe files - one that is in the project folder after Import, but I found the most useful one was not a text file, but information presented in the Inspector Window after the Example Scene is opened. That ought to be a txt file, not hidden in the Inspector - in my opinion.

    So, if you don't load the Example Scene first, you will never see the TEXT in the Inspector for the readme file which comes from the script and not a standard .txt file.

    Here's the text from the Inspector file from the Example Scene for anyone having problems getting TC 2.62 to load and run:

    Quote: "
    Please don't forget to read the ReadMe file in the TerrainComposer2 folder.
    ---------------------------------------------------------------------------------------
    Follow these 5 steps to get this example running:

    1). Download and import the 'Examples' and 'Stamp' package below.
    The 'Examples' pack contains free SpeedTrees and a building that is setup
    for TC2 from Unity's free 'Viking Village'.
    The stamp pack contains high resolution 4k heightmap stamps.
    These packages are not included with TC2 to keep the size small.

    2). Import the Unity 'Characters' package.
    Unity Menu -> Assets -> Import Package -> Characters.

    3). Click on the TerrainArea GameObject. In the Inspector choose a folder to
    save the terrains to (click 'Change' Button). Then click the 'Create' button.
    3x3 terrain tiles will be created.

    4). Open the TerrainComposer2 window:
    Unity Menu -> Window -> Power of Nature Software -> TerrainComposer2

    5). In the TC2 window click the 'Generate' button.

    Done! Everything is generated on the GPU and this gives super fast results.

    Click play and enjoy the view...
    ----------------------------------------------------------------------------------------

    If you have a high end PC you can higher the terrain resolutions:
    1). Click on the TerrainArea GameObject.
    2). Click on the 'Resolutions' tab.
    3). Change heightmap to 1025 or 2049, splatmap to 2049 and grass to 1024.
    4). Click the 'Apply' button.

    If you have a low end PC put resolutions lower. E.g:
    Heightmap to 257, splatmap to 256, grass to 256...

    I hope you will enjoy TerrainComposer2!" Nathan
     
    syscrusher and dsilverthorn like this.
  19. uberwiggett

    uberwiggett

    Joined:
    Jun 26, 2015
    Posts:
    105
    Wow, I had never checked this thread and came online this morning to a tc2 update, fantastic as I was using an old unity install to use it :) super happy now it does 2018.3 thank you!
     
    eagle555 and led_bet like this.
  20. Captain-Cutwood

    Captain-Cutwood

    Joined:
    Feb 18, 2015
    Posts:
    35
    TC 2_6_2 Blank.JPG


    This is what you get if you don't have the Example Scene loaded after Import, and just use the Window\Power of Nature Software\ TerrainComposer2 selection. But with the Example Scene loaded all proceeds as described in my previous post, without the 999+ errors.
     
    Last edited: Mar 18, 2019
    syscrusher and dsilverthorn like this.
  21. uberwiggett

    uberwiggett

    Joined:
    Jun 26, 2015
    Posts:
    105
    I'm guessing that would be because there is no terrain exisiting in the blank scene until you generate one. So it is trying to find the layers that don't exist. Have you tried spawning a terrain using the tc2 terrain tool and seeing if you can clear the errors after that?
     
  22. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Thanks for pointing this issue out and updating your review. There went something wrong on your side as I didn't make it this way. TC2 should run and import fine without the stamp pack and example pack as they are optional. The reason I put them modular is to keep the TC2 package size small.

    I downloaded your Unity version and imported the TC2 from the store, all fine on my side:
    upload_2019-3-19_7-31-3.png

    What I notice on your side is that you have 2 "TerrainComposer2" GameObjects in the hierarchy. This shouldn't happen. I'd like to reproduce your issue so I can fix it.

    Can you tell me the steps how to reproduce it? Did you have the old version of TC2 in your project?

    Nathaniel
     
    syscrusher likes this.
  23. Captain-Cutwood

    Captain-Cutwood

    Joined:
    Feb 18, 2015
    Posts:
    35
    Yes, I don't think the two game objects are any worry - that only shows that I attempted to open a TC Project through the upper Window menu system twice and got the blank UI twice.

    Today I have tried to reproduce the problem but it has gone away - somehow. I start Unity 2018.3, create File 'New Scene' then use Window etc. Terrain Composer 2 - and with a short delay this works to bring up the UI. Perhaps there was some odd information the other day saved in the Unity 'Cache' - which in the meantime since the other day I erased out. My guess is the 'Cache' data was involved plus the other confusion had over installing, due to not having used the software such a long time leading to the latest update import.

    Thank you for the attention you have given to this now again. May we all return to better days ahead. Only suggestion might be now to re-write the 'Read Me' text file including more install advice and probably mention procedure to users to clean old data from the 'Cache' if possible prior to running TC 2.62 for the first time.
     
  24. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    The 2 GameObjects are of a worry because it means that there's two TerrainComposer2 setups in your Scene. This should not happen.

    The `Cache` is GI cache of the lightmapping system, this is not related. Somehow you triggered a bug...I wonder how to reproduce it.

    As for the Readme it references to the documentation and also in the TC2 window there's a flashing `Documentation` button:
    http://www.terraincomposer.com/terraincomposer2-documentation/

    In the documentation are all the steps to get started. The readme in the Example Scene is specific for this Scene and doesn't apply to an empty TC2 project.

    Nathaniel
     
  25. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    Could it be a race condition during initialization after a new install? I ask because I had a bug like that in my Magic Markers package. Fortunately the bug happened in my pre-release testing and was fixed, but it was a pain to try to replicate and fix it. My bug turned out to be some Start() methods that were assuming a predictable order across class boundaries when that isn't guaranteed by Unity.
     
  26. DominicBridge

    DominicBridge

    Joined:
    Jan 19, 2019
    Posts:
    1
    Hello Eagle55.

    Just bought TerrainComposer2 and I'm loving it so far. I do have a couple of questions though.

    1) Since the "how to make a terrain from scratch" tutorial is quite old. I find myself getting wildly different results, is it possible to make a new video? (There is also many more options now)

    2) I find when I place stamps onto a height map, that although it render in scene, it doesn't render in that box.

    3) I also bought RTP too, is there an effective way of doing rivers/oceans with TC2 & RTP?

    4) You seem to have bigger render distances than me. Is this just the camera near/far or another option?

    Cheers!

    Dom

    Edit: Regarding the bug above. I just started a new project, opened one of other examples(ExampleConvexity) I think. This was a purple scene(Missing Textures?) and was throwing lots of console errors. Reopened exampleMountainVillage and got same error:
    http://prntscr.com/n2bwie
     
    Last edited: Mar 24, 2019
  27. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hi Dom,

    Thanks for the purchase, I'm glad you like it.

    1). The tutorial is still valid as the basic functionality is the same. I'm looking into a new showcase and tutorial video for TC2, first will add the feature to be able chooses distances between trees/objects related to other trees/objects.

    2). Can you show a screenshot of the TC2 window of the node not displaying the stamp?

    3). For ocean you just need to put water, can be build in Unity water or more advanced water solution on the Asset Store. As for rivers it needs overlay meshes, for that River Auto Material is probably the best:
    https://assetstore.unity.com/packages/tools/terrain/r-a-m-river-auto-material-101205

    4). It's a matter of putting camera far plane higher.

    As for the error can you show a screenshot of your Unity window including the console with the error?

    Nathaniel
     
  28. BrandStone

    BrandStone

    Joined:
    Jul 21, 2014
    Posts:
    79
    Hi Nathaniel,

    Does TC2 support HDRP?
     
  29. eagle555

    eagle555

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

    Yes TC2 and WorldComposer do support it as they use build-in Unity terrain which support HDRP and LDRP.

    Nathaniel
     
    ftejada and BrandStone like this.
  30. Weblox

    Weblox

    Joined:
    Apr 11, 2016
    Posts:
    277
    @eagle555 - any news about MCS update?
     
  31. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    I'm currently working on the MCS update, it's my next step planned.

    Nathaniel
     
    hopeful, Quique-Martinez and Weblox like this.
  32. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hi everyone,

    I have another update with fixes:
    * Using splatmap textures for input wasn't working for splat 8-16.
    * Generating trees/objects was giving errors without having generated a heigthmap first.

    I will submit it to the Asset Store as well.

    Nathaniel
     

    Attached Files:

    Seneral, ftejada and dsilverthorn like this.
  33. Beral

    Beral

    Joined:
    Feb 9, 2018
    Posts:
    7
    Hello Nathaniel,

    I am glad for your return. Well, I have been using TC2 for a year at least, and it is an excellent tool, but there is a bug that is very disgusting for me, and it has been happening since then with all versions. The bug is that after a time working with TC2 (opening and closing the scene, saving... etc., a typical workflow), the TC2 Inspector disconnects of the terrains and it is impossible to apply properties from the inspector window. For example, I cannot change the tree billboard distance, the grass distance, the grass heigh, etc..
     
  34. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hi Beral,

    Yes that's annoying, I'd like to fix that. Do you get any errors if this happens? You have a screenshot of the Unity console?

    Nathaniel
     
  35. Beral

    Beral

    Joined:
    Feb 9, 2018
    Posts:
    7
    No, sorry there are no messages or exceptions displayed on the console.

    PS: Is there any way to have color variance when EC2 places trees (like the vanilla terrain editor)
     
  36. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Extremely glad you're back, @eagle555 !

    Can you help me with this question/issue? I don't understand how the grass/detail object scaling works. The variables in TC2 are "Random Width" and "Random Height" which do not correspond to the Unity grass/detail object variables of Min/Max height and width. What does "random" mean -- is that the average width and height? and then what's furthermore odd is that the grass objects that are planted on the terrain, if I view the popup about them on the terrain, the Min Width and Height is always 0.5, and the Max Width/Height is a smaller value but not what I put for Random. So I'm completely confused about how to set my desired grass sizes.... Can anyone illuminate this for me?

    Also, the "Scale Multi" value at the bottom of the Grass/Details inspector seems to adjust all scaling -- that value is used for the Min Width/Height, and then that value is multiplied by the Random values for each object's Max Height/Width....which seems completely bizarre, since that ensures that the Max Width/Height will always be smaller than the Min Width/Height. So I must be misunderstanding something....
     
  37. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    When this issue happens are you sure that the `Editor` button is selected and not the `Runtime` one?
    upload_2019-4-3_11-6-20.png

    Tree color variation should be setup with the alpha of the Hue color in the speed tree import settings. Or are you using non Speed trees?

    upload_2019-4-3_11-5-2.png

    Nathaniel
     
  38. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Thanks for welcoming me back :) Yes indeed this doesn't seem to be displayed correctly. I made a fix for it and shows now like the grass setting.

    Nathaniel
     

    Attached Files:

    Seneral, gecko and hopeful like this.
  39. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Thanks SO much!
     
  40. gozdagb

    gozdagb

    Joined:
    Feb 23, 2014
    Posts:
    71
    It's great that the package is backed up again. This is my number one.
    It has a big advantage over GAIA and does not generate compatibility problems like MapMagic. And it has a lot of flexibility.
    I'm starting a new big project and I definitely want to use it.

    I have a few questions:
    What does compatibility with VegetationStudio look like?
    Does "Manual Object Placement" work in real time?
    If it works in real time, is RTP able to replace textures there?
    Will there be tutorials showing work with the new Unity 2018.3+ site?
    Is it possible to do every time I start the game, the area looked a bit different?
     
    uberwiggett likes this.
  41. uberwiggett

    uberwiggett

    Joined:
    Jun 26, 2015
    Posts:
    105
    native compat with vege studio would be amazing, though really VS already works on it. I've always just exported my terrains into a project with VS and worked on it from there, but I can definitely see an in built link being very effective.
     
  42. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    I'm glad you like it. TC2 creates standard Unity terrain and VegetationStudio uses standard Unity terrains too, so they are compatible. VegetationStudio is replacing Unity terrain trees and grass and has it's own rules for placement.

    Yes TC2 works in runtime and you can do the same as you do with the Unity Editor. There's not really new tutorials needed for +U2018.3 as Unity terrain still works the same as before.

    As for changing terrain that's shouldn't happen, if it's the case can you show me screenshots of how it changes?
     
  43. SgtLame

    SgtLame

    Joined:
    Nov 26, 2015
    Posts:
    129
    Hi Nathaniel,

    Since you are back, maybe the author of the Horizon[ON] asset will give support again too. Do you have some information?
     
  44. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Hi SgtLame,

    I asked him, but at the moment he doesn't consider it.
     
  45. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    Want to add something for VegetationStudio, in my 'modification backlog' or whatever you want to call it, I have a version where it would auto-update VS whenever TC2 changes the terrain. Without it, it would result in flying trees and stuff until you manually update.
    I'm not a 100% sure this is everything, but as far as I remember it is. Can't test right now since it's late and I don't have a TC2+VS setup atm. Add this snippet to TC_Generate/l.1142 below the computation in the ComputeHeight function:
    Code (csharp):
    1. #if VEGETATION_STUDIO
    2.                 Vector3 areaSize = TC_Area2D.current.bounds.size;
    3.                 Vector3 boundSize = Vector3.Scale(areaSize, new Vector3(generateRect.width, 1, generateRect.height));
    4.                 Vector3 boundsPos = Vector3.Scale(areaSize, new Vector3(generateRect.center.x, 0, generateRect.center.y));
    5.                 boundsPos += TC_Area2D.current.currentTerrain.transform.position;
    6.                 changedBounds = new Bounds(boundsPos, boundSize);
    7.                 AwesomeTechnologies.Common.VegetationStudioManager.RefreshTerrainHeightMap(changedBounds);
    8. #endif
     
  46. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    @eagle555 Similarily, I also have another old version flying around that adapts the partial generation code I used for TC2NP (which essentially means it only generates/updates where a change happened) and applied it to all node transformations and general modifications.
    Will have to spend some more investigation, diff and updating to the newest version to get it running but if there's interest, I'll do it.
    What you can hope to get from it: If you have a big terrain (2x2 tiles or more), the terrain update will happen WAY faster if you move more or less small nodes by excluding generation for unmodified terrain.
    Works in all cases as far as I remember, so if the node is set to span the whole terrain it will of course still update the whole terrain and probably take some time.
     
    eagle555 likes this.
  47. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Would be cool yes to implement it into the latest version. I will add the vegetation studio snippet for the next update. I thought I included your partial terrain updating...

    Nathaniel
     
    ftejada likes this.
  48. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    Oh could be, just had it in the back of my mind still along with the VS one. Will check when I'm home.
     
    eagle555 likes this.
  49. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    Ok reviewed both patches, forgot something in the VS one, I attached the full patch file (you can open it with any text editor and add the lines manually, it's not much).
    After checking it again, it is NOT very fast. Even if it is a small area that get's changed.
    Maybe some interval updating would be more apropriate that does not update as fast as TC2 does?

    As for the Partial Generation for all nodes, I verified it was not yet merged into TC2 so I also attached that patch file. It's alot though so I don't recommend manual patching. @eagle555 I'll send you the package aswell, and if you're ok with it, I'll also upload a unitypackage with only the modified files in it like all your updates later.
     

    Attached Files:

    nirvanajie, syscrusher and eagle555 like this.
  50. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    I used TC2 to create my terrains (8x8 tile set) last year, then when it stopped working with 2018.3, I did some manual modifications of topography and splat painting. Now that TC2 works with 2018.3, I really want to use it for tree, grass, and detail object placement -- but I don't want to lose the manual work I've done on my terrains. I don't recall a way to set up TC2 with an existing set of terrains, but can't check because terraincomposer.com seems to have gone away. Is there any way I can do that -- point TC2 to an existing 8x8 set of terrains and set up nodes for vegetation?