I explain my problems:
-
no idea about your levels. That means how much detail you will have on floors and slopes. This is important, because with low level detail all that tracing could be done with just one trace and normal vector to surface. However if its common that such trace would pick up pebble or other small detail, you need more traces to make average out of it. For eg. in standard 3rd person level, sometimes trace picked up tiny “crack” between meshes and decided player is in valley. So this is first problem.
-
more traces means more “wasted” resources and cpu power, so this must be minimal, ie. as few as possible.
-
i do not know how you want your camera react to different situations. Honestl;y i could not think about any camera reaction to slope et. that would not annoy player and add something to gameplay.
This all needs some thinking, and planning, but that planning needs knowledge about game mechanics etc.
I think i know what you want to do. For eg. camera zooms in and pans down when you walk to the edge, or shows more up slope when you climbing up. Systems for making that should be coded at beginning of development, but tuned and finalized after you have solid gfameplay and levels, and idea about how game works.
So i can add some camera modifications and “generic” ie. programmer like behavior for camera. Without thinking if that is good or bad for gameplay.