I'm trying to create a voxel engine that uses marching cubes to create smoothed terrain. I have most of it implemented, but I'm struggling with how I should create a noise function in three dimensions. I have a 2D Perlin noise generator implemented (or I could use the Unity built-in one, I guess). What can I use for 3D?
I'm also interested in the noise function being usable in chunks with uniform output. That way, with one seed, I could create a level in parts that would still all work properly.