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
    You need to update to 2.4, which you can download from the forum here. The latest version is not on the Asset Store yet.

    Nathaniel
     
    Alverik likes this.
  2. pcg

    pcg

    Joined:
    Nov 7, 2010
    Posts:
    292
    And will this version include mac editor support?
     
  3. Muuuuo

    Muuuuo

    Joined:
    Apr 16, 2015
    Posts:
    57
    Could you make an optional DLL version of TC2? I tried making one myself as I have done for many other assets, but it seems like there are some hardcoded paths and prefabs and other dependencies in TC2 that complicate it.

    Having all the scripts separately increase compile times, which is a big timewaste in larger projects.
     
  4. gghitman69

    gghitman69

    Joined:
    Mar 4, 2016
    Posts:
    93
    What is this error that I have all the time?


    and If i try to place trees (speedtree) Unity closes why? unity 5.6 terrain composer 2.4 Capture.PNG
     
  5. No0B25

    No0B25

    Joined:
    May 2, 2016
    Posts:
    70
    That's when you disable the generation of the output of the heightmap. If you use the heightmap somewhere to place objects/trees/splatmaps, then TerrainComposer has to regenerate the heightmap for that until Nathaniel figures out a way to reuse the already generated heightmap. To fix this, just activate the heightmap generation by clicking the little "H" in the top right of the TerrainComposer window.

    What's the hardware you're on? If you have unoptimized SpeedTrees or are placing tons and tons of them, then you might run out of RAM or are trying to render too many vertices, or have a fatal shader error, or just a Unity bug. Could be anything really.
     
    Alverik likes this.
  6. gghitman69

    gghitman69

    Joined:
    Mar 4, 2016
    Posts:
    93
    @No0B25 ok thanks for your answers
     
  7. Tomza

    Tomza

    Joined:
    Aug 27, 2013
    Posts:
    596
  8. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    Ah, I didn't realize after import a different "whole project" asset (Realistic FPS) that it set it to DX9. After fixing that, I still had issues with the project. No matter how many times I re-imported, switched the serialization setting, and re-imported again, I keep getting the "prefabs did not import correctly" message. I guess that particular project is just borked.

    So I tried a fresh project and that went much better. No prefab error and I was able to create and edit a new terrain no problem. I can also load the old animated examples.

    Still can't load the ExampleMountainVillage scene successfully. I get this in the hierarchy:


    Anything else obvious I'm missing here? :D
     
  9. Adragen

    Adragen

    Joined:
    May 4, 2013
    Posts:
    25
    Hi guys, am hoping someone might shed some light on my drama, have built plenty of zones with tc2 in the past with relatively minor issues but have come across this one whilst trying to make my new scene. not sure why it is doing it and cant seem to fix it lol i basically have 8 strips of grass across my map like this, i usually set my grass to only place on a set splatmap etc but even that doesn't seem to work. Using unity 5.5.2.
     

    Attached Files:

  10. Adragen

    Adragen

    Joined:
    May 4, 2013
    Posts:
    25
    ok nvm i think i have figured it out, had too many per patch
     
  11. eagle555

    eagle555

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

    Here's the new TerrainComposer 2.5 update:

    Features:
    • Portals (On the portal node, lock the inspector and drag and drop the node you want to make a portal from, unlock).
    • Import heightmap from existing terrain tiles (is in Height export settings, choose 'Export Source' Terrain Data_Files).
    • Save/Load terrains at runtime with terrain serialization script. Saves and load any terrain state to binary file. This is not dependent on TC2. Textures/Trees need to be saved in a 'Resources' folder in Unity Project.

    Improvements:
    • Terrains disable with middle mouse click on tile buttons in TerrainArea inspector. Shift + middle click enabled/disables them all.
    • Collision node captures with the resolution of the output of the node, giving more precision.
    • Heightmap automatically regenerates when needed instead of giving the message to do it manually.
    Fixes:
    • 'Current' node as first node doesn't give error anymore but deactivates it.
    • Warnings removed from Unity5.6
    Nathaniel
     

    Attached Files:

    Last edited: May 2, 2017
    Alverik and No0B25 like this.
  12. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    1024 terrain tiles, that's a lot. I tested exporting 32 x 32 and works here. Can you explain in more detail how you want to use the mirroring? I have the mirror available for stamps and can be set in 'Wrap mode' in stamp node inspector.

    The amount of tree types shouldn't matter that much, however grass can have quite impact if the resolution is too high. How many SpeedTrees in total do you place? What are the resolutions and how many terrain tiles? I did a lot of testing with my own made memory inspector tool to make sure that TC2 is memory leak free.

    Nathaniel
     
    Alverik likes this.
  13. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Yeah, it is a lot :( We need that because we are working on terrains that are 4k in size, but we need them saved out in 512x512 chunks. Though I'm considering other possibilities, such as just loading the 4k maps up at runtime and splitting them then.

    The mirroring was to help with creating seamless cubemaps, imaging 6 terrains in a cross shape that you wrap around a cube, and then spherize it. Since there is a terrain on each "face" of the cube/sphere, there is no pinching at the poles. There is a huge gap in planetary terrain editors that don't produce crappy maps that pinch at the poles.

    Anyway, the idea is, if you stamp a mountain on some edges, the part of the mountain that is "off" the edge could be placed on a different terrain, to create seamless wrapping. The problem is, this really wouldn't work because what about noise? So...just ignore my request on the mirroring, I think it requires more thought.
     
  14. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Not yet still working on it. This is planned for the next update this month also the terrain streaming at runtime (E.g. move the camera and terrain tiles move with it and get regenerated).

    I wonder if it wouldn't be possible to extract TC2 from the Unity compiled dll's in the Library/ScriptAssamplies folder. Since all scripts are compiled and merged into dll's there.

    I made this automatic in the last TC2.5 update. It might be that you place too many trees for Unity to handle it on your hardware.

    Did you import the stamp pack and the example pack needed for this Scene?

    Yes this is an old Unity terrain bug when using too much grass vs grass resolution and detail per patch. Probably Unity runs against the 65k vertice limitation of a mesh (one patch).

    Nathaniel
     
    Alverik and pcg like this.
  15. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    764
    Many thanks Nathaniel!!;) i was sure you had something for that! It's almost perfect, the only thing is the difference of colors if you compare the terrain and the mesh...Check my pic!
    Do you know if we can modify it?
    By the way, i wish the default terrain shader was this colorful!

    To people checking the pic:
    from left to right: real terrain, real terrain texture , and mesh with shader!
     

    Attached Files:

    Alverik likes this.
  16. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    Oops, I had imported that stuff in the first project, but not the second one. Works fine now, thanks!
     
  17. silentneedle

    silentneedle

    Joined:
    Mar 14, 2013
    Posts:
    280
    @eagle555 Would it be possible to keep holes painted with RTP when regenerating the terrain? Currently we have to repaint those holes every time we modify the terrain with TC2.
     
  18. gghitman69

    gghitman69

    Joined:
    Mar 4, 2016
    Posts:
    93
    hello grass no respect splatmap limit why?
    my all splatmap define with height
    How is the random rotation of plants defined?
    More if i reset grass and erases all the layer
    It remits grass that I just erased

    thanks
     
    Last edited: May 8, 2017
  19. KarelA

    KarelA

    Joined:
    Dec 30, 2008
    Posts:
    422
    Hi eagle555

    I am using multi-tile + RTP. Trying to assign splatmaps and getting this result.

    Can you help? Is this a bug or am i missing something?

    Thanks.
     

    Attached Files:

    • rtp.jpg
      rtp.jpg
      File size:
      437.3 KB
      Views:
      1,001
  20. AbyssWanderer

    AbyssWanderer

    Joined:
    Mar 15, 2016
    Posts:
    77
    Hi.

    My tech artist soon starts using TC2 (that I purchased like year ago :D) and I have a questions regarding painting:
    1) Do I understand correctly that Megasplat will convert terrain made with TC2 to its own format and I won't be able to edit it afterwards? So basically I will need to repaint terrain each time I edit it?
    2) Can TC2 Node Painter somehow work with Megasplat? For example, create splat-maps that Megasplat will afterwards use for its painting.

    Sorry if any questions are inappropriate, we haven't started using these assets yet.
    Thanks in advance!
     
    camel82106 and StevenP94 like this.
  21. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    What exactly are Portals in the context of TC2?
     
    doq, Alverik, recon0303 and 1 other person like this.
  22. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    TC2 node painter is a different asset and different developer. Seneral. which was made off of this. But yes you can paint with it using it with mega splats. Far as mega splats you can convert it, when you make changes just convert it again, do not convert it until you do final changes, if you need to make a change, just convert it again...SADLY TC2 won't be supporting mega splats, but Jason the developer of Mega Splats is working with other tools like TC2 FOR them to be supported so, it should work with TC2 with a little bit of work on our end since TC2 is not supporting it. SADLY..

    But I use Mega Splats and TC2 they work great when you convert them using the tool from Mega Splats..But you won't get the full features as far as the range of textures you can use due to TC2 not supporting it. TC2 uses RTP , which I hear one day RTP will also support a larger range of textures, and texture arrays like mega splats but who knows when that will happen. But its better to ask more of these questions to Jason from Mega Splats. and Seneral from TC2 Node painter.
     
  23. AbyssWanderer

    AbyssWanderer

    Joined:
    Mar 15, 2016
    Posts:
    77
    I know Megasplat has good integration with Gaya, Map Magic or something like this.
    I don't know precisely their workflow, just as the one of TC2, but from videos I saw I really like the idea, concept and philosophy of TC2. After I set up the scheme I will be able to make worlds really fast, with the control of where to place the stamp of which size and rotation - and it will have splat maps ready to be painted, and some flat ground for buildings and so on.
    After ASE and Substance Designer which y tech artist uses, and Apex Utility AI whic my programmer uses, I fill like node based workflow is the most clear and easy way to edit/improve the work item, as well as remember what the item is after you haven't touched it for a month.

    So I will give TC2 a shot and I don't think other terrain editors will be needed.
    RTP is something we had troubles with - even breaking on one scene after tuning it on another one. Didn't understand fully the philosophy of that product, unfortunately.
    But Megasplat and NodePainter should work for us, even though Megasplat will require to convert terrain each time. It is just a matter of iterations' number which I intend to keep low. Also I believe that after having splat maps (from TC2 and Node Painter) re-painting with MegaSplat should be fast.

    Thank you for claryfying all this, recon0303.
     
  24. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    well no one knows there work flow yet, as its not done yet its a work in progress... But it will still work as I said with the converter tool, just NOT with as many textures. With TC2. Unless you add it your self. Ya I don't use RTP either, as I mostly work with mobile with Unity these days and RTP don't support mobile. Mega Splats does.

    Best of luck, hope it works out for you. TC2 is still a great tool and still by main terrain tools I use.
     
    Alverik likes this.
  25. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Hi Nathaniel!
    I bought terrain composer 1 like years before and upgraded to TC2 as soon as it came out.
    But finally I didn't use it for no-runtime terrain generation (maybe it's me not learning enough knowledge of TC2 :))
    Now I come back to TC2 and seems it supports runtime streaming, and the GPU accelerated generation is very impressing( can save me from MapMagic's CPU terrain generation which is quite slow for complex maps, but the erosion effect is astonishing in MM)
    I'm considering changing the terrain tool back to TC2, but still I got some doubts need to be clarified:
    1. I'm making an endless map survival sandbox game, so I need the terrain tiles be generated in runtime by certain logics and can extend to infinity. I'd like to know if TC2 supports runtime generation and can generate terrains by a random number (seed). Those two features are the number one requests in my game.
    2. Since I have an endless game map, it's impossible for me to only use 8 terrain textures (as RTP limits) to establish a world with diversity ( for now I have about 4-5 universal textures for sand, grass, rock, leaves, mud... but I'll need at least one texture for each biome to signature the uniqueness of them. And now I planned 11 biomes, 3 of them are finished, already used 8 textures) I checked that you said in version 2.4, TC2 can already support 16 terrain textures, which should be enough for my needs, but does it work along with RTP? The texture limitation in RTP sometimes seems to be breachable ( I once used 12 textures then applied RTP to this hand-crafted terrain, then magically all textures are shown and blended well together), so I would like to know if TC2's 16 textures can also be used with RTP.
    3. I noticed that uNature( an asset that optimize the grass of unity terrain) is compatible with TC2. This comes very useful regarding grass optimizations. As the first question said, I need to generate and process terrains in runtime, does TC2 support me to output grass info into uNature in runtime? And we also have massive amount of trees, some tree optimization tools are also needed in runtime (like AltTrees System, it replaces unity terrain's tree shader entirely). Is there an API for me to output these data directly to 3rd party systems( other than unity terrain), or maybe I could write something myself to do it?
    Best regards
    Hear you soon :)
     
  26. BigBite

    BigBite

    Joined:
    Feb 20, 2013
    Posts:
    108
    @eagle555, would it be possible to get something like a "debug/visualizer" mode for a given node? For instance, in my current project I've already done a lot of splat work so it's hard to see what the node I'm currently working on is doing (too many textures makes it hard to see the result). I would like to tick a "visualize" option that shows the effects of that node on the terrain as a debug color, like red or something. This would let me get a better sense of the data I'm modifying. This option should render on top of everything (all splats). Let me know what you think.
     
    doq and No0B25 like this.
  27. Darren-R

    Darren-R

    Joined:
    Feb 11, 2014
    Posts:
    66
    Hey, I've been using TC2 for the last week seeing if it will do what I need it to, I'm using it for what is essentially an in game level designer. I've been impressed and confused in equal measure. I've come up against some issues, not sure if its me or TC2.

    1. Adding more than 1 blur node changes the overall value of the whole layer. (Bug not super important)
    2. The Distortion node pays no attention to what noise is selected. And it wont for the life of me give a nice distortion on my masks. I get a streaky hugely distorted effect or nothing. (This is killing me, I want to get a bit of variation into my masks borders but the distort node is useless to me atm)
    3. Changing values in one distort node will randomly change values in another node in another layer. (Bug not a huge issue)
    4. Opacity in most nodes modes changes the VALUE of the height on the node NOT the opacity (this isn't how PhotoShop works and doesn't really make sense to call it opacity).

    Things I'd like to be able to do.

    Blur nodes look totally different with different resolutions of height maps. I understand why this is the case but is there a way to fudge the numbers so it'll keep a similar blur distance?
     
  28. BigBite

    BigBite

    Joined:
    Feb 20, 2013
    Posts:
    108
    @eagle555, I seem to run into a bug. When having multiple scenes in the hierarchy, unloading certain scenes will cause TC to create new Game Objects; one named TerrainComposer2 and the other named Terrain Area. I have one scene that has the terrain assets I'm working on and when I unload that scene, it seems to pick whatever scene is now active and then creates the objects. I would be able to work around this, except it sometimes spams the hierarchy with the gameobjects, over and over, it goes on forever unless I quickly reload my "terrain" scene. I'm not sure what is going on. Let me know if you need more info.

    Edit: Ok, I found that if you have the Terrain Composer editor window open, then it will keep creating these objects. So it looks like I have to close the editor if I'm not in my Terrain scene...
     
  29. txarly

    txarly

    Joined:
    Apr 27, 2016
    Posts:
    197
    Where can i change the Smoothness and Metallic parameters of the splat textures?
    My landscape has snow and is to white
    thank you
     
  30. Darren-R

    Darren-R

    Joined:
    Feb 11, 2014
    Posts:
    66
    Is anyone getting weird behavior from noise nodes? I'll be changing a node on one layer and a value on another layers noise node with freak out. Then the noise nodes all kinda stop reacting and start freezing giving huge values that can't be changed.

    Edit: It might be the distort node? I deleted all my distort nodes and reset a bunch of things and without distort nodes in my layers things are working as they should. I can get the noise nodes to give me nice results again. Very much a bug that resulted in a totally broken setup that I had to delete a bunch of layers from to get working again.
     
  31. Darren-R

    Darren-R

    Joined:
    Feb 11, 2014
    Posts:
    66
    So, I am trying to use the Collision Node set to height to get the height for certain objects that i can then use to shape parts of the terrain. I have more that 1 object sharing a space and they might overlap and be at different heights. This would be fine except the Collision node renders from below the geo not from above as I would have assumed. Therefore when objects overlap the lower object clips the higher object. Is there any chance this can be changed to render the height from above, therefore stopping lower objects from clipping higher ones? Otherwise its a total redesign of my project.
    Attached image to show the problem,
    CollisionNodeIssue.jpg
     
  32. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    Nathaniel posted somewhere that he investigated in rendering the collision objects with an own shader instead of the shader that is assigned. This is already technically possible in unity and would bring two advantages:
    1. It allows the objects to be invisible by themselves (not only by hiding the layer)
    2. It allows custom control of render order, depth blend mode, etc. when rendering the object depth map
    The last point might give the opportunity to fix that - either by rendering only the backfaces from above or by using a depth blend mode that sorts from behind or similar... I don't know for sure though if it is possible or when it will be implemented!
    Seneral
     
    Alverik likes this.
  33. rsklnkv

    rsklnkv

    Joined:
    Sep 8, 2012
    Posts:
    62
    Nathaniel,

    We've tried to use Portals, but we're continuously getting this exception (even on a newly created empty map):
    Code (csharp):
    1.  
    2. UnassignedReferenceException: The variable rtPortal of TC_NodeGroup has not been assigned.
    3. You probably need to assign the rtPortal variable of the TC_NodeGroup script in the inspector.
    4. UnityEngine.ComputeShader.SetTexture (Int32 kernelIndex, System.String name, UnityEngine.Texture texture) (at C:/buildslave/unity/build/artifacts/generated/common/runtime/ComputeShaderBindings.gen.cs:109)
    5. TerrainComposer2.TC_Compute.RunNodeCompute (TerrainComposer2.TC_GroupBehaviour groupItem, TerrainComposer2.TC_Node node, Single seedParent, UnityEngine.ComputeBuffer rightBuffer, Boolean disposeRightBuffer) (at Assets/External assets/TerrainComposer2/Scripts/Generate/TC_Compute.cs:740)
    6. TerrainComposer2.TC_NodeGroup.ComputeValue (Single seedParent) (at Assets/External assets/TerrainComposer2/Scripts/Nodes/TC_NodeGroup.cs:117)
    7. TerrainComposer2.TC_Layer.ComputeMulti (UnityEngine.RenderTexture[]& renderTextures, UnityEngine.ComputeBuffer& maskBuffer, Single seedParent, Boolean first) (at Assets/External assets/TerrainComposer2/Scripts/Nodes/TC_Layer.cs:72)
    8. TerrainComposer2.TC_LayerGroupResult.ComputeMulti (UnityEngine.RenderTexture[]& renderTextures, Single seedParent, Boolean doNormalize, Boolean first) (at Assets/External assets/TerrainComposer2/Scripts/Nodes/TC_LayerGroupResult.cs:158)
    9. TerrainComposer2.TC_LayerGroup.ComputeMulti (UnityEngine.RenderTexture[]& renderTextures, UnityEngine.ComputeBuffer& maskBuffer, Single seedParent, Boolean first) (at Assets/External assets/TerrainComposer2/Scripts/Nodes/TC_LayerGroup.cs:69)
    10. TerrainComposer2.TC_LayerGroupResult.ComputeMulti (UnityEngine.RenderTexture[]& renderTextures, Single seedParent, Boolean doNormalize, Boolean first) (at Assets/External assets/TerrainComposer2/Scripts/Nodes/TC_LayerGroupResult.cs:192)
    11. TerrainComposer2.TC_LayerGroup.ComputeMulti (UnityEngine.RenderTexture[]& renderTextures, UnityEngine.ComputeBuffer& maskBuffer, Single seedParent, Boolean first) (at Assets/External assets/TerrainComposer2/Scripts/Nodes/TC_LayerGroup.cs:69)
    12. TerrainComposer2.TC_Generate.ComputeSplat (Rect generateRect) (at Assets/External assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:1252)
    13. TerrainComposer2.TC_Generate.Compute (Int32 outputId, Rect generateRect) (at Assets/External assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:252)
    14. TerrainComposer2.TC_Generate.RunGenerateStack () (at Assets/External assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:240)
    15. TerrainComposer2.TC_Generate.MyUpdate () (at Assets/External assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:187)
    16. UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at C:/buildslave/unity/build/artifacts/generated/common/editor/EditorApplicationBindings.gen.cs:249)
    17.  
     
    Last edited: May 19, 2017
  34. rsklnkv

    rsklnkv

    Joined:
    Sep 8, 2012
    Posts:
    62

    Is there any news on this issue?
    Thanks
     
  35. Darren-R

    Darren-R

    Joined:
    Feb 11, 2014
    Posts:
    66
    Hi Nathaniel or Seneral,
    Why is the depth mode rendered from below if its being used for height? Is it a unity thing or a TC2 thing? Is there any benefit from rendering height maps from below the terrain as it will only ever get the height from the underside of the object.
     
  36. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    It's TC2 - theres a detailed explanation by Nathaniel a few pages back, basically the height is determined by rendering a camera, which means everything is sorted back to front and only frontfacing faces are gathered. If you now would render from above, the terrain would adjust to the TOP of your collision geometry.
    Only by rendering from below the bottom part of the geometry is regarded and works as expected.
    Hope that makes sense. Can't find the more detailed post currently, sorry.
    Seneral
     
  37. Darren-R

    Darren-R

    Joined:
    Feb 11, 2014
    Posts:
    66
    That makes sense. Thanks Seneral. I am using TC2 in a way that its not really designed for, I guess I will come up against these issues.

    So on a side note:

    This error message is now spamming my console whenever I move an object with TC_Auto Generate script on it. Is there a fix for this, what have I done?

    Releasing render texture that is set as Camera.targetTexture!
    UnityEngine.Object:DestroyImmediate(Object)
    TerrainComposer2.TC_Compute:DisposeRenderTexture(RenderTexture&) (at Assets/TerrainComposer2/Scripts/Generate/TC_Compute.cs:1639)
    TerrainComposer2.TC_CamCapture:DisposeRTCapture() (at Assets/TerrainComposer2/Scripts/Generate/TC_CamCapture.cs:60)
    TerrainComposer2.TC_Generate:Compute(Int32, Rect) (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:253)
    TerrainComposer2.TC_Generate:GenerateOutput(TCUnityTerrain, Int32, Boolean, Rect) (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:458)
    TerrainComposer2.TC_Generate:GenerateHeight(TCUnityTerrain, Boolean, Rect, Boolean) (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:478)
    TerrainComposer2.TC_Generate:Generate(TCUnityTerrain, Boolean, Rect) (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:401)
    TerrainComposer2.TC_Generate:Generate(Boolean, Rect, Int32) (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:375)
    TerrainComposer2.TC_Generate:MyUpdate() (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:165)
    UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
     
  38. broesby

    broesby

    Joined:
    Oct 14, 2012
    Posts:
    118
    Hi Nathaniel,....

    I am trying the new colormap stamping function shown in the last video.

    I made a raw heightmap with Worldcomposer, rather low res... I also made a colormap in jpeg. Just one image, again rather low res. It is 2048 x 2048.

    I stamped the height map asu usual... no problem....

    Then I put the jpeg file in a color-select node.... Then I instantly get an error:

    Unexpected top level layout group! Missing GUILayout.Endscrollview/Endvertical/EndHorizontal?
    UnityEditor.DockArea:OnGUI()

    I tried with other images as well - always the same. I use Unity 5.3f1 ;)
     
  39. broesby

    broesby

    Joined:
    Oct 14, 2012
    Posts:
    118
    .... continued from above post...

    Apart from the error above I can only get a Colormap to show up on terrain by enabling RTP.
    Then I can move the colormap around or scale it/rotate it...... OR i can move/rotate/scale the heightmap.... But I CANNOT do both at the same time?? How is that done?

    I actually succeeded doing both at the same time by dragging height output to the hierachy and afterwards dragging color output there as a child of height output............. Then I could scale/rotate/move botha at the same time..... ;)

    .... just to discover that when I cleared layers in TC window to make a new height/colormap combination to move around .... the former was reset so only the colormap was there ... from RTP :cool:

    Maybe I just don't get it.... Can both Height/Splat/Color etc... be combined in one big layer group?

    OR... to put it shortly:

    1) How can I get results like in your latest video???
    2) What is the above error about?

    Cheers, Jesper ;)
     
  40. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    Well the default unity shader doesn't support colormaps so you indeed need any other shader that supports this, like RTP.
    I heard from Nathaniel that the combination of several layers is planned for an upcoming update, but don't know when.
    Basically it adds a completely new 'Terrain' layer ontop which allows several complete terrains to co-exist. These have their own height, splat, color, tree, grass, object, etc. layers and can be biomes, stamps with both height and color information, or anything else really... :)
     
    Alverik likes this.
  41. ScottJ88

    ScottJ88

    Joined:
    Aug 28, 2012
    Posts:
    47
    As this is a well populated thread and looks to have lots of helpful people here, just wondering a couple of things.

    I am looking at creating a terrain material and MAYBE placement of rocks on a pre-generated terrain and 4k texture map.

    However there are a few unique circumstances that I need and looking at the best package (or combination of) to get what I need.

    The main constraint I have at this point is I need heat maps on the terrain, controllable from the inspector that can turn on/off at runtime. - I could use a projector for this however this creates alot of overhead and as its static it can easily be done in a shader and be cheaper

    I have currently made an old shader using scrumpy shader editor - though doesn't work on terrains (I have both a mesh version and heightmap version of the terrain) - but works as I want it to but lacks advanced features such as splat etc as I would like to add more detail when the camera is near the terrain.

    I have been looking into many packages to try and generate this and somewhat getting a little confused between what I actually need.

    TC2 looks amazing, and the simple splat map system looks great
    I was also looking at megasplat but as I need the heat maps to be semi transparent as far as I can see I had to exclude this one as it works on the principle of its either one or the other.

    The other ones are the gaia & map magic - both of which look more towards the automated side.

    Finally as I am mostly concerned with the texturing at this point I was considering just using something like amplify shader editor to re-generate a modern shader with what I need and using that to generate splats etc.

    I have also watched all the youtube videos with regards to TC2 and a post above confirms something I had a concern about which is the color map options looks to need a non-standard unity shader anyway, like RTP.

    here is what I want
    ground1.jpg

    ground2.jpg
    The way it currently works is the 4k texture goes over the terrain, from there on the main texture alpha map is the heat map location, this is then multiplied by the stripe texture thats heavily tiled (_Diffuse.a x _tile x color, in this case red and finally multiplied once more by _ColFloat to turn on/off) the normal maps are of high, medium and low frequency noise (rock&sand) and controlled by camera distance (if memory serves) - as I said it works - its fast - but would like more control over the texture when the camera is near the terrain and the ability to add the possibility of advanced stuff like parallax mapping and/or tessellation.

    So I was wondering if someone could potentially advise on the best package(s) I would need to get this up and running -as you can see TC2 *may* be overkill for what I need or not be at all what I am after, I am not 100% sure at this point.
     
  42. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    Maybe it's easier - from what I understood you want a terrain with a pre-generated heightmap (stamp) and procedural splats with a heatmap overlay, right?
    I would personally forget about putting the heatmap in the splatmap or color map, but instead choose whatever shader you plan to use - standard unity, MegaSplat, RTP, ... - and modify it to overlay a heatmap texture.
    Normally it should not be that hard - have only modified the normal terrain shader once, but as it's only an unshaded albedo overlay, it does not include modifying the shading but only the albedo color.
    That would be the best-looking way I can think of, as the overlay resolution is independant from the terrain, and is pretty decent in performance - faster than projection for sure. It does need a bit of shader knowledge though...

    If you do want to 'bake' it into the splatmap or colormap, then TC2 is perfectly fine for that. I would just consider which shading asset you are going to use, if you're using MegaSplats then in the long run TC2 can be a bit limiting with the 16-Splat limit, when you could have 256;)
    Seneral
     
  43. ScottJ88

    ScottJ88

    Joined:
    Aug 28, 2012
    Posts:
    47
    Thanks for the super quick response there.
    So im primarily an artist, I used scrumpy shader editor as it was a node based shader generation back in unity 3.5.
    from that I learned a little about how to add stuff to the code - but from that unity version number you can see I haven't looked into sahder code in a very long time - as an artist I am not the most confident there either - but this does sound like a great place to start giving a wide range of options to use.
    My other thought at this point was using something like amplify shader editor to generate a new shader to what I need, recently started reading up on it and the first bits of info I found thus far (back in 2016 though) was it didn't support unity terrains - though that could of changed.
    The other question I had with amplify was how would I integrate it into TC2 - are there any specific inputs I would need to add to get the shader working with all TC2 components?
     
  44. chiefarchon

    chiefarchon

    Joined:
    Jun 22, 2009
    Posts:
    80
    Hi there I have purchased TC2 with and would like to use it with RTPV3 is there any chance of you making a video of how to use the two together. The is is a video on the older version of TC2 but they are too different.

    Thanks for any help you can give. I would keep and eye out on your YouTube.
     
    Farelle likes this.
  45. Farelle

    Farelle

    Joined:
    Feb 20, 2015
    Posts:
    504
    I would be interested in that aswell :)
     
  46. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    Have no video but it's pretty simple.
    After creating your terrains in the Terrain Area object, TC2 tries to find RTP in your project and if it is found, you get an 'Enable RTP' button in the RTP section just below.
    Clicking it adds a RTP component to every terrain. For editing, you only need to edit one of them and it is synced to all others automatically (may need to iterate over each of them after a change so they get refreshed).
    There's a bit more to it though, when you recreate the terrains (hit 'Create Terrains' again) then all RTP Components get removed and you loose your setup! That is a bit unfortunate, as a workaround, make sure to ALWAYS create a RTP preset and before recreating the terrains. You can also copy one of the terrains and move it elsewhere in the hierarchy, and then after recreation of the terrains just hit enable RTP again, copy the RTP component of the copied terrain and paste it's values on one of the newly created terrains.
    Hope that helps. It really is easy when you remember the last point. Hope it get's fixed:)
     
    Farelle and Alverik like this.
  47. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Not really- you can put your heat map into the macro texture slot in MegaSplat and choose whatever blend mode you like for it (overlay, multiply, multiply2x) and it will blend with the splat results.
     
    magique likes this.
  48. chiefarchon

    chiefarchon

    Joined:
    Jun 22, 2009
    Posts:
    80
    I've been looking at the videos but even _rtp_LODmanager is different from any in the videos. I'm confused by them and would be very grateful for a new video about using RTPv3.3 with TC2
     
  49. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    Well apart from what I said above there's nothing related to TC2 you have to do.
    The rest of the setup, like how to configure it to your needs and make it look great, is only related to RTP and you can refer to any other guide/tutorial/documentation about RTP. I recommend you the official tutorial series by Tomasz Stobierski, the official documentation and 3rd party guides.
     
  50. AwesomeX

    AwesomeX

    Joined:
    Sep 10, 2013
    Posts:
    117
    Is there a way for me to combine hand painted terrain with TC2? For example, I want to be able to paint trails on the terrain, while keeping the perlin noise splatmap and heightmap, and without my hand painted work to be reset when TC2 generates.

    I see there's this asset that seems to allow painting on nodes to achieve this, but I feel I shouldn't have to buy a third party extension when I think TC2 should already support this by default.
     
    Alverik likes this.