AI Movement Inside Volume

Hi all,
I’ve been trying to locate information on pathfinding for AI objects inside a volume (freely move in both the X and Y axes) but am not seeing any information to steer me in the right direction. Most of what I’ve found relates to NavMeshes placed on a surface.

I’m trying to create an underwater environment with AI controlled fish, that can move freely in the volume occupied by the space between the ocean floor and the water surface; the depth of this volume can vary at certain points. Is there a best practice for implementing such a movement behavior? I’m not concerned about obstructions at this time…just moving to predefined locations within this volume and also wandering at varying depths/following bottom contour.

Thanks!

Maybe Flocking/Boids is what you want?

I recently made something like this but in 2D
http://limkarl.weebly.com/flocking.html