Search Unity

TerrainEdge 3 (need testers, feedback, ideas, etc)

Discussion in 'Works In Progress - Archive' started by Syanyde, Jan 10, 2012.

  1. spy60694

    spy60694

    Joined:
    Jan 23, 2012
    Posts:
    34
    this is amazing when i start working on my levels that use a terrain with mountains and stuff like that instead of a sci-fi spaceship or base i will probably think about using that, though it is likely i will use it.
     
  2. spy60694

    spy60694

    Joined:
    Jan 23, 2012
    Posts:
    34
    I recommend integrading into future versions a way to seperate the parts of the terrain generated into seperate meshes, doing this makes a map load so much faster and makes the game run better, i've seen examples with even small maps that don't use seperate meshes, the map is laggy when used, though the bootcamp demo is made in unity it is seperated into multiple maps and it loads the best compared to size graphics quality, and content, so i really think you should add that in a future version
     
  3. stefmen

    stefmen

    Joined:
    Apr 14, 2009
    Posts:
    791
    i agree with this this would be great!
     
  4. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Do you mean tiled terrains, or actually generate meshes from the terrains?
     
  5. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    Well, TerrainEdge generally is aimed at those wishing to make a massive world out of smaller terrain tiles already (at least, that's who I was aiming it at) but I can see that I may have overlooked some things...

    I've always started my landscape with a 500x500x500 tile at 128 or 256 resolution so I've started off with a size that's easy to tile. But, I can imagine someone creates a big single tile terrain and would want to break it down into smaller tiles - for that reason I'll add a tile splitting/merging feature. Ironically, it's exactly how the original TerrainEdge project worked with heightmaps.

    On the subject of meshes, I've not worked with them much yet but I have seen sample code for building a mesh from the terrain's data so it shouldn't be hard to at least add something like that, I'm guessing it'll help those developing for mobile/portable devices?!

    So... I've added the following to the wish list:
    TE: Tools -> Split/Merge Terrain Tiles. (Function to split a terrain into 4 smaller terrains and vice versa)
    TE: Tools -> Generate Mesh object. (Generate a mesh based on the terrain's heightmap)
     
  6. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Oh, I'm not asking for a terrain to mesh object feature, I was just asking if that was what he wanted. Or is that what he wanted? :)

    My personal vote is that TE focus on what it does best first (make building tiled terrains easy). I wonder how hard it would be to have a plugin like system, where other features can be added that work WITH the terrains TE generate.
     
  7. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    ^ I was replying to him, just covering both bases so it doesn't matter how I infer his request - a solution will be provided.

    Regarding making TE extendable - Well, if I follow Unlogick's advice as I intend to, I should be able to make a class template for other developers to add their own tools and generator/operator/etc functions, failing that I'll possibly include options that allow data to be processed and returned by other classes, etc. so developers can just enter their script/class/function calls.

    Further down the line, I'm planning to make it so that TE can be easily included in people's game engines with simple functions exposing customizable attributes (meta-data relating to terrains), a terrain-paging system, the use of difference-mapping so that only deviations from the generated world are stored (and applied when rebuilding) - meaning game devs could create a massive world with almost no increase in the size of their installer/package/etc.

    I'd be interested to hear any ideas you have regarding in-game integration too, other things that would be useful (eg. regions, weather, environment, etc.) and can be attributed to a terrain object (or group of objects). A full list of ideas, requested features and scheduled/planned development can be found here.
     
    Last edited: Jan 25, 2012
  8. houndie

    houndie

    Joined:
    Nov 25, 2010
    Posts:
    146
    What would be absolutely killer is a tie in from apps like World Machine 2 or L3DT and the like. I've bee working on the creation side in WM2 and have some very nice landscapes created, but when it comes time to exporting them with the creation of splatmaps, treemaps, grassmaps etc its really painful to get them all looking right. So looking over your product it almost seems like a perfect match whereby I really just need to export the heightmaps then using your tool create everything else based on the settings.
     
  9. fffMalzbier

    fffMalzbier

    Joined:
    Jun 14, 2011
    Posts:
    3,276
  10. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    @Malzbier.. I've already commented on that thread as I too really liked the look of the results and it seems like a nice, simple solution. :) I'll add replacement shader options to the wishlist (will make it so you can switch between default, UV-mixing and bump/spec (the last one being based on the shaders that 6x0 released)).

    @Houndie.. Would a bulk import feature help? I'm planning to make one where you can specify a filename filter: (eg: "MyExportedWorld{X}_{Z}.raw") which will load heightmaps matching the pattern and place the terrain tiles according to the numbers in the filename ({X} and {Z}). (I used to use World Machine 2 too before I started with this project - loved the way it could mix noise and make landscape that varies a lot.)
     
  11. joen

    joen

    Joined:
    Jan 2, 2012
    Posts:
    10
    @Syanyde... If you need any help setting up the shaders I've done some work in that area.
    Currently Unity Terrain only supports 2 shaders, one for first pass and another for the rest, each pass gets 4 splat layers.

    This is why most of the terrain shaders out there target exactly 4 textures. In fact you could use both shaders for fancy effects, such giving you 8 advanced materials to work with.

    Unfortunetely then you break support for the 9+ textures (showing a grass texture with a brick bump map doesn't look cool. ;)
     
    Last edited: Jan 26, 2012
  12. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    Hi Joen,

    Thanks for the advice - any ideas or help would be appreciated as I've not worked with shaders yet

    What I'm planning on doing is adding options so that bump/spec can be switched on or off (for the first 4 channels) and I'm wanting to make it so that people can apply UV-mixing to whichever splat prototype Ids they want. (as per the UDK texturing guide that larsbertram posted about and Malzbier linked to a few posts ago in this thread)

    So one question I do have: If I had bump/spec mapping on terrain textures (eg. using the replacement shaders 6x0 released), would I be limited to the uv-tiling on those first 4 textures too - or is it usable on the 4 non-bump/spec textures (prototype IDs 4-7) because it's re-applying a texture without requiring further (re)sampling of the source?

    Also, what would be the best way to tackle adjusting the shader? - Can I pass parameters to it or will I need to make my script rebuild the shader file and reload the project?

    Oh, and another question, besides playing and stopping a Unity project, is there another way to tell the SceneView to reprocess the shaders it's currently using (just so I could make the changes immediately visible to the end-user)?

    (I'm guessing a vertex-shader for snow would cause even more limitations to the prototype slots available?)
     
    Last edited: Jan 26, 2012
  13. joen

    joen

    Joined:
    Jan 2, 2012
    Posts:
    10
    When it comes to activating deactivating the shaders and changing the specs I believe what you need is the Camera.SetReplacementShader method.

    So you could have a list of Terrain Shaders, 6x0 have released a few, SubTerrain, larsbertram and then you apply those directly to the terrain rendering camera.

    The Terrain uses shaders like this:

    1st pass splat layers 0-3 use shader: "Hidden/TerrainEngine/Splatmap/Lightmap-FirstPass"
    2nd pass splat layers 4-7 use shader: "Hidden/TerrainEngine/Splatmap/Lightmap-AddPass" !!
    3rd pass splat layers 8-11 use shader: "Hidden/TerrainEngine/Splatmap/Lightmap-AddPass" !!
    ...

    So the problem here is that the terrain wont let you pass additional textures to your shader, so you have to use global shader variables. Since 2nd pass and 3rd pass use the same shader you can't change the extra data like bump map between 2nd and 3rd pass. Causing layer 4 and layer 8 to use the same bump map. This means that if you extend the 2nd pass shader then you effectively wreck the 3rd pass, unless the splats share bump maps.

    I haven't looked at the vertex shader for snow. But it should be possible to build it into the existing shaders so it shouldn't cost you any prototype slots. These limitation are directly linked to the Terrain. There have been multiple ideas on how to improve the Terrain in the future, however currently we have to live with these limitations.
     
  14. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    Thanks again Joen!

    @Malzbier.. Shader management options confirmed for next release...
    • Ability to toggle bump+spec mapping on/off for first 4 textures.
    • Multi-UV mixing per prototype/texture (with control over alternate tiling amount)
    • No need to play Unity project to see shader settings applied
    Used: Splat * 0.5 * (Texture1 + Texture2) rather than Splat * Texture1 * Texture2 * 4 as was suggested - I figured the example provided increased contrast and then multiplied the result by an arbitrary number and so was a bit unpredictable - hopefully the alternate I'm using will just be the average of the 2 textures and not need further adjusting.)
     
  15. Shad

    Shad

    Joined:
    Sep 21, 2011
    Posts:
    61
    Will this work for both bump/spec mapped terrain having 4 textures, and also have multi-UV mixing, both enabled at the same time?

    Also, would it be possible to include shader settings allowing for substances rather than bump terrains? The B2M shader is a requirement for the project I'm working on.
     
  16. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    Hi Shad,

    Yep, both at the same time (currently the 2nd UV being mixed is just mixed on the color/diffuse map but I'll be aiming to add bump map mixing too before the update - as an option). I'll check the shaders used for allegorithmic substances to see what I can include from there (if I'm allowed you to re-use it, etc. too!)

    Due to the shader passes - it might be the case that uv-mixing beyond the first 4 textures will require some reoganisation of prototypes. I suspect I'll be bound by the rules highlighted above (eg, whatever shader is set for texture slots 4-7 will also be applied to slots 8-11 respectively).... so it may be the case that people will have to pair up their textures on prototype slots that will share the output shader if it's on anything above the first 4 textures. (eg. making sure rock textures that are prone to tiling are placed in prototype slots 4 and 8 so they'll both be affected by the same Multi-UV rules.) - But I think this is pretty much a limitation that almost all other developers are bound by when working on the built-in terrain objects.

    I'll look into Farfarer's shaders too for the tri-planar as it'd be nice to include. Don't suppose you know how popular the parallax bump mapping is (with relaxed cone stepping, etc.)!? - I'm considering it's inclusion but if it's not that popular - might leave it for now.
     
  17. houndie

    houndie

    Joined:
    Nov 25, 2010
    Posts:
    146
    Yes this would help quite a bit, with WM2 I love how its so easy to create the different variable texture maps as well for both splatmapping and tree/grass mapping. But with your tool being able to do that works as well so if you can set for bulk import that will just make it awesome!

    @Houndie.. Would a bulk import feature help? I'm planning to make one where you can specify a filename filter: (eg: "MyExportedWorld{X}_{Z}.raw") which will load heightmaps matching the pattern and place the terrain tiles according to the numbers in the filename ({X} and {Z}). (I used to use World Machine 2 too before I started with this project - loved the way it could mix noise and make landscape that varies a lot.)[/QUOTE]
     
  18. Shad

    Shad

    Joined:
    Sep 21, 2011
    Posts:
    61
    Awesome. I personally probably would not use bump maps for the 2nd UV since that one is more zoomed out anyway, so I'm glad that's going to be an option rather than forced.

    On the allegorithmic substances, I could be wrong, but if I memory serves I think I read somewhere in the topic that they will accept updates on their terrain shader, or something along those lines.
     
  19. SinisterMephisto

    SinisterMephisto

    Joined:
    Feb 18, 2011
    Posts:
    179
    I wonder if building something like Rage's terrain or skyrim's mountains is far off. I am really looking for mountains and rock
     
  20. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    v2.66 released, several new features covering recent requests.. split/combine terrains, editor camera manager, tree-surround-foliage, improved foliage-groups, batch import/export of terrain, along with some UI clean-up, bugfixes and other things I've forgotten about. :)

    Have fun playing and experimenting with it, all feedback appreciated. (Code still needs re-structuring - I just wanted to clear off the last few feature requests with this release - now besides meta-data stuff and procedural mesh generation, etc. - much of the work left is clean-up and refining the existing tools within the package.
     
  21. Elcarim

    Elcarim

    Joined:
    Feb 6, 2012
    Posts:
    3
    Created this account because I had to say thanks.

    I was considering using World Machine 2 to generate all my heightmaps and then import those to work on them manually in Unity (as I had for a previous project). Now I don't even need to and all the extra stuff can be generated too so it's saving me even more time!

    FoliageGroups are much better in this release too. They're actually practical!

    Will test some more and post any bugs or problems I find here, but so far - amazing work.

    EDIT: Found a few little glitches:
    1) Editor camera positions (in TE-Tools) don't save to config file.
    2) If replacement shader is used, you need to have a directional light otherwise terrain goes dark/light depending on your angle - also, the shader seems to effect the detail layers too (I just removed it as a temp. workaround for now)

    EDIT2: And another:
    3) Tree surround foliage fails if you use trees to surround trees. (hope that makes sense!) - I fixed it myself just adding 3 characters to the script so I'm sure you'll get it fixed easily enough. (PM me if you need more information)
     
    Last edited: Feb 6, 2012
  22. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    @Elcarim.. Thanks for the feedback. I will have all 3 issues resolved in v2.67.

    @All... Slight delay with 2.67 - I'm adding flow-mapping which will allow you to do the following:





    More delays... Noise painting and lots of crazy experiments going on. :)
     
    Last edited: Feb 12, 2012
  23. Lantos

    Lantos

    Joined:
    Feb 12, 2012
    Posts:
    10
    Nice work, looks really good

    I don't like to sound like a complete noob, but i can't seem to add TerrainEdge to my terrain "Take the script and attach it to the Terrain"
    Or I might just have been blind, and not been able to see instructions for it.
     
  24. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    You don't need to attach it to a terrain.

    To launch TerrainEdge, just click on the "TerrainEdge" option in Unity's "Window" menu. :)

    I really should state that somewhere - as I don't think I did yet!
     
  25. cod

    cod

    Joined:
    Nov 26, 2011
    Posts:
    267
    man, here are some pics from my WIP airplane game :

    $best.jpg
    $best1.jpg

    If u have any advice reply here!! :)
     
  26. Kridian

    Kridian

    Joined:
    Jan 24, 2012
    Posts:
    55
    That is f---**g gorgeous cod!
     
  27. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    @cod, looking really cool. Care to tell us which shaders you're using?

    @Syanide, props for keeping up the good work.
     
  28. a1s2d3f4

    a1s2d3f4

    Joined:
    Mar 20, 2011
    Posts:
    415
    A road generator would be really awesome in this
     
  29. a1s2d3f4

    a1s2d3f4

    Joined:
    Mar 20, 2011
    Posts:
    415
    Also, how can you make the mountains that look more... Jagged (I'm not sure how to describe it) and make it look more like cod's pictures? The mountains I make always look more like hills, with more of a rounded top, I can't seem to give them that realistic look like in cod's pictures.
     
  30. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    @asdf1234..

    For peaks you can use ridged. (Additionally, using a subtraction function using a billow channel as the 2nd source will create ridges/peaks)

    I'll probably add some GeoControl style features eventually too (so you can specify a region, type of noise and the general height of the terrain - and the relevant landscape will be generated. For now though, working with noise channels and noise-painting (in 2.67 onwards) will give a lot more control over terrain anyway.

    Regarding a road generator, I plan to add something in for paths/roads using waypoints similar to what 6x0 have done. - Maybe even something with pathfinding to automatically work out the most logical route for a path according to the terrain and a set of parameters (max slope, maximum amount of terrain that can be displaced by forging the path, etc.).. but this is a little way off yet, so probably won't plan anything like that until next month.

    Experiment with octaves, lacunarity and persistance too as they all make considerable alterations to the output.


    @Unlogick..

    Thanks... I'm starting to feel the pain of not separating the code out now having pushed past 4000 lines... think it's time to create a new namespace and move TE's core functions, etc. out I'll start doing it with this next release and then gradually migrate code away from the UI layer - btw.. thanks for your advice on that as it's helped me avoid making new routines that are dependent on variables held in the UI classes like I had done at the start.
     
    Last edited: Feb 20, 2012
  31. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    @syanyde - 2.67 looks really great. Any ideas when it might be ready? Can't wait to use the flow mapping. :)
     
  32. a1s2d3f4

    a1s2d3f4

    Joined:
    Mar 20, 2011
    Posts:
    415
    K so i did the ridged option and got some good results, but the tops of the peaks are a bit too pointy, and i tried turning the octaves down but i didnt like the way it looked after I did that. Is there a way to fix that, or should i just use the smooth tool on the terrain a little bit?
     
  33. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    @asdf1234... You could do that, you could also try creating a low-frequency perlin noise in a different channel (average settings on everything except frequency) and then use multiply to mix the ridged and perlin together on a 3rd channel... the subtle irregularity from the perlin noise can help make the peaks from the ridged noise less harsh. Some of the best results I've had have come from combinations of noise using min/max/multiply 2-3 times (so 5-6 channels, 3 of which are functions to mix the noise channels together). - I understand what you mean about octaves, I usually use between 4 and 8 depending on the noise type. A better way to reduce harshness of terrain is by lowering frequency and/or persistance (and if this then makes things look a bit dull, increase lacunarity a little)

    @Jaimi... I had said end of the month, but will probably do a release just after the weekend if everything goes to plan. :)
     
    Last edited: Feb 16, 2012
  34. cod

    cod

    Joined:
    Nov 26, 2011
    Posts:
    267

    well, right now I'm using a custom terrain shader, it's called ats terrain shader (if I remember), however u can easily find it on the asset store or looking at my previous posts. And, of course, it's FREEEEEEE!
     
  35. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    @cod: Actually I played a bit with the ats2 terrain shader for the first 4 layers but it bloomed my colors, so I had to tone it down a bit. I use a modified version of the substance shader on the last 4 layers.

    @Syanyde: Thats why I addressed it so early. It only gets worse. If you really need a hand I think I could find a day sometime in the next month.
     
  36. Chris Aoki

    Chris Aoki

    Joined:
    Jan 15, 2012
    Posts:
    200
    Getting a lot out of range errors like this when using this tool.

    ndexOutOfRangeException: Array index is out of range.
    (wrapper managed-to-managed) object:ElementAddr (object,int,int,int)
    TETextures.genIt (UnityEngine.GameObject go) (at Assets/Editor/TerrainEdge.cs:1954)
    TEExpand.makeTerrain (Int32 x, Int32 z) (at Assets/Editor/TerrainEdge.cs:379)
    TEExpand.OnGUI () (at Assets/Editor/TerrainEdge.cs:290)
    TerrainEdge.OnGUI () (at Assets/Editor/TerrainEdge.cs:3204)
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
     
  37. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    Thanks Chris, some of those issue are due to the same prototypes not being available on all terrains (I'll put something in place to detect this and prevent it).

    I'll have to check through a copy of 2.66 though just to be sure I catch all of these errors. Will try to get things all cleared up in the next release.

    @Unlogick... Thanks for the offer. I've already stripped a quarter of the code out of the GUI into one of 3 seperate classes (I've set up a namespace "TerEdge" and within that are 3 c# scripts: teUI.cs (static class to help me factor down GUILayout, etc. calls), teFunc.cs (to manipulate objects, data, etc.) and teMap.cs (for import/export/etc functions).

    I'm probably doing something wrong somewhere - but it all seems to be working, it's already making the project easier for me to work with and with me making functons/methods/etc called with explicit parameters (rather than relying on the GUI layer's properties, etc.) - I'm sure it'll at least be a considerable step in the right direction. - That said, if you do get a chance to have a quick look at the code in 2.67 (it'll be out in about a week) and give me a nudge in the right direction, it'd of course be appreciated. :)
     
  38. cod

    cod

    Joined:
    Nov 26, 2011
    Posts:
    267
    @ chris I have to say there'r lots of bugs, especially working on big projects, however I found a solution : create a new empty project and just import syanide extension. Then, once the terrain has been generated, u just simply export the heighmap and import it back in your original project :D
     
  39. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    I'm hoping to dive back into using TE soon, Syanyde.

    You mentioned multiplying layers and such, and someone earlier posted some VERY nice terrains. This is something I haven't experimented with yet, and don't know much about.

    I think something that would be of GREAT service to those who use this is, some examples of using different settings to produce different terrains. The most awesome terrains in the world are little more than eye candy if people don't know how to gen them with TE :)

    I'm going to go home this weekend and see if I can make some very nice terrains. I'll post screenshots and pics of the settings I use.
     
  40. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    Thanks for the additional feedback, I'll take a day or two out for testing prior to the next release and try to force errors so I can get most of 'em cleaned up.

    Bugs should also be a lot easier to find and fix starting with the next version because of the way I'm separating the code out.

    As for mixing the channels - it's essential for a varied and interesting landscape - otherwise it's like using World Machine with a single generator.

    You're right about providing examples too (this is why I included the flow-texture settings in the latest screenshots - I figured it's a fine art in tweaking to get the desired results). - I'll start guides/documentation on-line and link to it from TE soon. One thing that might also help is to have presets to cover groups of options. (eg. A dropdown with a bunch of verbose descriptions of terrain types, that when selected will automatically configure all your noise channels for you.) - I'll look at adding those within the next few releases.

    I've also been considering doing a "full" release which would include various assets, a sample scene containing a terrain already loaded with splat, detail and tree prototypes and a bunch of TE-configuration files which could create some good and varied examples when used on the terrain object... more on that soon. :)
     
  41. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Ok, I'm getting back into TE, and I'm almost embarassed to ask this:

    In the TE:Textures screen...I seem to have some sort of mental block on understanding how to make this work.
    Could you provide a little more explanation on how to use it? I understand the elevation sliders (I think), but the slope ones don't seem to work for me. Even if I space out the various slope values, I still get sharp borders of textures.

    Also, with details...how do you select the detail which applies to which rule? I can select rule 0-9 and (none or Unknown) in the other dropdown.
     
    Last edited: Feb 18, 2012
  42. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    @jc_lvngstn.. I've found 2 issues related to the problems you've found and have addressed those below.

    Update Feb-20th

    While new features are implemented - the last few posts here have highlighted a couple of issues so I'm just taking a little extra time out to test, debug and fix these problems before 2.67 is released.

    1. Slope texture issues - Found a couple of issues. (a large part of the problem is to do with elevation settings at 1.0 not really being the maximum elevation. - I was using TerrainData.heightmapHeight rather than TerrainData.size.y to factor the .GetHeight values into heightmap values. In addition to fixing this, I've also unlocked the other sliders in the texturing interface (anything above or below those points will just use the splat below/above them respectively). - So, in 2.67 it's fixed and you have more freedom with those controls.

    2. Detail prototype list displaying "Unknown". - Have found the issue and fixed it ready for next release. I was only referencing the prototype texture name, next release will show prototype names regardless of whether it's a detail mesh or billboard texture.

    3. Various other bugs/glitchs. - Bugs from 2.66 are being individually checked to make sure they're resolved for the next release.

    Update on Splatmap imports: Splatmap importing is possible in 2.67 and you can choose which channels (RGBA) are applied to which layer/prototype/texture. I'll extend this in later releases to cover detail (which can already be applied based on splatmap values), trees, foliagegroups and more... but for now, just splatmap importing with flexibility on RGBA-channel-to-Alpha(splat)-layer assignment.

    Will probably release 2.67 some time in the next few days.
     
    Last edited: Feb 20, 2012
  43. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    I noticed in the TE: Detail section, it only appears to allow detail textures, not detail meshes. This means I can use 1-plane grass meshes, but not bi or tri plane (which sure look nice :)

    So...I'm still a bit confused by the Textures usage. I'd appreciate it if anyone could shed some light on understanding it.

    I'm having trouble understanding how the current setup works with slope AND elevation.

    If I only had the elevation rules, it would be weird because you would have only sand up to a certain elevation, then dirt, then grass, then rock. Your terrain would have "bands" of textures, depending on the height. I get that.

    Now, if I only had slope rules, you would have something like only grass on flat ground, only dirt on slight slopes, cliff on steep slopes. Very limiting, I get that.

    But I don't see how the rules work together in the current design. It almost seems as if you need to be able to define elevation rules, and for each elevation rule, you can define a set of slope rules.

    So, for each elevation rule, you define slopes and what textures apply at those slopes.

    That way, you would say at sea level (0 to 0.2), it's only sand. You would have one elevation rule, and one slope rule assigned to it.

    At slightly higher elevations (0.2 to 0.3), sand is on slopes but grass is on flat ground. So for your second elevation rule, you would have two slope rules.

    At the highest elevation (mountains), you would have dirt on slightly sloped ground, rocks on steep slopes, dry grass on flat ground. So for that elevation rule (0.7 to 1), you would have three slope rules.

    Does that make sense?

    One other issue:


    Anything that can be done about texture seams?
     
    Last edited: Feb 21, 2012
  44. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Sample terrain, thought it was nice. Please ignore the textures :p


    Settings:
     
  45. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Another issue:
    Seen the nice looking large hill in the foreground?




    Here it is after fixing the seams, for all terrains:
     
  46. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    And another:


    In this one, I placed trees, specifying that they be placed just above the lowest elevation. Instead...part of the terrain gets trees (the right half), part gets none (the left haft, and the distant terrain out further). Seems odd.

    From what I understand, this is sort of like the mass place function, is that so? If so...strength isn't strong enough...I had it cranked all the way up, and yet my trees are pretty sparse.
    FYI, the terrain resolution in this case was
    width: 4096
    height: 4096
    resolution: 1025
    Detail resoultion: 256

    ok, I bumped the detail resolution up, that made a big difference. Which...is odd, because even with a low detail resolution, I can paint very dense trees using Unity's tree painting. Setting the detail res at 1024 gives me a LOT of trees.

    When I increase the height, I noticed that the trees "march" forward along the negative X axis..or..something. I dunno...it's not consistent. Either way, the height setting seems off. Slope seems fine.




    Here is the terrain with a detail resolution of 256. In the middle, I painted trees using Unity's tree painting at about 25%, but TE strength was set to 100%. The sparse trees outside the middle were placed by TE : Trees, the clump in the middle by Unity's tree paint.
    If I painted using Unity's trees at 100%, it was a VERY solid mass of trees. So tree density in Unity doesn't seem to be related to Detail Resolution, or at least not as powerfully as maybe grass or such.
     
    Last edited: Feb 21, 2012
  47. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    The elevation textures are applied first.

    With steepness:

    The elevation textures are retained for all angles up to the angle defined for "(elevation texture)" (which is the point where the elevation textures (whatever they may be) fade into the first slope texture... after that it'll just fade between the assigned textures at the assigned angles.

    Besides that - there's no connection between elevation settings and slope settngs.

    I'll post up some examples of terrain later on tonight.

    Also with billow producing an inverted version of ridged when using the same seed, the conbination of the two would add no discernably variety variaty to the heightmap.

    Also, which version are you using? - in the last release TE:Trees assigned trees not by strength - but by # of trees per terrain.

    I'll post up an example of a terrain tonight with all the settings I use ;)
     
    Last edited: Feb 21, 2012
  48. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Pretty sure I am using 2.66.
    Also, any idea of why there is a strange height shift when stitching the terrain, in the example a few shots abofe?
     
    Last edited: Feb 22, 2012
  49. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    Screenshots indicate it's 2.64 you are using. ;)

    For the joins, only join broken edges. And unless there's a major break, keep the range/distance down to one.

    Here's a quick example I did earlier, I can do much better but didn't have time to go back through and re-tweak. :)

    With regards to texturing at the seams, the flow-textures will make the seams even more obvious if you use them... but I do have a plan, well, 2 plans.

    1) Same procedure I'm using with noise-painting. - Pull the alphamaps from the 3x3 grid surrounding (and including) the current terrain and process the full area (but only apply the changes to the selected tile)

    2) Make the alpha map layers have matching values at the seams, forcefully.

    Oh and the tree elevation issue - it was the same issue as the elevation based textures (using heightmapHeight rather than size.y - so in 2.67 there shouldn't be any problem with that.)

    Also, if you want precise control over seams (more than any automation can give) - just merge 4 adjacent terrains (in a square) together (using a feature in the v2.66's TE:Tools "Split/Combine" and use unity's built in tools to smooth out the seams - then split it back up into 4 terrains again. -

    I will be coming back to improve the functions of the seam-fixer/joiner as well as the slope tool - both have nasty falloff (or lack of falloff) issues and I'm personally not happy with the results they produce so I will take a look at those soon.

    ----

    @anyone requesting overhangs...

    It won't be coming in 2.67 but I have started working on TE's procedural mesh generation. I suspect it will take some time to get it looking and working properly but so far it can build primatives with vertice displacement based on noise channels, etc:.. so - won't be long before rocks, cliffs and overhangs are part of terrain edge.

     
    Last edited: Feb 22, 2012
  50. Wolfos

    Wolfos

    Joined:
    Mar 17, 2011
    Posts:
    951
    Terrain shaders work like S*** on Mac (like most terrain shaders). Use the shader that comes with Allegorithmics Substance Terrain tool instead, and even that one can't use more than 4 textures without bugging the hell out.