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

[RELEASED]Terrain Importer

Discussion in 'Assets and Asset Store' started by gilley033, Aug 26, 2014.

  1. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Icon.png
    Purchase On The Asset Store | Current Verision: 2.5.0 | Discord Server

    Support
    Use Website Contact Form: https://deepspacelabs.net/html/other/contact.php
    Or post here/use discord (link above)

    Important

    The latest version of Unity this product has been tested on is 2021.1, even though the Asset Store page says you can use it with 2018.4.26 or higher. I can only guarantee the package works with versions between 2018.4.26 and 2021.1. If you are using a version more recent than 2021.1, please email me before purchasing to confirm there are no issues!

    2.4.0+ Update Note

    The Gdal implementation used to expand GeoTIFF support requires .Net 4. As such, users of Unity editor version 2017.1 and above must switch their scripting runtime version to .Net 4.x (it may be called .Net 4.6 on some versions of Unity), which can be done via Edit -> Project Settings -> Player. If you cannot do this, please email me with your invoice number and Unity version, and I will send you a version of the package that does not include the Gdal implementation.

    Support Note

    To speed up the support process, please email me your invoice number for your purchase of the Terrain Importer and which version of Unity you are using (the full version, e.g. 2019.2.12f1), in addition to a detailed description of the issue, any exceptions or errors thrown, and screenshots if you feel it would better display the issue. Thanks!

    Known Issues
    • When the Export To method is set to "Existing Terrain" you may get a Null Reference Exception when the "Base Terrain Settings" tab is expanded (fixed in 2.4.0)
    • Not all DEM/Geotiff files are supported, though update 2.4.0 has greatly expanded the range of supported files. However, it's best if you email me your .tif file before purchasing the package so I can test it!
    • If you have a script outside of the TerrainImporter package that utilizes System.Threading, you'll see an error. To rectify this I have removed the System.Threading.dll file in all versions above 2.3, though you may need to manually remove the .dll file yourself it it has already been downloaded (and you are using .Net 4.x scripting runtime version).
    • An exception is thrown when viewing the inspector for importing splatmaps. (Fixed in 2.3.1)
    • An exception is thrown when trying to import a full coverage texture (Fixed in 2.3.1)
    • You may see a Missing Script error when viewing your TerrainImporter asset on Unity 2017.1 or later versions, or you may not have the option to create a new TerrainImporter file. These versions require your projects Scripting Runtime Version (Project Settings -> Player) to be set to .Net 4.x Equivalent (or .Net 4.6).

    Video Previews
    Single Terrain Import
    Tile Set Terrain Import

    This tool allows you to easily import heightmaps and splat maps into Unity and generate beautiful/spacious terrain. Though the files can come from anywhere, the tool has been tested and designed primarily with World Machine in mind. Features include:

    • Import Tile Sets of (theoretically) any size. By creating terrain prefabs out of your import files rather than generating the terrains in the scene (though both options are available, and can be used simultaneously), Unity's 3.5 GB memory limitation can be circumvented.
    • Import one more more RGBA Splat Maps. The import settings for the splats are automatically configured prior to being applied to the generated Terrain (note, any image format that can be converted by Unity to a Texture2D should be supported).
    • Import Height Maps under a variety of supported extensions (.raw, .r16, .r32, .ter, .tif/.tiff). Additional height map extensions may be added in the future. Additionally, the tool allows for the use of custom components which can be created to add support for other formats yourself. Note that GeoTiff/DEM files are very complex and have many varieties, so proper importing cannot be guaranteed. Please email me a sample file before purchase so I can confirm it can be imported properly.
    • Scale your imported heightmap either up or down, or ditch scaling in favor of importing sub regions of your heightmap files instead. Using either of these two methods, you can make use of non power of 2 + 1 heightmaps and/or heightmaps larger than Unity can support!
    • Import Settings are stored as Scriptable Object Assets, which allows for quick and easy re-importation. You can also create a base file which stores common import settings (such as the location where you import files are loaded from on your machine), and then duplicate this file to generate new import settings that require less configuration.
    • Generate Prefabs for your terrains automatically.
    • Configure the Terrain Settings for all imported terrains. This is incredibly useful when importing tile sets (imagine having to change the Pixel Error/Detail Distance/Tree Distance/etc. for every terrain in the tile set post import!).
    • Additional script included which allows you to easily set the terrain neighbors of a group of terrain when entering Play Mode (very handy for tile sets).
    • Source code included.

    Please note that this tool is primarily geared to those wishing to import/setup a large quantity of terrains, such as tile sets from World Machine. For such users, this tool will be invaluable, but for others needing to import a height map every now and again, it will be less beneficial (but still possibly worth the price tag).

    Please let me know if you have any questions!
     
    Last edited: Jan 31, 2024
    John-G likes this.
  2. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    The Terrain Importer package has been accepted and is now available on the Unity Asset Store!
     
  3. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    There is a small error in the WorldMachineTileSettings.txt document.

    Step 9 states:
    This is not correct. The Terrain width/length should be left at your total world size (16km x 16km in the example), as the program will automatically calculate each individual tile's dimensions.
     
  4. p87

    p87

    Joined:
    Jun 6, 2013
    Posts:
    318
  5. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    @philwinkel You're right about the link; I've added it to the original post.

    As for the files being in a DLL, I favor this practice because it makes it easier to change things; for instance, if I decide a class really isn't needed at a later date (something that shouldn't happen, but you never know), I can remove it without the user needing to know. If everything is included as individual script files and I decide to remove something, the user will have a useless file bloating their project hierarchy. In addition, I tend to have a lot of classes, each in their own file. The DLL reduces the amount of files and makes for a cleaner project hierarchy.

    With that said, the DLL is definitely not meant to protect any "trade secrets." I usually put the source in the package; I simply forgot in this instance.

    I'll update the package to include the source files in a zip. How does that sound?

    Thanks for your feedback!
     
    p87 likes this.
  6. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Update 1.1, which includes the source code, is now available on the Asset Store!
     
    p87 likes this.
  7. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    HI guys,

    I am going to add support for importing heightmaps/alphamaps and building terrains at runtime, but before I start work on that I want to get feedback on how I'm envisioning it will work.

    Basically, there will be a new scriptable object asset (let's call it "Developer Settings") you can create which will serve as the base settings for the runtime import. This asset will contain the same settings that the existing editor import asset contains, but each setting will have an option letting you define whether the setting should be preset or defined by the user at runtime. So something like "User Defined." If checked, the setting is hidden in the inspector (since it will be set by the user at runtime), if unchecked the setting is shown and you set it to whatever you want.

    At runtime there will be another class that also has all the settings (let's call it "User Settings"), whose data is populated with user defined values (via a GUI). Once the actual import process is initiated, the predefined settings from the Developer Settings are used, with any "blanks" filled in by the runtime User Settings defined by the user. This design will allow you to define the level of control the user has. For example, you may only want heightmaps with a resolution of 1029 to be used, which you'd set in the developer settings.

    Obviously a GUI will need to be created in order for the user to specify the User Settings; I can provide a basic default version using uGUI, but I'm not sure if I should bother since most people will probably want to create their own to fit with the GUI of their game/application. I am also thinking of bumping the prerequisite to 4.6 to make use of uGUI; does anyone have an issue with this?

    One final thing. I can't make any promises when it comes to performance, as I have no experience with importing terrain at runtime. When it comes to applying the heightmaps/alphamaps, I'm going to try to spread the work out, but I'm not sure how much of an effect it will have. More than likely, the import process will require game play to be paused.
     
  8. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Just wanted to let everyone know that v1.2 of this kit should be compatible with Unity 5. If you experience a bug, please let me know!
     
  9. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Version 1.2 has been submitted to the Asset Store. I'll let you know when it's available.

    Changelog:
    1) Fixed a splat map import issue with Unity 5.
    2) Fixed Tiled Import Issue on all platforms.
    3) Fixed an issue where the Endianness Field would not show up correctly in certain situations.
    4) Added new guide for importing terrain and troubleshooting.
     
  10. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Version 1.2 is now live on the Asset Store. I've also posted two new videos which are available at the top of the original post in this thread, as well as on the Asset Store.
     
  11. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Version 1.3 is now live on the Asset Store. Here's the change log:

    1. Added new option to Dimensions/Resolution section of Base Terrain Settings that, when checked, will force the dimension/resolution settings to be treated as the settings for a single terrain when importing a tile set (rather than being treated as the settings for the entire group). This enables the importing of giant tile sets.

    2. Added a "Pad Coordinate Digits" option to the Tiled Import Settings section. This should only be enabled if you have the "Pad Coordinate Digits" option enabled in World Machine when exporting your height/splat maps.

    3. Added two options to the Terrain Output Settings, "Put Tiles In Standard Format" and "Bump Indexes By One." These options allow you to output terrains whose names are compatible with my other package, the Terrain Slicing & Dynamic Loading Kit, regardless of the naming format of the import height/splat maps.

    4. Fixed a bug where the Endianness option would not show up correctly when the Heightmap File Format is .r16 or .r32.
     
  12. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Also FYI, I still want to add run-time importing, but there doesn't seem to be any interest. If you're looking for this, please post on here so I know, otherwise it will stay on the back burner for good!
     
  13. TechiTech

    TechiTech

    Joined:
    Dec 13, 2014
    Posts:
    212
    Hey Nice work Gilley!! If you didn't post today I probably wouldn't have known about this plugin.

    I don't want to offend but do yourself a favour and spend some time on presentation. First change the logo :)

    For the current project I won't be needing this but later I will be needing to import many tiles so I think I'll end up purchasing it.

    Keep up the great work :)

    Regards
    TechiTech
     
    Last edited: Sep 7, 2015
  14. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    No offense taken, I know that logo needs to be replaced :)
     
  15. marco_fera

    marco_fera

    Joined:
    Nov 13, 2015
    Posts:
    4
    Hi Kyle, runtime import is interesting for me, do you plan an update soon?
     
  16. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    I'll look into what it will take, but at a guess I'm thinking it will take some work, in which case I'll need to see more interest before proceeding. Unfortunately, I just don't have the time to put the effort in without there really being a strong interest. Other projects are demanding my attention.

    Thanks for showing an interest though!
     
  17. Pequisto

    Pequisto

    Joined:
    Apr 21, 2015
    Posts:
    66
    Hi there,

    I purchased Terrain Importer this morning and regardless of which tiled terrains I attempt to import from World Machine, I receive this error:

    EndOfStreamException: Failed to read past end of stream.
    System.IO.BinaryReader.ReadByte () (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.IO/BinaryReader.cs:293)
    TerrainImporter.Raw16HeightmapFileImporter.ImportHeightmapUsingFullFilePath (System.String fullFilePath, Int32 heightmapResolution, Endianness endianness)
    TerrainImporter.HeightmapImporter.ImportHeightmap (System.String heightmapFileName, Int32 heightmapResolution, System.Action IncrementProgress)
    TerrainImporter.TerrainImporter.ImportAndSetupTerrain (System.String heightmapImportName, System.String terrainExportName, System.String terrainDataExportName, System.String[] splatImportNames, Vector3 terrainPosition, Single maxProgressOfOperation)
    TerrainImporter.TileSetImporter.Import ()
    TerrainImporter.Importer.InitializeImport ()
    UnityEditor.DockArea:OnGUI()
     
  18. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    In World Machine, please make sure that the height maps are a power of two + 1 value (but keep the splatmap at a power of two value). If that's not the issue, could you please send me your World Machine file and screenshots of your TerrainImporter asset inspector settings? Alternatively, you can export the asset as a Unity package and send that instead.

    You can send those things to kgillen@deepspacelabs.net. We should be able to figure out what's going on in no time. Thanks for your patience!

    Regards,
    Kyle Gillen
     
  19. Pequisto

    Pequisto

    Joined:
    Apr 21, 2015
    Posts:
    66
    Hi Kyle,

    Thanks for the reply. It completely slipped my mind that a tiled export in WM is only a power of 2 and I'd need to specify the +1 (ie. 2049). I'm going to give this a try and get back to you.


    Thanks!
     
  20. taku

    taku

    Joined:
    Jun 5, 2012
    Posts:
    24
    I am having a hard time with terrain importer, no matter the format I choose to import (.ter, .raw, .r16, .r32, .tif) it happens the same. I get the grilled view/bad import artifacts. You can see them in the animated gif below. After doing Single or Multi terrain import with your asset, I can manually select each terrain and use Unity`s standard import option to import .r16 files and it gets fixed/properly imported.
    I was really happy to purchase your asset, just to save the time and avoid doing it manually, but....
    I`ll be really grateful for your support/assistance.
    Also a feature request: If possible to use .png as an import option it`ll be great.
    Thanks in advance for your help.
     
    Last edited: Jan 1, 2016
  21. cptbluebear

    cptbluebear

    Joined:
    Dec 30, 2015
    Posts:
    2
    Hi,

    I have a similar problem as Taku (above) except that the imported data only fills two thirds of the tile created to hold it. This might be relevant as my test grid is 3x3.

    I also note that when I examine one of the tiles in the Inspector, its Heightmap Resolution has been set to 513 rather than 1025 as specified and the Control Texture Resolution and Base Texture Resolution have been set to 341.

    This last is a third of 1024 (less a rounding error) so I tried setting Use Settings for Individual Tile Pieces to true and setting the correct dimensions and resolution for individual tiles. The result was a single tile with no elevation data.

    I successfully imported a randomly chosen tile manually.

    A screen shot is attached. Unity version is 5.2.3f1 for Windows.

    Laurie
     

    Attached Files:

  22. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    @taku

    From what I can see in the images the heightmap resolution may not be set correctly. The single large terrain in the first image (which you imported using Unity's import tool) has a heightmap resolution of 2049, yet in the image with the single terrain import using my tool (which has the error), the heightmap resolution is set to 513.

    Set the resolution to 2049 and try reimporting the single terrain. For the tiled import, you should be able to use the same TerrainImporter object, just make sure to leave "Use Settings For Individual Tile Pieces" unchecked (which is an option displayed in the Base Terrain Settings section once you check "Import Tile Set").

    If that does not work, try changing the Endianess in "Heightmap Import Settings" though if these heightmaps are coming from World Machine that shouldn't be the problem. If you're still getting the issue, I'll need to take a look at your files. If you're using World Machine then the easiest way will be to have you send me your World Machine project file, as well as the TerrainImporter asset you're using. Those can be sent to my email.

    I'll look into how difficult it would be to add .png heightmap support. Typically that's not a format you see. In the meantime, you can always add support for it yourself if you desire, which I can go into detail if you're interested.

    Regards,
    Kyle Gillen
     
  23. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    @cptbluebear

    Each individual tile should have a power of 2 resolution (or power of 2 + 1 for the heightmap). This is why you saw an error when "Use Settings For Individual Tile Pieces" was unchecked. With that option unchecked, the tool divides the resolution settings by whatever value is in the "Tiles Per Side" box under the Tiled Import Settings section. If that value was set to 3, the final resolution settings for each tile would not be valid. I should probably change the Tiles Per Side option to a drop down, or add a note that it needs to be a power of two.

    With that said, you have already gone down the right path by checking "Use Settings For Individual Tile Pieces." If checking that option did not work (as you state), then either there is a bug, or there is some disparity between the resolution settings you entered and the actual resolution settings of the files.

    So the first thing I'd do is to simply ensure the resolution settings for each tile match the files (and remember, they should be a power of two or power of two + one). If they do, then there's probably a bug somewhere in my code. If you are using World Machine, please email me or post here the World Machine project file, as well as your TerrainImporter object settings (images of the Tiled Import Settings and Base Terrain Settings will do fine).

    My email can be found on this page.

    Regards,
    Kyle Gillen
     
  24. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Unfortunately I am going out of town this weekend and will only be able to provide limited assistance after 3pm ET tomorrow (will be back on Monday). Just a heads up!
     
  25. cptbluebear

    cptbluebear

    Joined:
    Dec 30, 2015
    Posts:
    2
    Kyle,

    thanks for the help - I got it working.

    My problem was my tile set. I thought they were 1025x1025 but they weren't. Doh! I blame tiredness and using RAW16 output from World Machine - it was obvious when I switched to TIFF and Windows started displaying the image dimensions.

    The SimpleTerrainNeighborer script is another sanity saver

    I hope you have a good weekend away,

    Laurie
     
  26. taku

    taku

    Joined:
    Jun 5, 2012
    Posts:
    24
    You were right. It was the incorrect input size. It all worked in the end. Many thanks for your support. Maybe for users like me a small warning window might help. :)
    Happy New Year!
     
  27. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Yeah, I'll look into a better way of handling resolution. Glad you guys got it working though, please post if you have any additional troubles!
     
    Last edited: Mar 15, 2016
  28. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Hi guys,

    I am going to drop official support for Unity 4 soon. If you need a Unity 4 version, I can still generate one for you, just please let me know (include your invoice number in the request). However, only the Unity 5 version will be available on the Asset Store.

    Thanks,
    Kyle Gillen
     
    Pequisto likes this.
  29. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Update 1.4 has been submitted to the Asset Store. Change Log is below.

    1) You should now be able to setup Custom materials and have them be assigned to your imported terrains correctly. Note, for tiled imports, there is no
    automatic texture slicing done. Whatever material is assigned on the Terrain Importer will be assigned to each tile piece. This may change in the future upon request.

    2) Terrain Settings updated to reflect version 5.3.2f1 of Unity. Earlier versions of Unity are no longer supported, though you can contact me if you need a version that
    is compatible with an earlier version of Unity.

    3) When importing a terrain or terrains, duplicate terrains (ones with the same name and that use Terrain Data of the same name) will be removed. Previously, you were
    left with useless Terrain objects with no Terrain Data.
     
    Pequisto likes this.
  30. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Update 1.4 is now live on the asset store. Enjoy!
     
  31. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Version 1.4.1 has been submitted to Asset Store. I'll let you know when it's available. This is a simple update:
    1) When importing .raw, .r16, or .r32 heightmap files, an exception will be thrown if the heightmap does not have the
    correct resolution (remember, it should be a power of two + 1 resolution).

    That should help highlight the main issue people seem to be running into, which is an incorrect heightmap size.

    Regards,
    Kyle Gillen
     
    Pequisto likes this.
  32. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Update 1.4.1 is now live.

    If anyone has any suggestions for new features, please let me know! The only thing I can personally think of is support for run time importing, which is something I'll be exploring this month (no promises).
     
  33. timrastall

    timrastall

    Joined:
    Sep 18, 2016
    Posts:
    1
    Hey Kyle,
    I've been enjoying using your product to help with a workflow we are working on but I've recently run into a small issue I hope you can help with.
    We've recently purchased a new GIS tool that has a very handy Unity terrain export function but unfortunately, it only creates 16bit .raw files with OSX byte order. This isn't an issue when we manually import these in Unity (as I can specify the endian byte via the import .raw dialogue) but as far as I can tell, when I use Terrain importer, there is no means for me to specify byte Endian-nes when importing .raw files. Am I missing something?
    Any help with this would be greatly appreciated. I have A LOT of tiles to import and your tool is a perfect solution if we can get this sorted. I'm using Unity 5.4.1 x64 on Windows with 1.4.1 of terrain importer. Screenshot of the settings and error that is returned attached.
    Cheers
     

    Attached Files:

  34. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    HI @timrastall, most of the extensions in the kit are taken from World Machine, which is why 16 bit raw files use the .r16 extension.

    A 16 bit file with .raw extension is something I haven't come across before, but if that's what you're dealing with, my guess is that it is the same as .r16, so shouldn't be too difficult to add functionality for it. Could you email me (kgillen@deepspacelabs.net) a sample heightmap file, along with its resolution/size settings? If you have a picture of what the sample heightmap should look like once imported, that would be helpful as well (so I can ensure the new functionality is working correctly).

    Thanks!
     
    Last edited: Oct 17, 2016
  35. krillmcrawl0

    krillmcrawl0

    Joined:
    Jan 13, 2014
    Posts:
    35
    Hi!

    @timrastall,
    Been looking to import real world data as well and I´m familiar with Globalmapper. Can you briefly describe your workflow, what RAW-format are you outputting tiles from your elevation grid?
    What about aerial images, just tile them the same way as the elevation?
    Also seams, does the importer automatically the SetNeighbors so you dont get visible seams?
    Does this workflow work with the current version of Terrain importer or did you get a new version from Kyle?

    Best Regards,

    Kristian
     
  36. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    @krillmcrawl0

    I know you addressed your question to timrastall, but I'll answer what I can.

    Tim was using .raw 16 bit files, a bit unusual but I was able to add support for it. This isn't live yet, but will be soon (in the next two weeks probably, I'm on the road but will be home around Thanksgiving. Need to do a quality check on the updates before submitting to the Asset Store), and if you purchase the kit I can send you a copy of the updated version before it hits the Asset Store.

    Neighbors are not set by the tool, because it wouldn't carry over to when you enter Play mode. I do include a little script that you can add to the first tile in your group so the neighbors are set automatically upon entering Play mode though.

    As for the aerial images, I assume you're talking about using them for terrain texturing. If so, Tim uses a single texture for each tile which is applied as the first and only texture in each terrain's splatmap. The texture's tile settings are set to the same size as the terrain, so it is stretched across the entire thing. I was able to add support for this, so the tool can import that texture automatically, set it to the splatmap, and automatically update the texture settings so it stretches across the entire terrain.

    Hopefully this answered your questions, though I'll leave it to Tim to clarify and expound on the Globalmapper specific workflow stuff.

    Best Regards,
    Kyle Gillen
     
  37. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    Not sure if this project it's still evolved.
    I'm searching a way to import terrain.party png 16 bit maps directly into Unity without the need to convert it in raw format.
    Any way TI can do this?
     
  38. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    It should be possible to add support for that, but let me confirm it first.
     
  39. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    @davide445

    I have added .png heightmap support (not live yet on the Asset Store). Basically I'm just importing the image as a Texture2D, then using each colors .grayscale value for the heightmap value. It seems to be working.
     
  40. krillmcrawl0

    krillmcrawl0

    Joined:
    Jan 13, 2014
    Posts:
    35
    @gilley033

    Thanks, sounds great. Just bought the package. What do you need from me to get access to the latest package?
     
  41. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Email me your invoice number (you can find it here).
     
    Last edited: Dec 9, 2016
  42. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Hello all,

    I just wanted to provide an update on what is in the works.

    First, I have incorporated the open source .Net port for LibTif, which will, when live, add support for many more tif files than is currently supported (compressed types, geo tiffs, etc.).

    I have also worked on the Terragen import code, adding an option to use the extra meta data within the Terragen file to calculate what range of elevation data was used by Terragen (or another 3rd party program) to normalize the actual elevation data stored in the file. If the terrain you are generating in Unity uses the same elevation range as the 3rd party program, this will have no effect. However, if the elevation range is different, using this extra meta data will result in a terrain that more accurately mimics what you see in the 3rd party program (i.e., you will see less compression or stretching of the terrain on the Y axis).

    The third and final (but perhaps most exciting) addition is a new feature that will allow you to specify a sub region of the height map file to import. Think of it like a cropping tool. This will allow you to import a greater number of heightmaps, such as non square and/or non power of two heightmaps, or incredibly large heightmap files. To be clear, this will not allow you to use non square heightmaps, non power of two heightmaps, or incredibly large heightmaps within Unity. But it will allow you to grab valid height map data from source files that may possess these qualities, removing the need to crop the heightmap files in an external program before import.

    Regards,
    Kyle Gillen
     
  43. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Hi, I am attempting to import a tiled terrain from World Machine using your tool. However, I am stuck on the splat map. I have used WM for a while now and have made splat maps so that is not the problem.

    My question is about this:
    In an image editing program such as Photoshop, open the generated splatmap and generate four separate images, one for each channel.
    You can use Gimp for this, though Photoshop supports higher texture resolutions. Just google "Creating images from channels," or something
    similar to find out how to performt his step for your image editing software.​

    I use PS and so I opened the splat map and could not figure out how to create the images from the channels. I searched the internet and found nothing. Of course, I could click on each one and save them as maps but they are grayscale although their mode is rbg.

    Should they be grayscale? The red channel looks like this.
    ExampleSplatChannel.jpg

    Thanks! The rest of your instructions look very thorough but this part is just puzzling to me.
     
  44. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    It's been awhile since I've gone through this process (I will test it out tomorrow to make sure everything works as it should), but when you have an individual channel selected (as you do in the screenshot), you should be able to use Select -> Select All to select the entire layer, copy it, create a new layer, and paste the selected channel onto it. The resulting image will be a greyscale, which is fine.

    Regards,
    Kyle Gillen
     
  45. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Great, I can do that. :) I guess they are actually masks so that is why they are grayscale. Makes sense when I think about it. lol
     
  46. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Hello everyone,

    I have submitted version 2 (actual version will be 2.0.1) of the importer to the asset store. This version has quite a lot of changes which you can find in the attached file.

    Also, note that the price will be set at $20 once this update goes live
     

    Attached Files:

  47. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Hi,
    I just bought your asset and hope it will help me on import multiple world machine splatmaps.

    Sadly if have a problem when they are imported.
    Please look at the two images.

    upload_2017-6-27_19-38-5.png

    upload_2017-6-27_19-41-43.png

    also i think there is a little error for the selection circles you can see on the next picture.

    upload_2017-6-27_19-39-59.png

    So i use a 4097 raw hightmap and four 16 bit tiff 2048 splatmaps from WM for 16 512 png textures

    The tiff splatmaps from wm have a fourth splat in the alpha map wich look grey in my image programm on each channel but maybe a little of when in unity 5.6.1p3 like in the next image.
     
    Last edited: Jun 27, 2017
  48. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    upload_2017-6-27_19-53-29.png

    Just changed the splats to 8 bit per channel but looks like the same error.
     
    Last edited: Jun 27, 2017
  49. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Try to export from wm a different way but still does not work.

    upload_2017-6-27_21-39-9.png

    upload_2017-6-27_21-39-39.png

    Just made a test with just a single four color splat (8 bit tiff) and that is working.

    Edit:
    Tried it today with 2 hightmaps but get the same error so it look like i can not use it for importing 2, 3 or 4 splat textures with 4 channels each.

    Can you help here please?
    Maybe i am using a wrong export method from world machine.
     
    Last edited: Jun 28, 2017
  50. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Hey RandAlThor,

    So sorry for the delayed response. I have been camping in Maine the past four days so have not had access to the internet.

    First, the easy thing: You mention a possible error with the selection circle. Do you just mean the fact that it is stretched out (which cannot be helped with the increased size of the texture)? Or something else?

    Secondly, if the images with "4 texture 2Ds" are your image files created by World Machine, then it does not appear that they are correct. It should look more like this, with red, green, blue, and black being the only visible colors.

    splat.png

    I kind of remembering having issues with 16 bit tif files from World Machine in the past, but I can't verify that. Did you already try doing the multi splat import with 8 bit files instead of 16? It sounds like you did but I just want to make sure.

    The easiest way for me to help you would be for you to send me the World Machine file (my World Machine is not up to date, so hopefully it works) as well as a Unity Package that includes the Terrain Importer scriptable object file, and (if the file size is not too large), the textures you're using. You can send those files to kgillen@deepspacelabs.net.

    Thanks, and again, sorry for the delayed response!! This is literally the first time I have been off the grid for any length of time; I should have posted letting people know!