- Edited
Lousifr I think you misunderstood the effect I'm trying to achieve. I don't actually want a cylinder in the game world, I want a flat map, splint into chunks and wrapped around the cameras x position.
I think I understood it correctly. You want to read 3d noise values around the surface of a cylinder and map these values as a heightmap onto the ground plane. The function I posted would facilitate exactly that. You pass your ground xz as the uv input and it returns the corresponding 3d vector on the surface of the cylinder. The returned vector is a 3d coordinate that should be used for sampling the noise. The value sampled from noise thus represents your heightmap displacement i.e. your vertex y offset from the ground.
The problem boils down to standard cylindrical projection of uv coordinates.