Quote: "Also the DLL wont work!!"
I can only assume that you didn't run through the examples in the Ground Height link because they all work including the ones that use the dll. Or perhaps you have downloaded the wrong dll. There's a link in the above posted link that points directly to the DBC version of sparky's dll.
Quote: "And when you fall off something it freezes until the feeler is at the ground height"
Thus the statement:
Quote: "The feeler object method could be modified to speed it up a little bit by using limits and casting an object from the height of the camera or another object straight down until collision to a certain limit."
You have to account in the programming for the possibility of never reaching the ground and limit how long or far the feeler will check so that you can get out of the loop. If you review the code in the examples, you can see how things are handled and modify them to your needs. Using the dll is much faster than a feeler object. But, with time and trial, one can get the feeler object method to work fairly well.
I'm attaching an example of interior sliding collision that uses the feeler object principal. The collision method is a little different in that I use static collision boxes instead of polygon collision so the collision response is a little faster. The performance depends a lot on screen resolution. You have the option to select your display at the beginning. On my 10 year old machine, single core, AMD, 1.5 ghz , at 800x600x16 the max fps is about 110. @ 1024,768,16 the fps hums along at a steady 60 fps.
@800x600x32 about 70 fps
@1024x768x32 about 25 fps
In contrast, using the polygon collision method and the feeler object, all of the fps are about 5 to 10 fps lower. Not a huge difference, but a difference.
Using Sparky's the FPS were 5 to 10 fps higher. A little bit better. The only problem though is it's easy to fall through cracks using sparky's because it uses ray casting for collision detection.
Anyway, try out the attached exe. Move around with the up and down arrow keys, steer with the mouse. Hold the left mouse button to do a a "feeler" projection straight out in front of the camera. If the feeler collides with a wall, it will display a sphere at the point of impact. When casting the sphere, check the FPS. The closer the wall is, the less of an impact on performance. The further the wall, the more of an impact. But there is a limit to how far the test will go so that the program isn't waiting forever for a feeler test to return.
You'll also notice on the display Custom Line of sight box hit = 1 ; this is the constant test with a feeler and the ground to get height. The display "Camera Y = 101.something" is the approximate collision height. The camera will always try to be 100 units from the ground. The bottom floor starts at 0,0,0 so the initial height tries to be at 100 units.
The feeler method isn't perfect, but it's fairly simple to implement and you can probably tweak it to work how you need. But it definitely takes tweaking!
Here's the attachment:
Enjoy your day.