Search Unity

  1. If you have experience with import & exporting custom (.unitypackage) packages, please help complete a survey (open until May 15, 2024).
    Dismiss Notice
  2. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview 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. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    (Post deleted; problem apparently stemmed from using MAD Optimizer, which moves files around -- normally that doesn't create errors with TC2, but something went screwy this time. Sorry for the false alarm)
     
    Last edited: Oct 10, 2017
  2. Yon940

    Yon940

    Joined:
    Aug 26, 2017
    Posts:
    6
    hello,
    I'm having some problems with my terrain made by TC2.
    The first problem is editing the first layer (height) after I finished the terrain
    The second problem is that the terrain have a "frame" and I cant get rid of it
     

    Attached Files:

  3. coverpage

    coverpage

    Joined:
    Mar 3, 2016
    Posts:
    385
    Hi, is it possible to add a parenthesis feature. Like in mathematical expressions, those expressions in parenthesis will be done first. Same way the for the operators joining adjacent blocks (add, subtract, min, max, lerp etc) can we add parenthesis feature so that certain operations can be done first.
     
    Seneral likes this.
  4. LondonStevey

    LondonStevey

    Joined:
    Jun 26, 2015
    Posts:
    33
    Hey Nathaniel,
    Thanks for looking at the rounding error. Do you have a release date planned for these fixes? Or any chance you could mail me the updated .cs if its something in one file. Thanks! :)
     
  5. Loki1969

    Loki1969

    Joined:
    May 28, 2017
    Posts:
    1
    Hey Guys,
    TC2 new user here. Created 1x1 terrain, added height map detail and then added some textures in the splat map section. Everything works as expected until I try adding a mask to the splat. Unity freezes and I can't seem to do anything but shut it down. Any ideas about what I might be doing wrong? Any help on this matter would be greatly appreciated.
     
  6. WileE

    WileE

    Joined:
    Apr 12, 2016
    Posts:
    21
    Please advise as to the status of the Terrain -> Convexity filter node. I cannot find any settings, either for convex or concave mode that appear to have any affect on the terrain.

    If there is documentation for how to apply the settings, that would be a help.

    If this feature is known to be broken, that would be good to know.

    Running TC2.58 on macOS 10.12.6 with Unity 2017.1.2f1

    Thank you!
     
  7. Tight-Tie

    Tight-Tie

    Joined:
    Oct 6, 2013
    Posts:
    13
    Hello
    File-Image color mode doesn't work for black color
     
  8. Tight-Tie

    Tight-Tie

    Joined:
    Oct 6, 2013
    Posts:
    13
    Hello
    When I'm trying to use texture numbers from 9 to 16 they draw just black areas
     
  9. WileE

    WileE

    Joined:
    Apr 12, 2016
    Posts:
    21
    Appears to be a bug in the number of splats the Terrain -> Splatmap node can use.

    Running TC2.58 on macOS 10.12.6 AND Windows 10 with Unity 2017.1.2f1

    After creating a fresh project and setting up brand new terrain tiles with 10 splats, I am able to the splats greater than 8 to render on the terrain. (This failed on an older project that had been upgraded across Unity versions and TC2 versions).

    However, I still can't use splat greater than Terrain Area splat index 7 to work as a Terrain -> Splatmap Node for grass distribution. Splats 0 - 7 will work. But not splats 8-15 (also an inconsistently in the numbering of splats between the splat assignment nodes, which are 1 based indices and the Terrain -> Splatmap node, which is 0-based).
     
  10. WileE

    WileE

    Joined:
    Apr 12, 2016
    Posts:
    21
    I have a dual splat layer with a select group on it, which is working fine.

    But then trying to apply a mask group with a Current -> Blur node applied to a black and white image (set to clamp in texture import), the blur effect creates artifacts at the seams of the terrain tiles. This goes away when the blur is turned off. A version of this occurs in all of the Blur modes.

    Happens in TC2.58, Unity 2017.1 and 2017.2 on macOS 10.12 and Win 10.

    Screen Shot 2017-10-12 at 10.58.15 PM.png Screen Shot 2017-10-12 at 10.47.15 PM.png

    EDIT: Seam artifacts also generated by the Current -> Expand node.
     
    Last edited: Oct 13, 2017
  11. WileE

    WileE

    Joined:
    Apr 12, 2016
    Posts:
    21
    I should say that on a better note, under Unity 2017.1 and 2017.2, on macOS 10.12 (Sierra), TC2.58 seems to be functioning as expected. Previously, there were a lot of problems with Metal that didn't appear on Windows. I am not seeing any of the previous Mac-only issues at this point.
     
  12. Dementei

    Dementei

    Joined:
    Mar 9, 2015
    Posts:
    1
    Anyone know how to change out or add in new splat textures? It looks like they are prefabs in a folder.
     
  13. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    +1 on this. Anybody know?
     
  14. WileE

    WileE

    Joined:
    Apr 12, 2016
    Posts:
    21
    The TerrainArea object in your scene includes a panel for changing/adding/removing splats from the set. Then you can choose them with the slider on a splat texture node.
     
    anykimster likes this.
  15. Tight-Tie

    Tight-Tie

    Joined:
    Oct 6, 2013
    Posts:
    13
    Hi
    When I'm creating a heightmap and doing mirroring of a texture sometimes (randomly) I get the following "0-pixel wall" at the stitching line. Ihave 512x512 image, place it in the middle of 384x384x16 terrain and do mirroring then press Generate several times and sometimes the wall occurs. Please find the heightmap texture attached
    upload_2017-10-21_11-28-31.png
     

    Attached Files:

  16. coverpage

    coverpage

    Joined:
    Mar 3, 2016
    Posts:
    385
    ftejada, Alverik and Seneral like this.
  17. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Nice plugin.
    But what is the differenced with other combine mesh plugins ?
    Does your objects need some special script to work with it's culling system ?

    There is no video showing how it works and how to use it.

    Anyway, i'll take a deeper look and see if it really woth it :)
     
  18. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,695
    The main difference is that it is designed for runtime combining and LOD switching.
     
  19. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    This looks like the main interest will be runtime generation levels only.
     
  20. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    Nope, of course it can be used at runtime (which is needed for some games), but it works the same in the editor, too, and that better than some other combine tools I've seen so far in terms of features.
    Basically, it works by default with LODs and materials, basically anything static you can throw at it, and it will merge them optimally.
    It is also strongly cell based, means large meshes will even be splitted to smaller parts if desired. This allows for optimal culling and depth sorting.
    These are the two main aspects I can think of. Only thing I can say it works wonderfully and provides a really amazing performance boost compared to ordinary static batching from Unity. Of course this depends on the scene but you can expect a good boost:)
    Disclaimer: I was able to test it before release:)
     
    Last edited: Oct 23, 2017
    hopeful and Alverik like this.
  21. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    About materials, does it make texture atlas for the merged objects ?
    It could be interesting for level creation using lot of small modular assets.
     
  22. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    Nope, it's not an atlasing asset. That's a different area again, although related. You should be able to use any material packing tool on your prefabs first and then MCS should be able to perform better, yes:)
     
    Alverik likes this.
  23. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    So the only advantages are meshes Octree creation and combining with culling.
    I wonder why culling would be better when Unity Umbra culling can be baked ane used ?

    Anyway i already have some optimisation tool and able to combine meshes and do atlas textuer also for better performance. I don't think this one have more interest for my needs until i would see some ground breaking features lol
     
  24. Melohn

    Melohn

    Joined:
    Jul 17, 2016
    Posts:
    11
    I just Bought the Terrain Composer 2 It do states it has a Unlimited Terrain tile feature. however the size i can max put into the system is 32x32 which is ofcourse very large but its not unlimited.
    how would i go about making a larger map than this? is there a feature somewhere or would i need external programs to stitch these together?
     
  25. Funkeys

    Funkeys

    Joined:
    Apr 16, 2017
    Posts:
    64
    Hi,
    as far as I know, if you want to have bigger terrain, you can put more 32x32 tiled parts together. I talked about this with Nathaniel on skype, and i think he told me he never tried that with uneven parts.
    I am going to try that soon and my guess is, that a external tool is needed to stitch the bigger parts together.
     
    Melohn likes this.
  26. Funkeys

    Funkeys

    Joined:
    Apr 16, 2017
    Posts:
    64
    Hi,
    does anyone have a tip for me how to splat texture a 4 layer terrain, to get rid of the noticeable patterns, when using the height blending feature of RTP?
    I am using 3 of the 4 textures for the terrain. I could use the 4th bring more noise to the blended areas. But I don´t know which texture to use and how to apply it, to have it only where the other textures are blended.
    The 3 layers I use for terrain is a rocky seabed, beach sand and a grass texture.

    I would be happy to get any tips!?
     
  27. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    844
    You could try MicroSplat, it has some good terrain texture blending using texture arrays. I'm using MegaSplat which does it with more textures but is more expensive ($50). Micro offers a pay as you go for features you want using only 16 texture arrays. Mega does 256 with full features. The base for MicroSplat is free (modules from from $5 to 20), so you could try it to see how it works. The creator is on the forums everyday and is very reachable and will answer any questions.

    I'm just getting into it, but the patterning doesn't show up using the arrays because it randomizes similar textures to help with that issue. Check out the MegaSplat forums for many videos, as well as MicroSplat. It might work for you.
     
    Funkeys and Seneral like this.
  28. Darren-R

    Darren-R

    Joined:
    Feb 11, 2014
    Posts:
    66
    Hi Nathaniel,

    The problem is the base Noise isn't affected by any of the values. So i can get 1 noise (by changing octaves to 1) but can't actually make any changes to it. Setting the Octaves to 2 adds a noise that i can adjust but then i still have the static noise below it that can't be changed.

    Hope this is clear. Thanks

    Darren R
     
  29. Funkeys

    Funkeys

    Joined:
    Apr 16, 2017
    Posts:
    64
    Hi dsilverthorn,
    thank you for your interesting suggestion. I will have a look at it.
     
  30. Melohn

    Melohn

    Joined:
    Jul 17, 2016
    Posts:
    11
    Yeah my problem is loading bigger areas than 32x32 seems pretty impossible my computer definately cant handle that at once. my idea was a 320km2 large area where the terrain ofc dont all load for the player at the same time just the area they are in and surrounding4km2 or something
     
  31. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    That is partly a Unity issue, Unity doesn't seem to be able to handle very large worlds in the editor well. For RT there are streaming tools but not for the editor...
    As for TC2 auto generate, yes there is a problem I found myself struggling with, sometimes it does generate the whole terrain even when you work only on a small subportion. So I for myself reworked some things based of functionality my painter uses. Now when editing or moving small nodes only the affected area is changed. It's probably not production ready yet though, so not send Nathaniel yet, but if you have interest, I could send you a version:) In fact only small changes based off partial generation, but might to wonders;)
    Just PM me if you're interested!
    Seneral
     
    ftejada likes this.
  32. Funkeys

    Funkeys

    Joined:
    Apr 16, 2017
    Posts:
    64
    Hi,
    I run into a problem with splat textures in TC2. I had defined 8 preview colors in the TC2 Settings. I am testing around with MicroSplat which allows me to use 16 textures. As soon as I have added the 9th texture, this texture is not applied correctly anymore. Even after I redefined the preview colors in the settings, to have 16.
    When this occurs, I have to delete the texture node form the graph and restart unity until it is generated correctly again.

    Solved for now!
    Deleted the texture form TC, added another one, and it works normal now.
    Probably because I have changed the color preview settings, after adding the 9th texture.
     
    Last edited: Oct 29, 2017
  33. SuperNewbee

    SuperNewbee

    Joined:
    Jun 2, 2012
    Posts:
    196
    Is there any world composer integration (multi tile) or any hack method of getting 8x8 worldcomposer tiles with colormaps into TC2?

    Or do I need to do this manually 1 by 1
     
  34. Darren-R

    Darren-R

    Joined:
    Feb 11, 2014
    Posts:
    66
    Hi Nathaniel,

    Thanks for looking into this, however the bug still exists.
    So, the base noise node when set to 1 Octave is static. None of the variables have any effect on it, meaning it can't really be used with Octaves set to 1. This then leaves us with the same issue of having the underlying noise sitting behind any other noise added onto it by increasing Octaves above 1.

    Hope this is clear.

    Thanks.

    Daren R

    (Thought I'd replied to this already, I can't find my post though)
     
  35. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Only Lacunarity and Persistence won't work as they are parameters that influence how octaves blend, but since there's only one octave....can see it in the perlin code here. _Frequency and amp are changed, but with only one iteration they don't have any effect:

    Code (CSharp):
    1. float fBm(float3 p, int octaves)
    2. {
    3.    float amp = 0.5;
    4.    float sum = 0;
    5.    p.xz -= 500;
    6.  
    7.    for (int i = 0; i < octaves; i++)
    8.    {
    9.        sum += inoise(p * _Frequency) * amp;
    10.        _Frequency *= _Lacunarity;
    11.        amp *= _Persistence;
    12.    }
    13.    return sum + 0.5; // remap
    14. }
    position/rotation/scaling/seed work though, or not on your side?

    Nathaniel
     
  36. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    320kmx2 is very large... also in Unity... I been doing this for years, you want to be careful. either you make your own streaming tool, like World Streamer, or use that.. but you really don't want large size tiles, and only 9 tiles roughly on the screen at a time, or Unity will not like it much. a tool like World Streamer in my experience, and I made my own, but trying to keep updating was not fun.... WS prolly the best tool for large worlds...you can use with TC2.. and break into smaller tiles... getting more tiles and you will.. There is a free tool that WS shows forget the name that will tile your tiles even more. and you will need to with such a large map.... 32 by 32 tiles depending on your resolution will be to large.. So it can be done. Last, this is what I would do...having such a large map.... why not make it infinite ? you can with World Streamer as well... Just a thought..

    PS: I made over 150 x2 km Unreal... Unity, biggest as a test was about 120x2 Km If I knew more about the game I could give more suggestions as I do a ton of OPEN world larger games for many years now in Unreal, Cry, Unity and some in house.
     
    ftejada and Funkeys like this.
  37. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    Forgot to add, MAKE SURE your computer has plenty of ram.....I run about 64 GIGS of ram I used to run about 32 gig of ram, and I have RipJaw, which is top rated ram...So yes your machine better be able to handle it.... or you wont be able to do much..... because with 32 gigs of Rip Jaw I seen spikes sometimes...with 64 I do not and my machine can handle up to 128 gigs of ram.. not that I need that much now.... but for stuff like this, you will.. so nothing less than 32, but I suggest 64 gigs if you are going to push it...

    PS: The memory deal is not because of TC2 either....
     
  38. eagle555

    eagle555

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

    I have a new update:

    Fixes:
    - The lines in the terrain issue (rounding issue).
    - 9+ splat texture issue.
    - NodeWindow Init error.

    Nathaniel
     

    Attached Files:

    Funkeys, ftejada and Alverik like this.
  39. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    The difference with MCS is that it automatically combines cell based and has cell based Lod support, is faster than LODGroups on each object and gives less popping. Without Lod support you won't be able to efficiently combine Lod meshes. Compared to only texture atlassing (which is on the roadmap), cell based can give a huge performance increase. Ambra occlusion culling can be used on top of it. The issue with draw calls is that they have CPU and GPU overhead, on top of that GPU's don't like small tasks, they run much more efficient on larger tasks.

    The cell based combining has a huge benefit compared to not using it, as not using it will break camera frustum culling. Which means that geometry that is not visible on the screen will still fire almost the entire graphics pipeline except the fragment shader stage, as an out of bounds triangle gets culled in the rasterizer stage.

    MCS can be used for editor and runtime. I have almost a new update ready with multi-threaded combining and automatic LOD detection. It can even be used to stream extreme details around the camera. Another thing that will be released soon is removal of triangles that are under a terrain. For rocks this can save +30% of geometry. I will release a videos for it soon after I submit my new update.

    Nathaniel
     
    nirvanajie, ftejada, Alverik and 3 others like this.
  40. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    Nath you may want to update your, sig:) one tool is no longer around:)

    Looking forward to the update, love the fact it will remove triangles under the terrain....I tend to make sure most of mine aren't deleted anyways but not easy to get them all... So this will be super nice.
     
  41. sqallpl

    sqallpl

    Joined:
    Oct 22, 2013
    Posts:
    384
    @eagle555

    Hi Nathaniel,

    I think that there is an error with tree and object placement when it's based on a terrain splat. Grass layer is placed perfectly but trees and objects are placed with some errors. It looks like the splatmap for Tree and Object layer is sampled with a lower resolution or something.

    I've already used object generation based on splatmap in some older version of TC2 and it worked fine. The splatmap was sampled fine (I've used 0,5m resolution for splatmap and object layer). I just needed to move all objects by about 0,5m after they were generated as there was some kind of global offset.

    Measuere tool and grass layer recoginzes every pixel of splatmap perfectly while Tree and Object layer places objects with some errors. BTW. Tree placement and Object placement is same (positions of trees and objects are identical) with same settings (resolution per meter) and same splatmap input.
     
    Last edited: Nov 7, 2017
  42. Darren-R

    Darren-R

    Joined:
    Feb 11, 2014
    Posts:
    66
    oooh, I was using Lacunarity as a scale. It didn't even occur to me to use the scale and rotations of the actual node! This makes allot more sense now. Wow I can't believe I missed that one. (I am used to 3dsMax where the scale is displayed with the noise variables).

    Thank you!
     
  43. Anon32

    Anon32

    Joined:
    Oct 11, 2013
    Posts:
    28
  44. DiggingNebula8

    DiggingNebula8

    Joined:
    Oct 2, 2016
    Posts:
    21
    Does TerrainComposer2 support CTS: Complete Terrain Shader or MegaSplat? I have already purchased this asset; I will have to see what can I achieve with this asset.

    If possible can you please direct me to some valuable terrain shader learning resources.

    Thank you so much for developing a brilliant asset. Nevertheless, D.R.O.N.E is looking splendid.
     
  45. Anon32

    Anon32

    Joined:
    Oct 11, 2013
    Posts:
    28
    Hi guys, anyone have experience creating huge terrain maps? My goal is to have runtime generated world. For getting the right settings is simple, I just work in a 2x2 and save the node presets. But for optimization of creating the world, would anyone know how I should go about creating a 32x32(tiles, 2048 x 750 x 2048 size) world?

    Ideally I would have the world generated when in character creation (which it will most likely impact the perf thus the character creation experience)...So no go lol. I'm thinking of dividing the world into 3x3 chunks and generating as needed based on player exploration. I think that would require loading screens, which I'd like it to be seamless. Unless the amount needed to render was so small that generating on the fly would work. I don't know how to achieve this, there's probably a better solution.

    More pseudo thinking, how I imagine it could possibly go:

    1) Height Map:
    World 32x32 height map generated, with code to create/mix stamps that would be randomly placed in an additive mask to create continents, islands, mountains, canyons, etc. I'm thinking at this point it just needs to create a high resolution texture that gets atlas into the 32x32 divisions. No need to create or update the terrain tiles. It is only to get the high resolution world map. A performance option could be to choose the resolution.

    2) Splat maps:
    There would be 3 created presets. The ideal splat map preset is created first, from which I set max values and save as a max preset and same with a minimum value preset. Have a script that has the min and max values and randomly picks between these values and applies to the ideal splat map prefab. I would only need to keep the one splat map in the build. This is probably over kill, I may just keep the ideal preset for world consistency, but maybe as a performance option to have alternative presets.

    Same thing goes for Color map / layers. Tree's and grass to be placed by Vegetation Studio. Objects (points of interest) would be instantiated after with GeNa.

    3) So with the height map generated and other layers figured out, this is where I'm left wondering how to proceed. The simple solution would be to have the entire world generated in one go, something you load over night lmao... Though I'm sure there is a better way to do this.

    I'm thinking the World Streamer needs the assets/world completed and setup for it to work, but maybe on the fly generated terrains would work? Then I could go to smaller tile chunk generation and stream it... Something tells me its best to save all the processing for the gameplay and make sure that the world is generated before for optimal performance. I'm going high end HDR, highpoly PBR, image effects, realistic environments, etc. So at 2x2 or even 1x1 it may be insignificant performance loss? And its not, just tested the example scene at about 2 sec, 1x1 tile @ 2048x750x2048 (size), Terrain resolution (from top to bottom): 1025,1024,512,512,32. Maybe I could load from low resolution as an LOD effect, switches to high resolution when near? On a corner where the 4 terrain tiles meet would be a "big" lag spike if all switch to high resolution (only during generation process)... May take longer to load (causing visual issues) when considering the gameplay perf cost, I ain't no wizard lol, beginner - mediocre at best.

    omg lol nobody is gonna want to read this. x - x;;;;;
     
    Last edited: Nov 13, 2017
    DiggingNebula8 likes this.
  46. Anon32

    Anon32

    Joined:
    Oct 11, 2013
    Posts:
    28
    Converting terrain to mesh sounds amazing, why not skip unity terrains and only use meshes to make terrains?
     
  47. buc

    buc

    Joined:
    Apr 22, 2015
    Posts:
    123
    Feature "radius" for terrain steepness/angle like for convexity.
    I want my trees to stay further away from steep areas. Is it possible to introduce a radius as in the convexity feature?

    I have tried to achieve this by combining existing features, but without success, there is still a tree on the steep. My attempt was to specify some angle for the trees and then later to expand/blur the result to get my trees further away from the steep areas. TC_angle.JPG
     
  48. tapawafo

    tapawafo

    Joined:
    Jul 25, 2016
    Posts:
    170
    Hello,

    Thanks for the sale, I've been really enjoying the asset - especially the speed of generation! I was wondering, do you have an estimate on the runtime generation documentation's release?

    Thanks.
     
  49. Game-Armada

    Game-Armada

    Joined:
    Apr 29, 2013
    Posts:
    66
    Hi,
    I am new to TC2. Read the documents, and for now I only have one question: how to invert a node?
    Is there a simple way I can't find?

    edit: Found it finally :)
     
    Last edited: Nov 21, 2017
  50. SarhanSoft

    SarhanSoft

    Joined:
    Apr 15, 2015
    Posts:
    65
    Hi, I buy it yestarday, when try to use it. it not work! problem display for me:
    I alwas click on yes, but nothing happen

    I use unity 2017.2. is it problem?

    upload_2017-11-21_8-22-23.png