Something really nice to try and implement (involving such cameras) would be (rather than just making it a collision thingie) to make it notice when its about to collide with something, and make its speed slow down each frame until 0 such that when it does collide its not moving anymore, ie a smoothly bounded camera. You could use spheres for collision, and have a outer and inner spheres: When the outer collides, it doesnt react, but the rate of change of speed (or rate of change of speed multiplying factor) can become negative (setting it to a value such that when the inner sphere collides the speed of the camera in that direction has been reduced to 0).
..Its ALOT easier than what ive just said makes it sound.
Also, and easy and usefull (although obvious) tip: For collisions with models, when using b3d's collision, have a lower poly, untextured version of your model, and give it a better more suitable and safer collision shape.
Set the entity you want to draw to be its child, and give it an alpha of 0 (Dont HideEntity() it, or it will disable its collisions), and use the alpha'd to 0, low poly one, (Thats the parent) for collisions; Now collisions are much faster, can be more stable/reliable, and collisions to the invisible low poly mesh affect the higher poly (drawn) one because its its parent.
This also means that instead of moving the higher poly one, you move, rotate etc the invisible one.
..Come back to this when your working with that kindof thing, and when/if you know what im about to say means, youll probably agree: Put the low poly and high poly ones in a type, and make functions to set that types collision and the low polys alpha, and the parent of the high poly to be the low poly - Make things as easy and reusable as possible.