I want to procedurally create some terrain that has arcs like this one what do you call a naturally forming arc - Google Search
I am guessing I will need to use something similar to the marching cubes algorithm since it can create concave meshes. The real issue is how you could go about generating noise that will create the arc formations??
Ah, Navajo Sandstone, Lake Powell, Zion, Arches… all that good stuff… unfortunately there appears to be no water in it these days!!
I was thinking about these arches for my Jetpack Kurt game actually, but haven’t got around to doing it yet.
I suppose you could make a generalized marching cubes thing, but it might be easier to just make a noisy torus that rises out of the terrain and arcs over until it hits the terrain again.
And a torus is just a cylinder built in stages and slowly tilting itself over… shouldn’t be too hard.
You could even control its diameter or noisiness with an animation curve, like make it flare out more as it nears the bottom…
I really love procgen in Unity; nothing could be easier. You’re welcome to look at my MakeGeo project with a bunch of random stuff in it. I might even try the torus arch thing myself soon here and put it in Jetpack Kurt…
Yea procgen is awesome I have a floating island creator which was pretty hard to make but you can you use 2 animation curves to control the shapes of the top part and the bottom part of the island and I was so happy when I finally made it work, but I am not happy with the topology of the mesh, I finished it about a month ago, I also had asked you on how to make a circle mesh from a square plane if you remember, but anyways now I am tryin to recreate the island again but this time I want it to be in multiple chunks(not just a top and bottom) and a muchhhhh better topology, because l rn it has a problem of creating artifacts around where the “corners” of the circle would be, and also most importantly I want to have those types of arches for a gameplay feature l, and maybe even some small caves. and THAT IS A LOT!!!
I’m thinking of using one of Sebastian Lague’s marching cube scripts but I’m don’t want to just burst right into it with learning a few more things about how the algorithm is implemented and also how I need it to be implemented because I REALLY don’t want to waste time deleting any scripts which will probably happen :(, but it’s better than just giving up completely because you know nothing about how it works.
I will write about how I think I should make the script work in a somewhat generic way here,
First I want to point out that the overall shape of the whole island can be represented with texture slices, which can be generated with animation curves. The slices will be textures that can repersent the island’s basic shape at any point in the island, what I mean by that is, if you can imagine a 2D texture moving though the island, every step the texture takes forward, it will change into a new texture which will be the outline of the island at that 2D slice of the island, and everything inside that outline is white and everything outside of the outline is black, or vice versa.
The slices will be in this angle of the island in the image, so it will be from the side view, and than once again, you can imagine the slices as being white at every island pixel and black at every non-island pixel.
And than the first step of the actual marching cubes algorithm would be to create multiple chunks with some given chunk size, and island height and island width, which will also be the actual island’s size since the chunks repersent the island.
After that, each generated chunk will chunkify the generated island outline slices, so you can think of it as the island chunk is taking it’s own portion of the textures which are representing it’s chunk shape. Than the chunk will draw it’s mesh, you can imagine this step as the texture slices scanning though the chunk and at every black pixel it will place an “solid” block and at every white pixel it will place an air block, than after that, the image will move forward in the chunk and it’s image will change to the next outline of that chunk at that new position.
Than after that, chunk will run through all of its solid blocks, and using some noise it can decide to delete whatever block it’s on in the iteration, which will result in caves and other formations.
Doing it in chunks like this will cause the mesh to have unnecessary faces, you wouldn’t be able to see the faces are unnecessary if you look at it from a players perspective, but if you go inside the mesh you will see that a the meshes are cubes the farther you go inside the island, and this can create a lot of unnecessarily longer render time. And that is the hardest part in my experience. How would you weld vertices that don’t belong in the same mesh and recalculate the triangles, or maybe it won’t even create these unnecessary faces, I wouldn’t know until I try.