Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

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

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

  1. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    TerrainEdge (v2.67)
    Procedural world generation and terrain management tools.

    Features | Changelog | Plans Ideas

    Old screenshots: Output | Interface

    Video of basic landscape generated in 10 mins (New)

    v2.67released February 25th
    + Fixed max-terrain-elevation miscalculation.
    + Fixed detail-related features that were showing detail meshes as "Unknown".
    + Fixed control points for curve and terrace opreators.
    + Fixed surround foliage on trees.
    + Reimplemented auto-save to stop TE from losing your settings when you play or recompile scripts (won't trigger a popup message either - it'll just notify you via debug.log.
    + Changed configuration loader - it's much faster now. (it was necessary otherwise autosave was irritating!)
    + Extended functionality of splat generation (more control over range - and the elevation fix).
    + Several other interface glitches fixed.
    + Extended replacement shaders to include add-pass.
    + Added Triplanar shaders, adding multi-UV tiling in the process.
    + Splatmap import function added.
    + Pseudo flow-mapped texturing (see below) - will replace or compliment with erosion/sediment mapping when I improve erosion features and tackle the texture-at-seam issues in 2.68)
    + heightmap noise painter (which can paint across terrain seams)
    + libnoise operators implemented: Abs, Invert, ScaleBias, Exponent, Turbulence.
    + new libnoise operators added. (WindexWarp, TEWarp, possibly more..)
    + new libnoise generators added: (fBm, Het.MultiFract and Hybrid MultiFract).



    2.67 Known Issues:

    ! - New generators probably not exact implementations, will check and review.
    ! - Splatmap importing is on it's initial implementation too - I'm expecting problems with it!
    ! - Splatmap generation tree generation were slow (see below)
    ! - Flow-map texturing settings do not save with the rest of the configuration.
    ! - Attempt to clone allegorithmic shader was a failure!!
    ! - Procedurally generated terrain textures sometimes don't match up well on terrain seams.

    UPDATE (28 Feb): Texturing and trees were generating VERY slowly in 2.67. To address this please use the replacement TerrainEdge script (Texturing is about 5 times faster and tree generation is about 20-30 times faster)
     

    Attached Files:

    Last edited: Mar 2, 2012
  2. modulo

    modulo

    Joined:
    Sep 10, 2011
    Posts:
    31
    Thank you very much this tool is really great
     
  3. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Holy cow, Syanyde! This looks like exactly something I have needed. Very nice feature list too.
    I'll be glad to give you feedback and test it. My project makes heavy use of terrains, and this would make working with them much easier! I've been using World Machine 2 to generate the tiled terrain, and was starting to think about matching up the seams, etc.

    Beautiful, I can't wait to try it out. If you get bored, a web player would be sweet...but the unity package is good also.

    Here are a few suggestions I can think of:

    When placing trees, I've noticed that having a few detail meshes around the base (like a bush, or a clump of grass) really helps. A tree standing in the ground with nothing around it just looks barren sometimes. It would be sort of like clumping or noise for certain detail items, but around the bases of trees.

    Looking at your screenshots/feature list, when mass placing trees can you control the size of the trees? Unity always seems to use the default size of trees when I mass place, instead of what set in the inspector. It pretty much means I don't use mass place.

    Can vegetation be placed depending on the current tile splat value? For example, no grass on a rock or sand tile.
     
  4. PizzaGuy213

    PizzaGuy213

    Joined:
    Nov 23, 2010
    Posts:
    305
    Thanks! I'll be testing later today.. Already I got some features you'd might want to implement: Maybe some updated terrain editing tools; like nice slopes etc.

    Also, a Tunnel feature would be awesome, but that'll probably be too big of an undertaking, as that can't be done with heightmaps..
     
  5. cod

    cod

    Joined:
    Nov 26, 2011
    Posts:
    267
  6. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    @jc_lvngstn

    WM2 was my primary inspiration for NoiseLab as I hadn't found anything else capable of creating massive, varied landscapes (I might do a node-based version when my Unity GUI skills improve). There's still a few features I need to add but I think I've captured a lot of the possibilities of WM2 in TE... I'll keep trying to add more though.

    I agree with your trees/foliage comments too, although use of noise channels for things besides the heightmaps (eg. splatmaps, trees, detail, etc) is already planned - I will implement something in the TE:Trees module so that you can specify surround-details for trees with adjustable distance, density, etc. per-detail-prototype-per-rule (so you can have multiple tree rules that have different rules for their surrounding details (eg. so you can make the same tree have less detail around it at higher elevations/slopes/etc.))

    Also, 2 additional observations with trees. Trees with very dense foliage can reduce the growth of grass surrounding the trunk and so appear to have patches of mud or much thinner grass, etc. surrounding the trunk. Also, in autumn, some trees tend to be surrounded by leaves - For this reason I'll probably add some controls over the ground texture beneath trees too. - And... still on the subject of trees, sometimes the ground is raised by the roots of the trees too - this is also something I'll look into implementing into the TE:Trees module's rules/options at some point.

    Refined control over trees (colors, sizes, etc.) is something I'm currently working on (trying to get it implemented in the next release which should be ready in the next couple of days). Can't say how effective it'll be until I've tested it but I don't think there'll be any problems. - and finally... yes, we can plot instances/layers/etc based on any other terrainData so I'll add splat-prototype to the tree/detail rules for you soon.

    @ThomasQ

    Thanks for the reminder, a slope tool is on my to-do list but I had forgot to mention it in my original post. For tunelling, there are shader/trigger/collider techniques (which come with physics related headaches), there's the portal approach (but it means every tunnel/cave/etc. will need to be entered via a path that takes a 90 degree turn and there's another option based on slicing terrain up into smaller and smaller chunks to provide a seam where you need it... but it's messy and is likely to create terrain that's incompatible with terrain-paging systems. - None of these are easy to automatically implement but I will look into the options we have available for this once the more basic features are implemented into TE. (Unfortunately, I've only been coding c# for about 3 weeks and not yet explored Unity's mesh-related functions so I'm still not totally sure what I will and won't be able to do!).. if I do make any progress with tunelling/overhangs/cave-entrances/etc I'll send you a PM.

    @cod

    Thanks for the bug-report... - I noticed that "turbulence.cs" is where the errors are coming from. Thing is, LibNoise's turbulence operator isn't used until v2.64 (which I haven't released yet). I guess one of the other generators or operators must be referencing it. I'll investigate further and if we cannot find the problem soon, I'll add logging/debug features to track all the LibNoise functions called by TE (and the parameters used) so that we can clear up the problem quickly.
     
    Last edited: Jan 12, 2012
  7. cod

    cod

    Joined:
    Nov 26, 2011
    Posts:
    267



    could u fix that please :D?
     
  8. Swearsoft

    Swearsoft

    Joined:
    Mar 19, 2009
    Posts:
    1,632
    Haven't clicked on the link, cos I couldn't figure out what you meant with the title. I finally did and will try asap.
     
  9. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Syanyde, if there is anything I can specifically test or help with, please let me know. The project I am working already uses a lot of terrains with tiles, so I'll be able to work that quite a bit.
    Already impressed with the features you have, and I haven't even gotten my hands on it yet.
    Control over the ground texture beneath trees is a great idea.


    One other suggestion came to mind, not sure how difficult it would be though...
    Is it possible to apply the terrain noise functions/erosion to the BRUSH, and not the entire terrain?
     
  10. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Yeah, same here.
     
  11. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    @jc_lvngstn ... Not sure if I can hook directly into the default terrain brush but we might be able to do it with gizmos. I'll look at how others have done this sort of thing and see what I can do. I remember using the erosion brush in 6x0's Terrain Toolkit - but it seemed laggy to me (maybe a combination of the crappy computer I was on at the time and the fact it was having to call SetHeights repeatedly) but I'll certainly look into this as it'd be a better alternate to the regions stuff I was planning.

    @Wolfos ... Load the package, create a terrain object, add 2-3 textures, a detail brush (grass, etc) and a tree. Then click "TerrainEdge" in Unity Editor's "Window" menu to launch TerrainEdge. If you get stuck after that, let me know.
     
    Last edited: Jan 12, 2012
  12. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    What is the exact licensing of this? I see both LGPL and GPL, last time I checked GPL had some nasty clauses about making your own source code available. LGPL is more lenient and only requires you to make any changes you make the library available.

    I merely ask because if its GPL then its really not useable for anyone... simply including it in a unity project (which effectively means linking it) is a breach of the license. However if its really LGPL there is no problem at all.

    Cheers,
    UnLogick
     
  13. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    I took a look at the source code, and have some feedback. I really hope you're able to sort out the licensing and provide this as LGPL.

    First I suggest splitting the various filters into separate classes, derived from a base class that supports the shared methods. You can make each class responsible for their GUI update or you can make it publish a list of properties and then do some generic code to handle this. This would make it much easier for others to add their own filters. Also it would make it easy to use this tool at run-time too.

    Cheers,
    UnLogick
     
  14. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    Thanks for heads up UnLogick...

    There is no license on TE itself, just for LibNoise. As this is released as an editor script, I figured developers would just remove TE and LibNoise when they are finished authoring content - as it wouldn't need to be a part of their game engine.

    As for the resulting content, it can be exactly generated through other generators and in the realms of IP litigation, can be demonstrated as a case of 'prior art'. Additionally, using art assets created by a GPL licensed application within your commercial game engine doesn't mean you are breaching the agreement. It would have to contain the source code (or assembled binaries, etc)..

    TE's use of LibNoise isn't derivative, it's delagatory but it's irrelevant, whether TE is obliged to inherit the license or not... If you remove TE and LibNoise after you've made your world... you should be okay, at least as far as I can see in the license agreement.

    (and I'm not aware of any art-asset-generated-by-a-GPL-licensed-app being used in another engine and that other engine being held to the GPL's terms - it would make a lot of GPL licensed art tools obsolete to commercial developers.)

    So... just remove TE and LibNoise when you're finished with them - and don't include those scripts in your game (you won't need them in the game anyway!!) :)
     
    Last edited: Jan 12, 2012
  15. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    I took a look at LibNoise and only the "libnoise example sources" use GPL, so if you can make sure you don't use parts of that code you can change the license to LGPL and all will be fine. :)

    Once you do that I think I can find a little time to help you out, structuring the code a bit. Right now its a lot of good functionality that's wrapped with in a big mess. :)
     
  16. Wolfos

    Wolfos

    Joined:
    Mar 17, 2011
    Posts:
    950
    This is absolutely brilliant!
     
  17. Wolfos

    Wolfos

    Joined:
    Mar 17, 2011
    Posts:
    950
    Funny thing is, though. When expanding terrain, it takes a S***load of time to finish, even though it seems to be done in like 3 seconds.
    EDIT: may be related to the fact that I've only got one texture in the scene.
     
    Last edited: Jan 12, 2012
  18. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Some initial tests:
    I imported a 128x128 heightmap (windows), set the size to 512x1024x512

    Detail:
    setting the strength at .06 or less showed no details at all. Setting it at 0.07 looks like full detail, very thick grass. So, I would think that strength = density?

    Height: Setting it to less than 0.38 shows no grass. .38 and above = grass all over, full coverage.
    Slope seems to work great! Love it.
    Noticed a wide strip of no grass going across my terrain...like somebody took a giant lawn mower and cut straight across.
    Added another grass to the terrain, it showed similar results. So tested with 2 grasses on the terrain.

    Trees:
    Added one tree. Height was from 0 to 1. Slope was from 0 to 90. Strength .153.

    Strength appeared to work fine. The trees only appeared in the bottom part of my terrain...not lower in elevation, but on the bottom tenth side of my terrain. Along the bottom edge, if that makes sense, in a narrow band. Kinda like someone planted a band of trees with that same lawn mower.

    I'll test some more later.
     
  19. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    Thanks, I think I'd already removed the example sources in the 2.63 release. :)

    I had been meaning to change some parts of the code (introducing structs, enums, etc.) and batching declarations into groups but I'm kinda learning as I go and was going to go back over the code before I release as v3.0 to tackle my messy code. That said, any help or advice would be greatly and humbly appreciated.

    Working on this now, initially with random probability but will later make it depend on noise. Either way, I'll play with this now to make sure detail can be applied at lower levels, I know the exact problem you're referring to as I've noticed that too.

    The height (in terrain/detail/tree rules) is based on the heightmaps maximum size rather than just the height-extents of the current terrain object. This may be part of the issue but I will make a test terrain with a gradient from zero to the heightmap's max value and run some tests using that to make sure the values are adjusted if they are inaccurate.

    Regarding that wide strip of no grass, it's related to not clearing values as it iterates through the x:z coords - I fixed the bug for textures but didn't realise it was elsewhere... I'll get it fixed ready for the weekend. I'll also investigate the issue with trees for you too and post back as soon as I figure out what the problem could be.

    Hopefully will have v2.64 ready by the weekend.

    ------

    @all ... Thanks for all your feedback so far. Really appreciating it. :)
     
    Last edited: Jan 13, 2012
  20. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,899
    i just had a quick look at your tools – really a nice start!

    but before adding more sophisticated features like manipulating the terrain textures according to the placement of trees – which i would really like – i think it is time to implement just some basic features which unity should already have done years ago – e. g.:

    * resizing the the terrain splatmap and detailmap without loosing all your work (plus undo and export/import functions maybe…) this would be extremely helpful to balance your terrain’ s appearance and its rendering costs.

    * some more manual tools like limited painting of a texture by slope angle / height.

    * painting not of single trees or grass textures/detail meshes but defining some kind of vegetation group like: dense forest consiting of e. g. 5 different trees, some grass textures, 2 – 5 detail meshes and a terrain texture would be great.


    lars
     
    Last edited: Jan 13, 2012
  21. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    My pleasure, I had a blast playing with the terrain gen. Great job! This weekend I'll have more time to put it through some testing, and I'll see if I can get you some more concise results.
     
  22. Wolfos

    Wolfos

    Joined:
    Mar 17, 2011
    Posts:
    950
    Keep getting completely black and empty terrain now with the expand tool. I have to manually paint textures on those too.
     
  23. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    @Wolfos ... I'm aware of this bug. If you make sure your slope textures are different from your height textures - it should act as a workaround to that specific problem. Will work on a fix for this for next release (some time during the weekend).

    @Lars ... Thanks for the foliage-group painting and map-resolution-adjustment-while-retaining-features ideas, will look to get these (and possibly some of the other ideas) implemented I've cleared a few bugs up.
     
  24. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    http://dl.dropbox.com/u/5556115/FreeWorld/TE - grass strip.png
    Here's a screenshot of nice green rolling hills, you can see the mowed grass strip bug.


    Another bug I ran into: If you gen a terrain with multiple channels (and maybe just one), billow on the first and perlin on the second.
    Have more than one terrain, and apply the noise to all in the scene. It doesn't really seem to apply the full noise effects.
    If you keep applying, it keeps modifying the terrain. So it seems to gradually apply the noise effects, each time you hit apply to scene.

    You can also see the trees shoved only appearing on the left side.
     
    Last edited: Jan 14, 2012
  25. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    If you have the "alpha" setting (above the buttons for applying heightmaps) anything below maximum - it will do this (it blends generated heightmap with existing heightmap)... I suspect that may be the reason. Please let me know if it isn't. Thanks. :)
     
  26. a1s2d3f4

    a1s2d3f4

    Joined:
    Mar 20, 2011
    Posts:
    415
    This is fantastic :)
     
  27. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Big wish: Get rid of the confirmation dialog (or provide a checkbox to not display it) when applying to a full scene :)
     
  28. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    I think it might be there because there is currently no undo... ;)

    Once its properly integrated with the editor the undo/redo should work, and it can actually be built with a cancel button if its too slow. Anyways I'll take a look at getting this done when I'm done rearranging the code.
     
  29. cod

    cod

    Joined:
    Nov 26, 2011
    Posts:
    267
    @Syanide have u solved the problem I said to u? I'd really like to try it :D
     
  30. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    @cod couldn't see your issue, screenshot ql too low.
     
  31. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    This tool is a result of your other big project's effort? That speaks volumes about the coming success of that project, then. Feel free to update the WIP thread with more updates :)
     
  32. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    This is completely unrelated to the mmo project I'm working on.

    I just stumbled into the thread and saw a nice tool. Then I checked the code and found it to be one big mess. :)
    So I thought that if I spend a little time cleaning it up, Syanyde might get some help. :)
    In its current messy state I doubt many would consider adding new features. - EDIT: actually it is taking a bit longer than I expected, but I do expect it to be worth the effort. :)

    I'm not adding new functionality or anything, just adding some classes for structure. :)
     
    Last edited: Jan 14, 2012
  33. cod

    cod

    Joined:
    Nov 26, 2011
    Posts:
    267
    $Immagine.jpg here's my reply

    if u want to see it better, just type "Ctrl"+"+"
     
  34. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    Thanks UnLogick. Although I will be releasing v2.64 with messy code later today, it's just for the sake of getting features out for testing, to check bugfixes, etc... - But what I'll do first with v2.65 is basically transfer the 2.64 changes into the properly structured code you're working on. (and will retain that structure from there on). Anyway, thank you. :)

    EDIT: v2.64 is now available... hope the bugfixes cover the majority of problems reported.

    @cod... I can't see what would be calling Turbulence.cs - hopefully someone can replicate the problem soon - I'll keep searching for answers though.

    @Unlogick... I see what I was doing wrong with the Undo's. I was applying it to the game objects and scene when I should have been using it with the terrainData - Just tested it now and it worked, so feel free to skip the undo stuff. Really, it's methodical class-building and proper class structure that I need guidance with the most - so am looking forward to learning from the improvements you make - hopefully then I'll be able produce things more developer-friendly in future.

    EDIT: @Unlogick... v2.65 will be using the structure you provided, I've already moved all the new features (and have added MapInspector in the same way you had arranged the other classes). I've cheated with the configuration for now by making a lot of stuff public/static and just referencing it via each classes name but I understood what you meant about separating the load/save functions so that each class has it's own and then making something to just iterate through all the group member's save/load functions. - I'll have a go at that after v2.65 is out.)
     
    Last edited: Jan 16, 2012
  35. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Due to time constraints I only got one of the three class layers completed... :( It should still provide a guideline on how to complete the last two layers. :)

    I pm'd Syanyde with code and thoughts behind it. I hope he will pick up on the suggestions and follow them through.
     
    Last edited: Jan 15, 2012
  36. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    @Unlogick, will check it out tomorrow and start restructuring the remaining code accordingly... thank you.

    @larsbertram, almost got the resolution-adjust feature built (so you can adjust heightmap, detail and splat map resolutions and the content will be extrapolated/interpolated accordingly) - Will also start working on foliage groups and some functions to allow noise, mixed foliage, etc. to be painted onto the terrain.

    @jc_lvngstn, next release will have working undo functions so I'll remove the annoying dialog boxes then. :)
     
  37. a1s2d3f4

    a1s2d3f4

    Joined:
    Mar 20, 2011
    Posts:
    415
  38. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Thought/suggestions/etc:

    1. Default the tree color and lightmap to full white, instead of black.
    2. Added abotu 16 terrains, billowy. Join gave me some VERY steep elevation changes...like a plain going almost immediately to a mountain peak, mountain looks like half has been chopped away. Rerunning noiselab put the terrain right, but rerunning join reintroduces the distortion. Let me know if you need more info.
    3. Some of the general terrain settings (Draw distance, bending, etc) would be great additions.
    4. I still have some confusion applying different textures at different slopes and elevations...that is, I can't seem to figure out how to use them properly. I get dliff textures on steep slopes, but they also appear on flat ground.
    5. A tree count indicator, or way to limit it would be useful to me personally. My project needs to keep it down to certain limits, and it's hard for me to eyeball :D
     
  39. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    1. (Implementing in v2.65).
    2. Will bring back linear-joining as an option but also am working on a seam transition that uses slight noise/turbulence/etc to make the join look more like natural terrain (so a join that uses a large-distance blending won't have to look like it's all smoothed out).
    3. I've tended to set one terrain how I like (draw distance, bending, etc.) and then just use TE: Sync to make other terrain inherit those settings - so for now I'd suggest using that - but if there are ways to improve control or if TE: Sync isn't suitable for your requirements - let me know and I'll add whatever you need.
    4. I'll do some extensive testing with textures and hopefully have any problem there fixed in the next release.
    5. (Implementing in v2.65).

    ---

    @ZJP (Unity3d-France) ... v3.0 = non-payante :)

    ---

    @cod.. (in reply to your message on the next page - thanks for letting me know, I'm glad you've got it working - would be interesting to know what had caused the conflict with your existing project though just so I can make sure it doesn't happen for anyone else)
     
    Last edited: Jan 15, 2012
  40. cod

    cod

    Joined:
    Nov 26, 2011
    Posts:
    267
    @Syanide solved the problem, it crashed in my old project, while in the new works very good, without any error :D
     
  41. Gherid_lacksGPS

    Gherid_lacksGPS

    Joined:
    Dec 3, 2011
    Posts:
    111
    Perhaps I missed this, but when referring to height maps, would it be possible to implement actual scaled DEM's? Like raw srtm data or stuff generated from arcGIS?

    This is looking really nice.
     
    Last edited: Jan 15, 2012
  42. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    I'll be adding import/export functions for heightmap data (among other things). The SRTM site says they export in TIFF format and they are compressing with ZIP, etc. so I'm assuming the TIFF file is uncompressed. - Hopefully it shouldn't be too difficult to include. Would you happen to have any example data I could use (just so I can investigate the format/structure a bit)?

    EDIT: Thanks for the links in your reply - I've got code to read the .bil files but will look for more to cover the other formats.
     
    Last edited: Jan 16, 2012
  43. Gherid_lacksGPS

    Gherid_lacksGPS

    Joined:
    Dec 3, 2011
    Posts:
    111
    Not sure what your level of understanding concerning DEM's are, as mine is mediocre at best, haha.

    "True" DEM's are raw spatial data from satellite, LIDAR, GPS and so on. Most people's understanding and interpretation of DEM's are black and white height maps. In reality the vast majority of these maps lack the actual, scaled, elevation data which properly "places" the color ranges. Which is often acceptable if one needs only arbitrary elevation

    GeoTIFF. bil and arcgrid[?] formats on the other hand are generated/exported from said raw DEM data and contain actual elevation tags. See the following link on GeoTIFF:
    http://remotesensing.org/geotiff/faq.html

    Explanation on source's and the retarded amount of formats for raw DEM
    http://www.terrainmap.com/rm39.html
    http://www.glcf.umd.edu/data/srtm/questions.shtml

    GeoTIFF examples:
    http://dl.maptools.org/dl/geotiff/libgeotiff/
    http://gis.ess.washington.edu/data/raster/

    Raw DEM examples:
    http://tahoe.usgs.gov/rawdata.html (I think this should work)

    Does that help? Or am I spinning your tires......

    This is a wonderful too, btw. LOTS of use will be gotten out of this.
     
    Last edited: Jan 16, 2012
  44. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Nice. Thx
     
  45. Patfed45

    Patfed45

    Joined:
    Aug 28, 2011
    Posts:
    2
    it works great incept for the texturing, i am getting a index array is out of range, at line 901? idk if i am the only person with this but other than that it is the best!
     
  46. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    Looking back over the 2.64 code, it seems I hard-coded the splat-prototype-list array with a length of 4 and I'm guessing you had 5 or more textures.

    I've changed this in v2.65 so it will use the number of prototypes on the terrain (so you can use as many textures as you want). I'll test it just to make sure and if you grab the update later today that problem should be gone (probably a few hours yet though as I'm fixing a few other issues too before the release)

    Thanks for reporting it. :)


    @Gherid_lacksGPS .. Looks like the .BIL data file is big-endian, 16-bit raw data with a separate header file containing information about the extents, etc. Haven't implemented it in 2.65 as it will require more work than I've done so far... but you should be able to import the data itself by renaming to .raw and importing as raw ("mac byte order")
     
    Last edited: Jan 22, 2012
  47. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    @Syanyde: Props for doing all of this. I can't even imagine the amount of hours this would have saved me, if it had been available back when I started my mmo project. Keep up the good work. :)
     
  48. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    @UnLogick.. Thanks, and I hope your mmo project is going well!

    @all.. v2.65 is now available.
     
  49. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    nice one. :)

    You should continue restructuring your code a bit more... I know its a hazzle... I know it doesn't add more features, but its really important to do before ten new users add their features to the it. Otherwise it ends up as a permanent mess. People will generately add features by copying your features, so if your code is pretty their contribution is pretty. The end goal should be to have it split up sufficiently so that people can use it run-time to generate new random maps. (That means separating the gui layer from the logic layer. Which in essence is simply passing all the information to the class/method that does the work.)

    @Syanyde, I can't complain. Slow and steady progress as it should be on a project this size. :)
     
  50. Syanyde

    Syanyde

    Joined:
    Jan 4, 2011
    Posts:
    57
    The good news is there aren't many more features I want to add really (tree-surround-detail and extra import/export functions mostly for now) so I'll stop with the messy RAD approach and will be looking to have much of this separation of GUI and processing implemented in v2.66.

    I did want to do it for this release but I ran out of time.

    I'll leave the procedural cliff mesh generation, rocks, etc. and other ideas I've had until after the clean-up. :)