Best way to store data for a 3d map

i wrote a fairly simple 3d engine in as3 and was considering making a game where you fly through a trench or cave, etc. (star wars style).

what in your opinion is the best way to store data for 3 dimensional levels?

for 2d and 2.5d i usually use a 2d array for different tiles, etc. but the 3d thing adds a lot of complexity.

if i used a 3d array, it’d basically be blocky square tubes (which may be ok at first, idk).

are there any other established methods of storing more complex shaped maps?

i can’t really think of the best way to store such information. it’d probably be done with face and vertex info, but idk…

ideas?

Collada is a good way to go.

Another method that can work well for caverns, tunnels, etc is a heightmap. You can store the height offsets in each pixel in a single color channel, and that leaves you with 3 other color channels to store additional data in (shading normals, objects, etc).