Search Unity

Terrain Composer2 a next generation GPU powered terrain tool.

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

  1. Arcanor

    Arcanor

    Joined:
    Nov 4, 2009
    Posts:
    283
    I was able to get RTP and TC working together (along with Suimono and Time of Day as well). These all seem like fantastic tools, and the results I'm getting are pretty awesome. However, getting them all to work nicely together is a bit of a tightrope to walk. :) I think I've more or less got it stable at this point, but I'm having a lingering annoyance issue that I'm hoping to get some help with.

    Every time I save my scene, all the terrain materials turn black, until I go into TC, open a Terrain->Splat Textures and hit Refresh. What is going on? Can this be prevented so I don't have to constantly do this workaround?

    Thanks.
     
  2. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    This is probably RTP issue and I'm aware. I was talking about it many times on my forum. I might prevent this but at considerably higher CPU load, so - sorry for inconvinience. It's editor thing - saving scene means you need to select any of terrain tiles and tweak any of it's settings to refresh (or explicitly going to RTP/Settings/Main - click Refresh All).

    Tom
     
  3. Arcanor

    Arcanor

    Joined:
    Nov 4, 2009
    Posts:
    283
    Thanks Tom. So if I'm understanding you correctly, this is not going to be fixed any time soon?
     
  4. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Nope, sorry :). BUT you can fix it yourself ! just uncomment all material properties in ReliefTerrain-FirstPass.shader. This will make your life easier in editor, but remember to comment it back when making a build to not load CPU on final product. (I intentioanlly left it commented in the sahder so users can tweak it themselves).

    ATB, Tom
     
    nomax5 likes this.
  5. nomax5

    nomax5

    Joined:
    Jan 27, 2011
    Posts:
    365
    Hi Arcanor,

    I am using a similar set up RTP, TC, Suimono, and Unistorm, the black terrain thing is annoying especially when you're not even working on the terrain but some other aspect of the project, I'm having to click Refresh All on RTP all the time, its not just RTP I've had similar problems with other terrain shaders and the unity editor.

    I was wondering if it was possible to leave the RTP stuff till last, do the terrain, trees, water, buildings, Monsters, NPC's GUI, AI Day/Night etc.

    Then at the very end do RTP

    Perhaps Tom can advise?

     
  6. nomax5

    nomax5

    Joined:
    Jan 27, 2011
    Posts:
    365
    Ahh a post happened while I was typing, I'll have a go at this thanks Tom.

     
  7. Arcanor

    Arcanor

    Joined:
    Nov 4, 2009
    Posts:
    283
    That sounds reasonable to me. I may try this approach myself.
     
  8. Arcanor

    Arcanor

    Joined:
    Nov 4, 2009
    Posts:
    283
    So, I've removed RTP from my scene for now. However, I'm still getting some odd shadowing on the terrain that I had previously thought might be my own fault not using RTP correctly. But since I'm not currently using RTP, maybe this is something to do with TC? Here's what I'm seeing:
    odd terrain shadow normals.png
    I've been trying to track this down by re-generating the normal maps for each of the terrain textures, to make sure they're all pointing in the same direction. Alas, that doesn't seem to have helped. These are shadows, by the way, as they pretty much disappear when the sun is in the right position. Any ideas what might be causing this?

    Thanks in advance!
     
  9. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes that is possible, you can do this by your own scripting or use for example Dynamic Loading Kit for it:
    https://www.assetstore.unity3d.com/en/#!/content/5982

    Nathaniel
     
  10. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Think this still has to do with RTP. If you have RTP in your project, it replaces the standard Unity terrain shaders, so you always have to setup RTP for your terrains. If you want to remove RTP temporary you can move the RTP folder outside your project and later put it back in.

    Nathaniel
     
  11. Arcanor

    Arcanor

    Joined:
    Nov 4, 2009
    Posts:
    283
    Thanks for your reply Nathaniel, but alas your suggestion did not work. I've removed RTP completely from the project, but I'm still getting these odd shadows, even after re-generating the Splatmaps in TC. Do you have any other thoughts?
     
  12. Arcanor

    Arcanor

    Joined:
    Nov 4, 2009
    Posts:
    283
    After doing some more research on this, I've isolated the problem down to the shader I'm using. I created a simple material using the built-in "Nature/Terrain/Bumped Specular", and I had been using that in TC so that my terrain normals would have an effect. Is this not recommended? If not, how should I use normal maps with my terrain textures without RTP?
     
  13. Arcanor

    Arcanor

    Joined:
    Nov 4, 2009
    Posts:
    283
    Actually, it seems that shader is doing what it's supposed to do. The problem is apparently with the normal maps themselves, which I'm generating with Substance Player 4. I think at this point it's likely not a TC issue, so my apologies for the red herring!

    NOTE: If anyone was curious what the actual problem was... I had forgotten to adjust the import settings on the normal map textures. They were coming in as standard "Textures", but not being set as "Normal Map" textures. Thus, even though they looked like the usual blue-ish normal map textures, they were not being seen by the engine as such. And it was causing those issues I mentioned above! Now that I've imported my normal maps as normal maps, they are working fine with TC. Thanks for everyone's patience as I made these silly oversights. At least it's solved now. :)
     
    Last edited: Dec 20, 2014
    treshold likes this.
  14. beNice

    beNice

    Joined:
    Sep 12, 2014
    Posts:
    28
    Hey, eagle555.

    Would you consider adding a mask for coordinates? It would be much easier to specify an area than exporting a heightmap and imprecisely adding a color block as a mask.

    If you could just specify an X-Z area it would save so much more time and would be precise.

    Thanks for considering and please excuse me if this is not at all possible.
     
  15. broesby

    broesby

    Joined:
    Oct 14, 2012
    Posts:
    118
    Did anyone try Aubergines Water with TC / RTP ???

    Any good??? - it's on sale for 2 hours more...
     
  16. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    I'm glad you got it working now ;).

    Nathaniel
     
  17. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Can you explain in more detail what you want to use it for?

    Nathaniel
     
  18. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    In the screenshot it looks like they use standard Unity terrain, and TC uses standard Unity terrain as well, so you can use them together ;).

    Nathaniel
     
  19. beNice

    beNice

    Joined:
    Sep 12, 2014
    Posts:
    28
    Sure, thank you for asking.

    We're making a platformer with Unity terrain, so we know the coordinates of the linear path that goes across the terrain for the characters; we can't have any real obstacles there and it would be nice to create an indentation for the path. We also know we don't want anything too high in front of the path and before that we want nothing that can obscure the camera. Behind the scenery and mountains, we could just jot down the coordinates so nothing gets placed there and also along the borders of the map. We could use coordinates to line the player's pathway and increment various placement beyond that and layer everything very nicely. Perhaps one could also use coordinates to place platforms at heights above the terrain. There could be many other uses for giving precise coordinates to simply include and preclude detail placement.

    With coordinate masking, you could quickly and easily mask out precise areas without going through the many extra steps of creating imprecise color masks.

    Thanks again for considering and Merry X-mas!

    Benice Wallace
     
  20. AizenSousuke92

    AizenSousuke92

    Joined:
    May 25, 2013
    Posts:
    3
    Screenshot 2014-12-25 11.31.34.png

    So from this panel I just delete the 4 terrains and create 1 terrain with the size of the 4 and regen?
     
  21. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
  22. eagle555

    eagle555

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

    I already created a kind of mask input for this: Raycasting. With raycasting you can use unlimited and any shape colliders as a mask. In the example I created some cubes and scaled them, then put them into a layer. With the mask you can chose the layer you want to include/exclude. Then the cast direction is the direction of the ray (which is straigth down with 0,-1,0). Cast height is the height to cast the ray from, and ray length the length of the ray. With RayCast Mode on height the ray is a line, and on Hit it is a sphere (you can choose the radius of the sphere).

    I think this will suit your needs, as manually entering rect coordinates is not so convenient. If you already have the coordinates in a script, you can easily make it instantiate cubes with colliders for area's you want to mask. This is more powerful then just rect coordinates, as you can use any shape when using mesh colliders. And it works on all collider types, box, capsule, sphere, mesh, etc.

    Also Merry X-mas ;).

    Nathaniel

    Raycasting.jpg
     
  23. AizenSousuke92

    AizenSousuke92

    Joined:
    May 25, 2013
    Posts:
    3
    Screenshot 2014-12-27 00.07.57.png
    Can't really get that button.. even after pressing that red square thing..

    Edit:
    I created another terrain and put it to 1x1, also I put my terrain size to 4x (before is 2x2) and regenerate heightmap using the same settings and got this:

    Screenshot 2014-12-27 00.25.10.png

    How do I get back my original heightmaps?

    If I let it be at 1000x1000 (size) it doesn't give me the correct size anyway..
     
    Last edited: Dec 26, 2014
  24. beNice

    beNice

    Joined:
    Sep 12, 2014
    Posts:
    28
    That's brilliant. I had no idea.

    I think you should include this technique if you make another round of video tutorials.

    Thank you so much.

    Benice
     
  25. ElectricCrow

    ElectricCrow

    Joined:
    Sep 9, 2012
    Posts:
    91
    I have spent the past couple days learning to use TC. I have 64 terrain tiles making up my world mass, however, the world is made up of 5 different climates (ie. zones) and the border lines of some of the terrain squares result in more than one climate in a particular terrain square. So, using TC to splat texture these zones results in my having to manually paint some areas to blend one climates texturing into another.

    When I do this, painting with the brush the exact same texture used in TC looks completely different and I'm not sure how to remedy this. If anyone could explain specifically how to remedy this I would greatly appreciate it!

    Also, with 64 terrain tiles, I'd like to be able to group them by climate but struggling to find an easy way of doing this if anyone can break it down for me. :)

    Thank you!
     
    Last edited: Dec 27, 2014
  26. ElectricCrow

    ElectricCrow

    Joined:
    Sep 9, 2012
    Posts:
    91
    Well, since nobody can answer my thread, I'm looking for someone fluent in Terrain Composer to help with a world map project. I can pay the right person. Skype me at jasonappleton77

    Thanks.
     
  27. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    Hello Nathaniel,

    I succeeded to use Raycast in TC to create a relief based on a mesh (a road surface, see screenshot below). Now, I would like to get a terrain relief all around this surface based on layers that come from your ground/plateaus examples.

    upload_2014-12-31_13-53-6.png
    The problem is that I don't know how to "notify" TC that this Raycast layer should also act as a Mask layer for the ground and plateaus layers. If I activate them, of course, they impact my raycast layer (see below).
    upload_2014-12-31_13-58-32.png
    Is is possible to mask several layers, or a group of layers ?

    Thanks in advance for your support

    hlx
     
  28. JoeW97

    JoeW97

    Joined:
    Nov 3, 2013
    Posts:
    56
    Whenever TC is in my project, the compile times for my any scripts I'm working on increases dramatically.
    A typical script takes about 2 seconds to re-compile, but with TC in the project, it becomes about 15 seconds.

    Is there any way to avoid this? - it seems like all your scripts are re-compiled whenever a compile is needed.

    Thanks

    Steve
     
  29. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    I was playing around with TC for the first time and I'm seeing a strange effect where some edges on the terrain have a black outline until you get up close. This is with terrains generated using the example package without any custom textures and such and shows in scene and game view.
     
  30. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    Using it in a brand new project made the issue go away. I suspect another asset store package I had was messing with textures or shaders or something. That's one thing I don't like about the asset store, no standards and assets often clobber stuff they shouldn't.
     
  31. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    So I'm pretty sure the issue was that I already had the standard assets package installed. But it had one less terrain texture then what TC imported. This is why asset store assets should never import standard packages from unity but have the user do it, because it's too easy for different packages to cause all sorts of issues.
     
  32. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    Well it wasn't what I thought it was exactly. It was another package that modified a standard terrain asset with a custom shader.
     
  33. Jack62Lewis

    Jack62Lewis

    Joined:
    Jun 17, 2013
    Posts:
    105
    Hi,
    I just found out about this asset, world composer and RTP in my mission to make massive, high quality terrains with speed. Looks very very good!!

    So before I commit to this I have a few things I'm not clear on.

    1) So is Terrain Composer for generating terrains of any size made of up one or more standard unity terrain tiles and essentially acts as a much more advanced set of tools for terrain building? Can you do a terrain where the Unity terrains are spread out in a rectangular formation or are you limited to having 4x4 or 8x8 squares etc?

    2) And is World Composer a tool that can, but isn't required, to work with terrain composer that gets height data from Satellite images to build terrains from the real world? And if I selected a town, for example, to be converted would the buildings just be painted on as 2D roof textures covering the terrain that has the hills/bumps that are underneath the man-made objects?

    3) And is RTP simply a tool for making the standard Unity terrain objects (including ones made in Terrain/World Composer) look AAA quality? And how does that affect performance?

    Thanks,
    Jack Lewis
     
  34. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    When you have multiple terrains, what is the best way to get them all sitting in positive world coordinates? If I manually adjust the positions after creating the terrains, but before doing any generation, will that cause any issues?
     
  35. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    I'm using TC with RTP and ran into an issue with enabling/disabling draw for trees and grass. Somehow it's internally stuck on not drawing, even though all the boxes are checked in TC and the terrains. The trees are there as I bump into them with a first person controller in game view. I tried unchecking/checking the boxes again, exiting unity, no effect.

    When it first started it was just the scene view not rendering them, then they went away in the game view also.
     
    Last edited: Jan 6, 2015
  36. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    So now I can see trees in when the game is running in scene and game mode, but only on one out of 4 terrains. In TC it say's trees are generated for all of them, and again I can bump into them when running around, they just won't render.
     
  37. eagle555

    eagle555

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

    If you before used 2x2 terrain with a size of 1000, your total terrain size was 2000x2000, so if you use 1 terrain instead the terrain size should be 2000x2000 as well. You can change the size, and then shift click <Set>, also make sure your terrain is centered by shift clicking <Center>. Let me know if you can get it to work ;).

    Nathaniel
     
  38. eagle555

    eagle555

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

    I added you on skype, and will help you there.

    Nathaniel
     
  39. eagle555

    eagle555

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

    To get the results you want. You need to export the heightmap of your road. Then you deactivate the ray cast layer and add a new layer. Then you add a new heightmap layer. In the filter of the heightmap layer you put:
    Input -> Raw Heightmap (load your exported heightmap)
    Output -> Change
    Level -> Layer
    Settings -> Stretch Mode -> Multi Terrain

    Then you add a mask to the filter and put:
    Input -> Raw Heightmap (load your exported heightmap).
    Settings -> Stretch Mode -> Multi Terrain

    Let me know if it works for you...

    Nathaniel
     
  40. eagle555

    eagle555

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

    That is strange, I never heard someone having that issue. What Unity version are you using?

    Nathaniel
     
  41. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    I'm trying to make some tropical islands, using the demo package procedural islands. The general topography is that islands are fairly flat, and those that do rise a bit more are more rounded. And there are a good number of small islands that rise up just a couple meters.

    If building by hand I would raise the whole heightmap up to sea level and build the topography above water from there, then go back and do the underwater part. Is there a trick to get that same kind of effect with TC? I don't mind doing the underwater stuff by hand, in fact I would rather do it by hand as there are some strategic gameplay things I want to do there.
     
  42. eagle555

    eagle555

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

    Yes if you have another package in your project that overwrites standard Unity terrain shader, you can get into the issues you have. The option is to either delete that shader or setup that shader according to its documentation to render the Unity terrains correctly.

    As for negative coordinates. TerrainComposer automatically puts the center of all terrains at the worlds zero point (0,0,0). This is because the further you move away from the zero point, the more inaccuracy happens on the vertices of a mesh/terrain and the more the will show jittery shaking when moving the camera. That's why having the center of terrain at zero point is best solution for this.

    As for not seeing your trees, make sure in TC terrain list -> Settings -> Tree Distance, this should be a number greater then 0, same for grass distance.

    You can raise the entire terrain by:
    - Select 'Height' button in the top of TC window.
    - Add a heightmap layer, unfold the layer and the filter.
    - Filter input on 'Always' (default).
    - With position you can raise the terrain. The height values are normalized values from 0-1. Zero is the bottom of the terrain, while 1 is the height that is put into TC terrain list -> Size -> Y.

    Nathaniel
     
  43. eagle555

    eagle555

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

    That are good questions.

    1). Yes with TerrainComposer you can create any number of Unity terrains connected together. It can automatically do rectangular terrain creation and also support non rectangular, but these have to be positioned manually. TerrainComposer is indeed an advanced tool set for terrain building.

    2). WorldComposer can be used as standalone or extension of TerrainComposer to extract satellite images and heightmaps from the real world and make Unity terrains out of that. For placing roads and buildings you can use map-ity, which is compatible with WorldComposer:
    https://www.assetstore.unity3d.com/en/#!/content/11779

    3). Yes RTP improves terrain rendering drastically. RTP can be customized a lot for the exact features you need, so it as fast in performance as it can be. Of course it has an influence on performance, but for the quality it delivers, it's a very fast rendering solution.

    For more information I recommend to check out my website:
    http://www.terraincomposer.com

    Nathaniel
     
  44. Jack62Lewis

    Jack62Lewis

    Joined:
    Jun 17, 2013
    Posts:
    105
    Thanks for that!

    What I was meaning about world composer was that in your making an airport tutorial here:

    you get a texture of roads and buildings etc. on a flat surface. But later in that video you make a mountain that isn't a flat (cause it's a mountain) with the grassy/rocky texture covering it.

    My question is what would happen if there were a building on that mountain in the satellite photo?
    The birds-eye-satellite-view of its roof would just be painted on the mountains bumps flatly I take it?

    Also, since terrain composer uses Unity Terrain objects I take that means it's compatible out of the box with this product: https://www.assetstore.unity3d.com/en/#!/content/469
    If you've never used it, it essentially lets you place markers and remoulds your terrain to sort of make a nice curving procedural road mesh (There's a free version on the asset store if you want to test what I mean). And you can also return your terrains shape to the way it was to replace your markers and change the roads shape (NOTE: In the free version, I don't changing your terrain to it's old form is as simple. So be careful with that.)
     
    Last edited: Jan 7, 2015
  45. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes houses/buildings are flat on the satellite image. WorldComposer uses Microsoft Bing and you can see how it looks here:
    http://www.bing.com/maps/

    Yes TerrainComposer uses standard Unity terrain and is compatible with EasyRoads and RoadArchitect.

    Nathaniel
     
  46. Jack62Lewis

    Jack62Lewis

    Joined:
    Jun 17, 2013
    Posts:
    105

    Cool thanks!
    Could you by any chance give me an indication of the best order in which to watch your terrain composer tutorials to learn it from the ground up?

    One more question, why was the airport runway terrain you made flat? Surely the land would be somewhat bumpy or risen in places. Or did you select something that meant it only captured the texture?
     
  47. PiAnkh

    PiAnkh

    Joined:
    Apr 20, 2013
    Posts:
    126
    TC and SpeedTree


    Hi Nathaniel

    i notice that the SpeedTrees are not being randomly rotated when placed by TC in Unity 5.

    In TC I have "random position" ticked. Is there something else I need to do to get it to randomly rotate the trees?

    thanks

    Ronan
     
  48. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    The best order to go through the tutorials on http://www.terraincomposer.com/tutorials is from top to bottom.

    The airport runway is from an area in Paris and it's has almost a flat heightmap, it's just the area is real world is that flat (while France has a lot of elevation going on)...But like Holland where I come from...It's a pancake, no elevation in most of the country at all...

    Nathaniel
     
  49. eagle555

    eagle555

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

    Thanks for telling. This is a new option in Unity 5 standard Terrain, it wasn't there in Unity4.x. But now trees can be rotated randomly on inside the tree terrain system. I made an update for this, you can download and import the update. Let me know if it works...

    Nathaniel
     

    Attached Files:

  50. Jack62Lewis

    Jack62Lewis

    Joined:
    Jun 17, 2013
    Posts:
    105
    Awesome thanks for that!
    Another question, if I made a large groups of terrains and had them working all nice with terrain composer then attempted integration with RTP would that all go smoothly? Or do you recommend using RTP as soon I possible in the terrain making process? To save any mishaps that could happen? Or is integration more simple than I'm imaging it to be?