Hi All
Recently I released a non Unity plugin for 3DS Max that allowed the user to generate with a couple of clicks real world terrain meshes for virtually anywhere on the planet using Nasa SRTM DEM data, the plugin would automatically stream the required data from the internet and generate the mesh to the required detail settings, you can see a video of it in use below. As a little break from providing support for MegaFiers and MegaShapes I decided to add a custom exporter from the plugin to a custom file format and do an editor extension in Unity to read those files and generate terrains from them, so just wanted to show the very first test result for that with a model of Pikes Peak that was built with just a couple of clicks in Max and then a few more clicks to load to it into Unity. Some more info on the system can be found on the website at Terrain plugin and Unity « MegaFiers and more info on the Terrain plugin at Terrain « MegaFiers
Update:
The plugin has now been written as an extension to Unity so terrains can be modelled directly inside Ubiyt.
Update:
I have been doing some custom scripts for Unity to make using the data generated by the plugin very easy. It allows easy importing of the elevation data and will apply the texture if you want it to, you can scroll around the data, zoom in and the texture will move correctly etc, you can also change the terrain detail level. If anyone has any suggestions or features please do let me know. A video of the new system is below.
We have now also added Mars and Moon elevation data.
Is there any idea on pricing or will it be provided with the max plugin? (It’s not too hard to get a terrain from max to unity along with texture thanks to the colormap shader) The max plugin looks frankly brilliant and i’m hugely compelled to buy it, the unity plugin supplied with it would definitely be added incentive although it’s not entirely needed apart from sheer speed i suppose. One thing that stops me buying the plugin however is im still trying to figure out how to generate splatmaps quickly from imported terrain, i do have a few ideas but they involve a lot of faffing around, do you have any suggestions? I’m thinking particulary being able to generate them based on elevation and slope angle with requisite falloff and maps to control it. I know dreamscape can do this in Max but it is a bit of a ballache as you have to use their terrain. Another idea is writing a macro to do it in world machine, but something that doesnt involve rendering heightmaps, importing, generating, exporting, and so on would be welcome
Looks like a cool plugin. However would you be able to merge terrains seamlessly in a easy way, like have meteor crater right next to mount Rushmore? Also I think the map textures from google earth are blurry when seen up close, so they could not be used for a FPS game. Does the plugin try to get around this, such as using the google earth textures as a splatmap to place multiple ground textures?
Anything used as a ‘colormap’ for a terrain looks blurry up close, the texture’s mainly relevant if you’ll actually be able to see it (distant terrain or from above etc), the splatmap generation is the main issue for me basically, no idea how you might generate a splatmap from the google earth images (maybe averaging out a colour per area and assigning the closest matching texture, not sure, this method wouldnt be that great with only a handful of textures to choose from, but again not sure). Would be interesting seeing a solution as the idea’s otherwise great. Also i dont think i’m interested in merging terrains from entirely different areas together but generating tiles of terrains automatically with matching textures would be amazing. In realtime? Hell yes.
When I was doing it I was thinking that it really isn’t much use to the normal FPS game but could be useful for C&C or defense type game I guess. If a little extra work is put in tileable terrains could be exported with multiple high res textures but not sure if there is any kind of demand for that, this really was just an afternoons playing around to see what it would look like, and as has been pointed out getting elevation data into Unity is quite simple, the plugin just makes it easier to generate real world elevation data and add a texture if needed.
Merging of terrains is an interesting idea and that could be done with a little extra work. And again with some extra work some kind of texture color lookup to vegetation scattering and different splat maps could be added, though there are some nice shaders in the Asset store I noticed that can do a lot of that anyway.
The Unity scripts if there is demand for it will most likely be included in the terrain plugin, the Plugin could be made a Unity plugin as all the code is in C++ so it could be ported quite easily as a C++ plugin for the editor but it would be PC only to start with.
All of those musings sound great to me, i cant see there not being a demand for it to be honest - Theres some project/asset (TerraUnity?) ongoing with something similar to this but i think the context is different so no real competing i dont think - I’d certainly see the unity plugin as huge incentive for the terrain max plugin, especially if ongoing support could mean splatmap generation of some kind (That said, could you tell me the assets that can do this generation?). As you’ve maybe noticed from the response, people are interested, i’m just wondering how you’d go about distributing. If you did a Unity specific plugin i’d probably choose that over the max one, with some of the options you contemplated - splatmap generation and making multiple terrains, if you arranged some pricing where i could get both reasonably then i would try to save my pennies for it,definitely. I daresay if you just bundled it all together you’d have a big seller on your hands. Ive seen people already having a little squee at your max plugin on other forums. Tie unity and max together and get the most from the unity integration and i think you have my money, should i have it in the bank.
I have been doing some custom scripts for Unity to make using the data generated by the plugin very easy. It allows easy importing of the elevation data and will apply the texture if you want it to, you can scroll around the data, zoom in and the texture will move correctly etc, you can also change the terrain detail level. If anyone has any suggestions or features please do let me know. A video of the new system is below.
As the system just generates Unity terrains it will certainly work with Lars terrain shader and any other terrain systems out there. You can easily generate multiple terrains for example if you wanted to make 2x2 terrains from the data you would just set the zoom value to 0.5 and then adjust the offsets, then make a copy of the terrain object, move to the next offset make a copy etc, if that is a desired feature I can easily add an option to allow automatic generation of terrain tiles from the data.
This looks really great. And about as easy to setup as could be expected! One thing that was unclear to me is whether the Max plugin imports terrain data automatically, or do you have to have your own specific source for that data?
If you check out the other videos you will see that the plugin will automatically stream the DEM data from the internet to build your terrain and will automatically generate the texture to any res for you.