I am trying to create a voxel-based world (e.g. Minecraft) and I would like to know how to implement the Perlin Noise/Simplex Noise for use with jMonkeyEngine.
I know there is the cubes plugin for JME but it does not seem to support heightmaps (?).
So far I managed to create normal terrain by using heightmaps (following the tutorial on the wiki), water and a skybox.
Do you have any ideas/reasources on how this can be done?
For the algorithm itself: It hasn’t to do anything with jME as engine or voxel worlds themselves, google how it works (there is also pseudocode out there I think) and implement it. How you display the data in the end (cube world, jme terrain system map, …) doesn’t matter for the algorithm.
Note: IsoSurface is not like minecraft blocks. It’s smooth. It does have a noise based fractal terrain generator, though.
Neither Minecraft or my terrain generator create height maps, though… because heightmaps are only 2.5D and our noise terrain is real 3D (ie: you can have overhangs, tunnels, etc.).
You can’t create a 3D world with 2D data. You need more than a heightmap. Several noise generators are used in minecraft, but giving examples of how to go about doing this is far beyond the scope of a single reply. There are huge tasks to overcome such as object count, greedy meshing… The only “out of the box” solution is cubes as described above.