Search Unity

Terrain Composer2 a next generation GPU powered terrain tool.

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

  1. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    Thanks!

    My Heightmap layer (which contains 2 filters currently, underwater and landmass -- btw. might be useful to name them) already has the Smooth check-box option ticked, is that not enough? Or is that a different kind of smoothing?
     
  2. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    OK so a colored mask image works great just for pre-selecting an area for a filter to work with. (Don't see why I should use a sub-filter though if an image input seems to work the same?)

    But now of course I'm lost at the "next steps" after much half-clued experimenting :D

    Let's look at what my colored-mask does well and also what it doesn't do well:

    https://dl.dropboxusercontent.com/u/136375/img/screens/unity-tc-01.png

    We see a small island inside a much bigger terrain (the green area is roughly underwater, cheapo splats right now, the terrain shader also does some fake shorelines). My color mask defines this island using turquoise color (0,255,255). The filter responsible only for mountains on that island clearly works only on that color-defined boundary, so far so good!

    1. We see the blockiness because I didn't upscale the image. I still think if TC could do this on-the-fly much troubles would be saved. Doing something like bicubic no blockiness would ever be apparent. This should be faster than another post-facto manual terrain smoothing or a smoothing sub-filter. It also would avoid keeping two copies of every mask image around, such as -- a small non-blurry pixel-perfect one for easy painting and a bigger upscaled blurrier/smoother one. Just something for you to ponder.. can write the imaging code if you'd like me to and tell where in the codebase it would have to happen.

    2. Just how can I have this filter "smooth-over to the rest of the terrain beginning at its image-defined boundaries"? Obviously in this island case I don't want some crazy blocky shape like that, instead trying to hard to smoothly achieve a hilly interior from flat beach areas..

    3. Incidentally: using a smoothly-blurred upscaled 1024x1024 color map here in this case doesn't help much with blockiness or steadier elevation changes. Of course that's most likely because the island area is still filled with solid turquoise, no gradients or such. I also don't have Photoshop (nor do I wanna buy it) so working with gradient fills becomes a hassle fast, plus the current solid-color mask technique would be great for reuse later for splatting individual islands. So in fact solid-color-masks I rather like. But I need to smooth out the current huge block-blob into a lovely hilly landscape. Played with all kinds of operators and sub-filters and what not, but still lacking the proper intuition to solve this somewhat specific situation..
     
  3. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    Bug report.

    Had a single heightmap layer with 3 filters. Duplicated it, then removed the last filter from the original heightmap. Got this Console error logged:

    Code (csharp):
    1.  
    2. ArgumentOutOfRangeException: Argument is out of range.
    3. Parameter name: index
    4. System.Collections.Generic.List`1[System.Int32].get_Item (Int32 index) (at /Applications/buildAgent/work/c514da0c8183631c/mcs/class/corlib/System.Collections.Generic/List.cs:633)
    5. TerrainComposer.erase_filter (Int32 filter_number, .prefilter_class prefilter) (at Assets/TerrainComposer/Editor/TerrainComposer.js:13129)
    6. TerrainComposer.draw_filter (.prelayer_class prelayer, .prefilter_class prefilter, System.Collections.Generic.List`1 filter, Int32 space, Color color_filter, Color color_subfilter, Int32 position_prefilter, Int32 current_number) (at Assets/TerrainComposer/Editor/TerrainComposer.js:10462)
    7. TerrainComposer.draw_layer (.prelayer_class prelayer, Int32 layer_number, Int32 count_layer, Int32 count_description, Int32 space, System.String text, Int32 layer_minimum) (at Assets/TerrainComposer/Editor/TerrainComposer.js:10303)
    8. TerrainComposer.draw_prelayer (.prelayer_class prelayer, Int32 space, System.String text, Int32 layer_minimum) (at Assets/TerrainComposer/Editor/TerrainComposer.js:7454)
    9. TerrainComposer.Paint () (at Assets/TerrainComposer/Editor/TerrainComposer.js:3044)
    10. TerrainComposer.OnGUI () (at Assets/TerrainComposer/Editor/TerrainComposer.js:887)
    11. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Applications/buildAgent/work/c514da0c8183631c/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    12.  
     
  4. eagle555

    eagle555

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

    Why do you use a colored mask in a heightmap layer? This you have to use in a splatmap layer. And then in a subfilter. You need to use a 16 bit raw image in heightmap layers and then at least the same size as your heightmap, as with upscaling you lose quality, so this is not a good workflow and waste of performance, as you use a higher heightmap resolution and only see like half resolution. Also for the splatmap use a at least the same image resolution as your splat resolution. Up scalling is not the method I recommend rather use down scaling, make higher resolution images and use a lower resution heightmap and splatmap, that way you can easily upper the heightmap and splatmap resolution without remaking the image.

    As for the error I will take a look. You can try Unity Menu -> Options -> Database Restore -> Shift click <Fix Database>.

    I think a skype screenshare session would be good, only I'm staying until 3 december in Norway, we can arrange a call though...

    Nathaniel
     
    Last edited: Nov 27, 2013
  5. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    Enjoy Norway!

    Splatmap layer? I'm not even at the splatting stage yet. Yes, I wanna define specific mountain styles for only specially-selected/manually designated bounded world-regions.... "hoods". Seems so hard!

    As I wrote I also used a high-res version of the color-mask (same res as terrain heighmap), similar blockiness, just smaller blocks. What I was asking is how to "smooth-over into the color-masked bounded region" which either the Input or the sub-filter selected from the color-mask image..

    (16-bit raws would give me better color depth but I'm fine with using say 9 special solid colors to demarkate areas -- easy to manage from any bitmap program.)

    Really.. having different "regions" in a game world is not an exotic thing, right? Using color-masks (or 9 b/w images) seems to be the only way to demarkate them in Terrain Composer? If not, let me know the other way..
     
  6. eagle555

    eagle555

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

    Thanks :). The landscape is very inspiring :D.

    Ah ok. Yes you have to use 16 bit raw grey scale image for this with soft blurred edges, other wise you get an instant transition. So you need to use a seperate image for each area and use as a mask in a subfilter with input on raw Heightmap, so no color 8 bit image this is for splat layers. The reason you get the blockiness is because Unity terrain is using a 16 bit height precision and using 8 bit gives blockiness. The color image you can use in a splat layer...

    It's really not difficult to make, but having a good image tool like photoshop or something alike is needed. It is actually a cool feature TerrainComposer offers to create different terrain regions, mixing height maps with using masks, etc. The possibilities are endless...

    Nathaniel
     
    Last edited: Nov 28, 2013
  7. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    I was just trying out a slightly different approach which seems to work fairly well for now with initial tests:

    For hilly regions I use a different gray-scale image that ignores land boundaries and where the gray-scale defines the max hilliness. Then I use that in a heightmap-layer-filter as Input, but have its sub-filter limit the land boundaries via my other "islands and land boundaries" greyscale image. Seems to work! Also lets me use one image only to draw "approximate max hilliness" while TC still builds pretty noisy mountainscapes as allowed by both this new Input image and the old boundaries-subfilter-image.

    Can use this technique later on for other stuff too, I guess. Just gotta be careful I don't end up doing too much manual heightmapping and splat-drawing in my paint program, after all this is supposed to be TC's job :D :D
     
  8. eagle555

    eagle555

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

    Yes there's many ways and possibilities, although the easiest is to make the heightmap in the filters with a perlin curve and use a subfilter as a mask with a 16 bit grey scale image.

    I think doing a skype screenshare would be good, we can do that if I'm back home next week.

    Nathaniel
     
  9. eagle555

    eagle555

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

    Some news from my Norway trip. Me and my brother in law were doing a mountain hike today that has very steep cliffs, we've been on the top edge and the view was awesome. He has a professional canon camera, it was not good picture taking weather, very cloudy and it started to snow. This are some pictures he took from another hike in another area in Norway. Very inspiring scenery!!

    Nathaniel

    $PP0713 1.jpg
    $PP0713 2.jpg
    $PP0713 3.jpg
    $PP0713 4.jpg
    $PP0713 5.jpg
     
    Last edited: Nov 29, 2013
  10. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    Wow... absolutely beautiful! Mind sharing where those were taken? I quite enjoy hiking myself.
     
  11. norby

    norby

    Joined:
    Jul 10, 2006
    Posts:
    277
    Hi Nathaniel

    You are making progress with your Terrain composer
    it looks like real , what shaders are you using ? Haha

    De Groeten

    Norby
     
  12. norby

    norby

    Joined:
    Jul 10, 2006
    Posts:
    277
    Hi Nathaniel

    last year i went on my harley to the nordkapp
    did you visit preikestolen ?
    i am the left one on the picture

    norby
    $Norway.jpg
     
  13. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    The pictures are taken at
    Langenesvatnet, Sykkylven, Norge

    Nathaniel
     
  14. eagle555

    eagle555

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

    That's an awesome picture!
    No haven't been there. But my brother in law told me about it today when we were looking down from the top of the cliff, he calls it pulpit.

    Nathaniel
     
  15. Demious

    Demious

    Joined:
    Nov 29, 2013
    Posts:
    2
    I have a couple quick questions about the plugin. I just purchased it last night after doing some searching and based on the reviews.

    I'm working on a year long thesis project and have a very specific terrain layout I'd like to keep intact. My current (hand made) layout has a very linear type of progression that's been designed to guide the player through the level. Naturally, I saw the time-saving benefit of having slope dependent textures and figured I'd use TC to generate those based on my current layout.. (although now, I'm wondering if I can use the plugin to tweak some very specific areas of my existing terrain's heightmap)- My questions:

    1) Can I use TC to solely generate splot maps for my existing terrain? If so, can someone please point me in the right direction how to start with this process?

    2) Can I use TC to modify the geometry of certain areas of a given terrain? Say adding better mountain ranges towards the edges of my map? This would be perfect for my needs.

    3) Also: I'm having a problem with the "auto-generate" feature while modifying height maps. I thought I had it enabled (hitting the 'auto' button on the bottom right) but every change must be followed by pressing the "generate" button in order for me to see changes. Is there some other option I must have enabled to get this to work?

    Any advice is appreciated!
     
  16. eagle555

    eagle555

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

    That are good questions. For existing terrain I recommend to back up the terrainData's in your project, so you can always put it back if something happens.
    What you need to do is drag and drop your existing terrains into the TC terrain list slots. How many terrains do you use?

    1). Yes you can do this. You can watch this video part where I make terrain texturing. So don't have to use the mask though. Only a splat layer with your splat textures and filter input to steepness already gives good results.
    http://www.youtube.com/watch?v=JsI-b4pHVSI

    2). Yes this is possible. You need to export your heightmaps first as you want to keep them as a base. To do that select heightmap output button in the top and also the export button. All your terrains need to be in the TC Terrain list and activated. Then in the bottom of the TC window you can choose the save name and path. Then click export terrains.
    Then you can make a heightmap layer and import your heightmaps:
    http://www.youtube.com/watch?v=0zuCmpp66H8
    Then you can add more heightmap layers adding those mountains to you existing terrain using a mask. This I explain in the video link in answer 1.

    3). To activate/deactivate auto generate shift click the 'Generate' button. The auto button is doing something else, when active it keeps the frame rate selected in 'Frames' while generating, so you can still continue to work in the Unity editor.

    Here are all the short tutorial videos.
    http://www.terraincomposer.com/tutorials/

    I think best is to do a skype screenshare to help you set it up, my account is Nathaniel.Doldersum

    Nathaniel
     
  17. Scoobaru

    Scoobaru

    Joined:
    Aug 29, 2013
    Posts:
    7
    Hi, my company is trying to buy Terrain Composer but the purchaser cannot contact you. They get a message for your Hotmail address "The recipient's mailbox is full and can't accept messages now."

    Do you have an alternate email or phone number we can use. I have sent a PM as well.

    Colin
     
  18. eagle555

    eagle555

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

    Thanks for notifying. My email address should be working again now. If you have any questions, don't hesitate to ask ;).

    Nathaniel
     
  19. W01ff

    W01ff

    Joined:
    Apr 3, 2011
    Posts:
    25
    Hi,

    Any ETA on WorldComposer on the AssetStore? I seem to remember you did submit it, but have you heard anything from UT?
     
  20. eagle555

    eagle555

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

    I submitted WorldComposer 26 November. Hopefully it will be on the Asset Store this week...

    Nathaniel
     
  21. W01ff

    W01ff

    Joined:
    Apr 3, 2011
    Posts:
    25
    Wow - quick reply! Thanks a bunch - looking forward to purchasing both World and Terrain Composer.
     
  22. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
  23. KyleStaves

    KyleStaves

    Joined:
    Nov 4, 2009
    Posts:
    821
    Is there a way to smooth out the results of an "Image" heightmap filter? I'm currently attempting to do this...


    1: Generate a very low resolution version of my heightmap as set up in TerrainComposer with my 'river' layer disabled entirely.
    2: Use this heightmap to find an appropriate path for my river to take, create an image out of this path (basically just a stroke on a bezier curve)
    3: Do a full resolution pass of my heightmap, this time with my river layer enabled with this river image set to output min (with the appropriate color range and normal curve).

    This process works awesome at runtime for taking advantage of terrain composer for my heightmap generation while still being able to use a custom algorithm for river generation. I'm very happy with the process up until this point. My problem is that the image used to curve out the heightmap always wants to leave steps in the heights, no matter what settings I use (and even if I generate this image at twice the resolution of the eventual heightmap itself).

    I noticed TerrainComposer includes a smooth tool and decided to see how well that worked - and it works awesome. Very fast, very clean results for fixing this problem.

    http://imgur.com/a/bzOlH

    That is an album containing two images. One smoothed with your smooth tool - the other using the same process but this time I smoothed the input image using your same smoothing algorithm (modified to work with colors instead of floats, but otherwise identical). Even with significantly more iterations (10 compared to 2) the image smoothing doesn't create results anywhere near as nice as the direct terrain smoothing.

    I thought about using the advanced height curve to only smooth out parts of the heightmap impacted by the river - but we really need to be able to erode down nearby mountains/hills so there is potential for 'touching' the entire height range anyway.

    I also thought maybe a workable solution would be to have another heightmap layer that handled fine details and select certain height ranges to add those details with - however, I can't seem to get "height" as an input to work at all for heightmap layers. Input as "Height" "Current" or "Steepness" doesn't seem to work at all when Output is set to heightmap. It seems that the "X" axis of the curve always lands on 0. Output on "Add" or "Subtract" does add or subtract from the layers that came before it no problem though, it's just "Input" that seems to be ignoring the heights generated by another layer. Am I doing something colossally wrong here, or is this just not supported?

    Anyhow, thanks again for the support and any feedback / suggestions!
     
  24. eagle555

    eagle555

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

    I see you are working on some cool stuff. I'm thinking about making this river creation in TerrainComposer directly. Would be a great added feature :).

    As you noticed, image smoothing does not get you the results. The problem is that an image is 8 bit, while the heightmap information is 16 bit. This will always create blockery results when using an image in a heightmap layer. The solution for this is using a 16 bit raw scale image (input to raw heightmap) or use a heightmap float array directly. In TerrainComposer2 selective smoothing is possible.

    As for reading height and steepness in heightmap layers. If have this disabled because it would need a second pass, so not used normally and it makes generation a little faster with not reading them. You can enable this be commenting the:
    if (!only_heightmap) in line 5154 in terraincomposer_save

    Do you use 1 terrain or multiple terrain? C# or Unity script?

    Nathaniel
     
  25. W01ff

    W01ff

    Joined:
    Apr 3, 2011
    Posts:
    25
    Just purchased both Terrain and World Composer - looking forward to using them!
     
  26. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Thanks a lot for the purchase, if you have any questions or run into something, ask me anytime ;).

    Nathaniel
     
  27. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    Is it possible to sculpt on a selection of multiple terrains with Terrain Composer? Does it actually have some sculpting tools? Or is it a filter-only-driven system that expects proper heightmaps to work on?
    Reason I ask is that I find it cumbersome to sculpt on a terrain, switch to the next one, sculpt... and in the end seams don't match up. Of course, I could use a tool like yours to stitch the terrains together - but this always comes at the price of losing manually placed heightmap information at the edges.
    So it would be nice to have multi terrain sculpting options to begin with. Is this in? Or is this planned for the future?
     
  28. KyleStaves

    KyleStaves

    Joined:
    Nov 4, 2009
    Posts:
    821
    Hi Nathaniel,

    I'm using this technique in scenes with both a single large terrain and other scenes built out of a grid of smaller terrains. I program everything in C#, so I'm moving TerrainComposer to the plugins folder between updates.

    Is there a way to inject a heightmap float array directly? That would be perfect! Right now my setup looks like:

    Heightmap Layer
    --- Filter
    --- Filter
    --- Filter
    --- RIVER IMAGE FILTER
    --- [Potential details filter would go here] (input set to current works fine)
    --- [Potential details filter would go here] (input set to current works fine)

    How would I go about replacing the "RIVER IMAGE FILTER" with a direct augmentation of the heightmap array? It looks like the switch in "calc_filter_value" is the right place to start if I wanted to add support for this by hand, but that quickly becomes a nightmare trying to maintain between updates. It sounds like, if it's possible, just directly manipulating the script.heights at that point would be the best solution - I'm just not sure how possible that is.

    Thanks again!
     
  29. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    TC does not have sculpting functionality, of course you can sculpt with the unity terrain tools though. There are many ways to deal with it, you can sculpt on one big terrain, export the heightmap and apply it to a grid of terrains with TC, or you could just use mudbox, Zbrush, Blender, 3dCoat or the like. Usually you only need to sculpt a guide terrain as you can apply details procedurally with TC or other tools,... you can also do awseome Terrains completely procedurally. Its really hard to describe TC in a nutshell, its insanely versatile and usefull in many many ways, be it in creating heightmaps, splatmaps, placing vegetation or objects, etc.

    You really cant go wrong using TC if you have to deal with terrains in any form. You may not end up using all the functionality but you surely use some of it. It can save you so much time on only a single task alone, that it pays off in absolutely no time. It may seem intimidatingly complex at the first look but once you understood its core principals it will be easy and you are going to love it!!
     
  30. eagle555

    eagle555

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

    As for the replacing the image with directly heightmap array, that's not really possible unless changing TC code, and yes if I update TC you would have to transfer your code to the new version. I mean you can use terrainData GetHeights and SetHeights directly without using TC (for a single terrain). For multiple terrains it could be handy to use a 16 bit raw image. All you have to do then is generate a 16 bit raw image instead of 8 bit, and then it would look smooth.

    You can see the code for reading 16 bit raw scale in terraincomposer_save -> function calc_raw_value...
    For making the 16 bit image.

    The normalized terrain height needs to get converted to 2 bytes ->
    height = heightNormalized * 65535

    Then do a bit shift:

    byte_hi = height >> 8;
    byte_lo = height-(byte_hi << 8 );


    Nathaniel
     
    Last edited: Dec 4, 2013
  31. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    For my custom terrain shader I'll need to generate a global normal map from the final heightmap. (Both will be same res so no filtering complexities to struggle with.)

    Quick question before I roll my own editor-script concoction for this -- is there already a tool for this hidden somewhere in TerrainComposer's many features? ;)
     
  32. eagle555

    eagle555

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

    Yes you can make normal maps with TerrainComposer.
    1). Activate color output button.
    2). Add a color layer.
    3). Click on 'Layer' -> File -> Open -> Output Maps -> normalmap.
    4). Enable TC Menu -> View -> Remarks.
    5). Follow the intructions in the remarks, don't have to set step mode as this is default on automatic.

    $normal_map.jpg

    Nathaniel
     
  33. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    Oh thanks, rolled my own by now, but would there be any benefit to using TC's implementation? Maybe you're being smarter about global terrain normals than me somewhere, or something..? ;)

    What I do (in editor-script, after re-generation) is sampling interpolated heights from terrainData for x and y 0..1023, save it as grayscale png, and on import-settings: normalmap from grayscale.

    Looks OK in editor preview and at runtime, but let me know if I should switch to TC normalmaps perhaps for better results or other reasons.
     
  34. eagle555

    eagle555

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

    Yes I think you can try use TC normalmap instead. As it is calculating it from the terrain normals.It might give the same results though, you can compare the difference with the TC one and yours.

    Nathaniel
     
  35. bilke

    bilke

    Joined:
    Jul 13, 2012
    Posts:
    54
    Hi Nathaniel,

    I have a question regarding the coordinate system and the projection used in WorldComposer. Do you simply use the coordinate system and projection which is given by Bing Maps and then transform to Unitys coordinate origin? I am asking because I would like to combine data from geographic information systems (GIS) with terrains generated with WorldComposer. GIS data is often in WGS84 and a conversion between two known coordinate systems / projections should not be a problem but the Bing Maps projection seems to have some issues. Anyway, it would be cool if you can give some details on how transform terrain from WorldComposer into the Unity scene.

    Thanks, Lars.
     
  36. eagle555

    eagle555

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

    Yes Bing and Google use the Mercator projection. Yes I use this projection and convert to Unity units -> 1 meter is 1 Unity unit. So the generated terrains are real scale. You don't only get the terrain with WorldComposer, but also the exported heightmap as a 16 bit raw image. The satellite images can be saved as jpg/png/raw, and I also added worldfile export option, you can import the images in for example Global Mapper. So you can do a lot of editing and customizations...

    Nathaniel
     
    Last edited: Dec 4, 2013
  37. houndie

    houndie

    Joined:
    Nov 25, 2010
    Posts:
    146
    So can one use Google Maps as well as Bing for exporting out? I know you only have it linking to Bing currently but I am wondering if you will be adding in other support for other mapping tools like Google or GIS apps/data?
     
  38. eagle555

    eagle555

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

    Can only do Bing at the moment, but I'm thinking of adding google maps and nokia maps in the next update.

    Nathaniel
     
  39. RvBGames

    RvBGames

    Joined:
    Oct 22, 2013
    Posts:
    141
    Can you use Navmesh with Terrain Composer?

    What about adding roads, etc.? Are there any provisions for this?

    Also, what about underground caves?
     
    Last edited: Dec 4, 2013
  40. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    Bug report....

    Wanted to export a colormap but accidentally the directory path that was still stored in there no longer existed. Of course there's a DirectoryNotFoundException in the console, but this should be handled -- looks like it didn't. Also now TC forever thinks it's still exporting and does not let me do any other stuff (such as fix the broken path) until I restart Unity..

    As you know, always sanity-check everything in code everywhere :D and try-catch rather than staying in undefined-state-limbo.. it's tedious, but needs to be done ;)
     
  41. metaleap

    metaleap

    Joined:
    Oct 3, 2012
    Posts:
    589
    This one description I'm not getting sadly :( let's say I have two filters in a layer. The first gets input "always" and does stuff, the second gets input "current" before doing anything. Does it have the "layer value" (in this case only written by the first filter just beforehand)? Or what else could its "current filter value" be here?
     
  42. eagle555

    eagle555

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

    Thanks for the bug report. I will fix this in the new update. You can imagine getting all safety checks on >35.000 lines of code leaves an opening here and there, also with the unlimited options TC has. You can easily return TC to normal by deleting the generate clone <Generating> from the Hiararchy.

    It is alll the values that are before. So actually the total layer value. If you have a layer that outputs 0.5 and another thay adds 0.3 to it, and another subtracts 0.6, the current state is 0.5+0.3-0.6 = 0.2

    Nathaniel
     
  43. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    As for Navmesh, yes you can use this as TerrainComposer uses standard Unity terrain. As for adding roads I recommend using EasyRoads, for underground caves I recommend to use standard terrain with RTPv3. RTP allows to make wholes in the terrain this way you can use cave meshes. I think voxel terrain isn't a solution, as the mesh collider is very slow and takes much more memory as a terrain does. For that reasons it is limited to a small size...

    Nathaniel
     
  44. Diojr

    Diojr

    Joined:
    Dec 7, 2013
    Posts:
    3
    Hey Nathaniel

    First of all, thank you for the great tool which i've purchased and love using!

    I have a question about creating large size terrains though, which i hope you can help me with (perhaps material for an upcoming tutorial video, which has also helped me a lot!)

    I am working on a rather large world, and my idea with it is to have separate parts of the world have different looks and feel to it. Basically, what i want to achieve is a lot similar to what you showed in your "Island" tutorial video, but here is my problem:

    I really want to work in detail on specific parts of the entire world. For instance, lets say my world consists of 9x9 tiles, and in 4 of the tiles in the corner of the world i want to create a "mountainish are". How will i achieve a filter, which lets me work on a heightmap for those tiles seperately from the entire world?

    Same goes for splatmaps, treemaps and so on. I watched your island tutorial, and saw how you used colormaps for setting up specific areas for editing, but that was on a single terrain - would something similar be achievable with multiple terrain tiles? How would i go about that?

    I hope the above makes any sense to you.

    Thanks again for all your hard work!
     
  45. Diojr

    Diojr

    Joined:
    Dec 7, 2013
    Posts:
    3
    Ok, reading back my previous post, i actually think i did a pretty poor job explaining what i want to achieve, so here is sum up of what i'm trying to do.

    1. Create (for exampe) a world consisting of 9 tiles (3x3)
    2. Create a "base height map" for this world.
    3. Export this "base height map", preferably as a single image file for editing / highlighting zones in photoshop.
    4. Using my edited / highlighted height map, to work on height map on particular areas of my world. For instance, creating a mountain area on 2 tiles, a desert on 2 other tiles and so on.
    5. Export this new and final height map again, to create colormap (much like your island tutorial) for work with splatmaps / trees / grass / objects on particular areas (but still over multiple tiles).
    6. Import this new colormap and start working on splatmaps / trees / grass / objects.

    So, if i needed to do the above on just 1 tile, i would have no problem, but i don't know how to do it on multiple tiles. I end up with separate height maps and color maps for each tile, which makes it a real pain to both work on them in photoshop, but also adding them back into TC when i'm done editing, because i dont know how to use them all in just 1 filter.

    Hope this clarifies a bit what im trying to achieve. Thanks again! ;)
     
  46. eagle555

    eagle555

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

    That is a good questions. I made tutorial videos for this:
    http://www.terraincomposer.com/tutorials/

    You will need to use image masks and I explain that in these video's which are on the tutorial page:
    Help Video Creating Road Paths and Rivers
    Help Video Heightmap and splat texturing mask

    As for getting a multi images loading into 1 filter I explain in this video:
    Help Video Importing from WorldMachine

    For a multi terrain setup you only have to set image settings in a filter/subfilter to 'MultiTerrain'.

    As for exporting the heightmap/colormaps as 1 image for multi terrain, would be very handy indeed. It is not possible at the moment, but I will program it into the next update ;).

    Nathaniel
     
  47. Diojr

    Diojr

    Joined:
    Dec 7, 2013
    Posts:
    3
    Hi again Nathaniel

    I cannot believe how i somehow missed those tutorials you linked. They explained exactly what i wanted to do perfectly.

    And it sounds great with the added feature of exporting heightmap/colormap in the coming update.

    Thanks a lot for the quick reply! :)
     
  48. mngmhds

    mngmhds

    Joined:
    Feb 2, 2013
    Posts:
    21
    Hey Nathaniel. I recently purchased TerrainComposer and I have to say that it's quite incredible. It definitely has a moderate learning curve, but after watching your procedural generation tutorial I'm confident that with time I'll be able to create terrains close to the caliber that you've created. That being said, I did notice that you never really extensively go over how to generate tree's, grass, and objects from start to finish; you do explain how to add them (which I figured out myself; it wasn't that difficult at all!) to the terrains for use, but not the construction of filters.

    The runtime load of 3x3 (1024 resolution) terrains is pretty high and I know this is somewhat off-topic, but I was wondering if anyone had a tutorial on loading/unloading terrains on an as-needed basis or at least optimizing them at high resolution to render above 60 fps. Thanks.
     
  49. eagle555

    eagle555

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

    I have many small tutorials videos for placing trees, grass and object (they all work the same), masks, etc here:
    www.terraincomposer.com/tutorials

    You mean streaming the terrains? I'm working on a stream extension. Try 512 resolution or increase pixel error to get more performance.

    Nathaniel
     
  50. TRIAX GAME STUDIOS

    TRIAX GAME STUDIOS

    Joined:
    Nov 27, 2013
    Posts:
    49
    Interesting ...

    And what About this Streaming Extension ?
    Could you give us Some Technical Details of what is going to be / or whats so far made ?

    Is this a Stream Lod/Occlusion Solution ? Or a Whole Level load on Demand ( Terrains with Scene Objects load in runtime According player position ? Is This Just on a First Person Terrain Details perspective ? And on Flying over With a Aircraft ? Can your plugin Stream also Distant levels With some kind of entire level Lods So terrains look Infinite even in Fly Distance ?

    Can we for example make a Huge World Compromised of Many Unity Scenes were we can merge those scenes toguether bypass Unity 32xbits Memory ?
    ... we can compile Players to 64bits , but there is always unity Lack of 64bits in the editor when building reaaly large levels ... How do you plan to go over those limits ?

    I think this is very Needed Extension as so far we only have few best solutions we can find as today...

    For "level loading" we still lack a proper Lod That mixes ( load from disk and kill non used objects swarm pool ) solutions ...

    How does it work Technically ?

    How much it will cost and when are you expecting to release it ?

    Some feedback about all this matters would be cool ...

    Best Regards.


    ...

    Happy Holidays / and a Wounder full happy and Prosperous new year For you and yours Mister Eagle555.