Fixed the sector pooling (oops). Added an instanced water plane and material settings.
What is the best way to scale everything? I would like to view the whole world from a birds eye view. Or could I get the same noise results into a material somehow?
Hrm, well you can scale it however you want. There isn’t a ‘whole’ world as such, as the noise will generate terrain far beyond the limits of a single UE level. Getting the noise into a heightmap texture is something I’ve looked at but never finished.
Thanks for the reply, I mean how can I view the whole world? It only creates around the player, so if I zoom out… I can’t really see much more.
What I want to do is create a world that wraps around (teleport the player when he goes too far) But have a seed control the continents.
I understand from a performance point of view I couldn’t literally create the entire world as it would be huge, so I thought about scaling everything down and only having the main noise (that defines the continents) to show a general shape.
When I tried to do this I wasn’t able to replicate what I had done but smaller because everything started getting pretty spikey…
Any help would be amazing, Thanks!
Edit, I suppose increasing the tile size would have the same effect? So more and more gets created but would get less and less defined?
Love your work man! Been watching this grow for awhile now and amazing what youve got done! Out of curiosity when you finish this are you gonna go back to the world one or is that one pretty much done for you? I was able to play with the world one a few months back which was awesome!
Sorry I’m struggling to understand what you’re asking. The plugin is pretty limited in what it can do, just generates a noise-based heightmap terrain based on the world co-ordinates.
If you want to go to very high altitudes so you can look down on a whole level, you’re out of luck. It’d need a rewrite with some kind of quadtree tile system to support that (which I have thought about, but don’t currently have any plans to implement).
No plans at the moment. Right now I’m working on making more of a complete game with the demo project to use as a driver for features in my various plugins.
Pushed some changes today to include some dynamic texture generation (for heightmaps/splatmaps). If you enable ‘GenerateSplatMap’ it’ll generate a texture with height information in the Red channel for each tile, and set it as a ‘SplatMap’ texture parameter.
Messed around with the UV generation to support this so demo materials look wonky right now.
This is crappy and slow at the moment as it resamples from the noise generator which will double heightmap generation times. It’s also using loads more memory. You’ve been warned!
Sorted the texture generation and done a few more optimisations on the memory side.
A reminder that the demo is now a separate project at :
I’m trying to get this running on my Mac, but Xcode is giving me a bunch of errors. Fixing the bad comments was easy, but I have no idea what to do about the fastnoise functions not being defined.
Hmm, don’t have an OSX environment to test I’m afraid. Which version are you running?
Latest in 4.18. Tried both the Cashdemo and a project of mine that runs just fine in Windows, no luck. Think I fixed the pointer by replacing “.” with “->”, but still stuck with GetNoise. There’s something wrong with lines 179 and 201 in FastNoise.h, but I don’t really know anything about C++.
On a whim I deleted “FORCEINLINE”(which I don’t even know what it does) from both function declarations and everything seems to be working so far.
I had all similar errors, using Code as the IDE. Walked through them all and was able to build it.
@mid_gen Hi!
I need to be able to proceduraly generate terrain so i can edit it in runtime.
When Googling, I stumbled upon your plugin, and would like to use it in my game.
In the github, I believe you mention that it can take heightmaps as an input, could you help me doing that?
As I just can’t get it working, not even with guidance from examples, or even create a world from noise.
Can you help me?
I’m using UE4.18
Thanks
Hi @mid_gen! When I run the demo, i get a few islands in a world which is limited in size; if I fly in a straight line in any direction after a minute or so I hit the sky dome. Is this intended behaviour and I’m misunderstanding the meaning of ‘infinite’ terrain, or is something not working properly?
I don’t think this has much to do with this plugin.
You can easely solve this by making the skydome follow the player/camera, should be quite easy.
There are probably tutorials for it already, but if not, just modify the player blueprint to set the location of the skysphere to the location of the player/camera.(But don’t change rotation and scale!)
Sorry I can’t be more help, no OSX machine to test. I seem to have lost the VM I made with it years ago.
You can’t use heightmaps as input, the plugin generates the heightmaps dynamically using the noise generators. If you just want to create terrain from a pre-generated heightmap, you might as well use the standard UE terrain features.
Yeah that’s a problem with the skydome setup rather than the plugin, although I’ve never come across it myself.
You will hit the killzone around the level limit at some point still.
I haven’t had a to fire up UE for the past few months as I’ve been using all my free time on a machine learning course. I’m hoping to be able to start working to apply some ML shenanigans to the project soon.
Thanks for your reply, but i NEED it to be generated at runtime, where all UE terrain stuff is editor-only.
I think iI will need to write my own generator then.
The code is pretty modular, you should be able to swap out the noise generation for heightmaps pretty easily.
FCGTerrainGeneratorWorker takes the noise generator as input, and outputs geometry data.
Just modify it to take a heightmap as input, and everything else should still work.