For the last few weeks I have been building a node powered procedural terrain tool. It’s been seriously fun so far, and its only just getting started! I want to do loads more with it, especially around simulation.
I love the idea of wind water plants and animals and ecosystems manipulating terrain in the real world, and want to get some of those ideas into this tool. Imagine simulating grazing animal movement effecting the vegetation and ecosystems. At the moment I have a simple water erosion model (GPU accelerated) which gives a nice result.
Features at the moment:
Flexible node based graph editor to build procedural functions (uses the unity GraphView system).
Loads of cool noise functions.
Maths stuff and general multidimensional data structure to kind of do whatever you want.
Hydraulic erosion simulation.
Bake to textures option to speed things up for production.
Texture blending nodes, (drive texturing from things like gradient and height or whatever you like) , and fractal noise nodes to blend textures.
It’s a really cool tool for me personally, but I would like to get some feedback on what sort of feature people want to see in a tool like this, I am completely open to improvements, big changes, and mad ideas. I will be putting the tool on the asset store when its done.
Thanks!
hi,
hard to give any option advice cause a shaping tool can go in so many directions…
at first glance, i would say:
-make it a multi terrain of course
-lots of erosion features in order to get nice mountains like in World machine
-never seen before : Ability to shape small zones of the terrain with blending options
-many nodes presets like mountains, plateau river lake and so on…
-easy method to create path and connections zone to zone
what was your main desire when you started this tool?
Thanks so much for the feedback ! Totally agree with all of those points, I am keen to add this stuff over the next few weeks. Especially interested in the zoning idea, It is possible to do with my system already, but it’s not easy, and ends up in a mad tangle of nodes. I think a simpler system to do this would be very powerful. Perhaps grouping and blending between entire graphs via region etc.
My main desire for doing this is maybe 50 percent fun, and 50 something I would personally really like to use, I have found myself on multiple projects coding procedural stuff and wishing I could use a node system inside Unity for faster artistic iteration. I wanted to make something which, if you want to, lets you get really deep into the maths of the node graphs, but also easy enough to use for people who are not into that and just want something quickly. I found the tools that are already out there a little limiting and not as feature rich as I would have liked (especially with erosion and physics simulations). They cost a fair bit too (if you are as tight as I am :)), which I hope to solve.
Spherical Planet mode :
The objective is to generate the map of a whole planet.
An interesting way to do that is to generate a cubemap texture, because it’s easy to test / visualize the results and the faces are standardized ( CubemapFace enum), so developers can do whatever they want with it. With a texture of 4096*6 you get a good enough resolution to do a procedural terrain on a planet of radius 65535 : 1 pixel maps to a terrain chunk of 24 units.
And you don’t need to spend the 6 months of R&D to do a planetary terrain mesh system with lods.
Yes ! That’s what’s needed : full procedural is boring, but the ability to select zones and apply another layer of procedural noise with blending / easing functions would be the killer feature. And that makes it possible to apply erosion to zones of a planet and not care about wrapping
Other Mad idea :
If you can have the same noise generated on cpu, you can use the procedural terrain on servers for multiplayer games.
And another mad idea :
As your competitor Mapmagic 2 is free + paid modules, you could do an opensource package + a paid version on the asset store
(people would pay for the convenience of updates and to encourage the dev, some packages are using this “business model” on the store , xNode | Visual Scripting | Unity Asset Store for example )
talking about gpu, having the noise modified in real time for instant preview without “click and wait” is a must have in nowadays!!
I’m always wanting to modify exisitng terrain (more over if i can choose the zone i want to modify). SO to me it’s always important if the tool can read RAW MAPS or other type of heightmap
Raw format is (to me) the best!! no “blocky issues”