Traversing 3D environments

Ive been using Python for a year now but am just getting into 3D programming and I have a few questions
Lets say I have a hilly terrain that I want a human to be able to walk across
What is the best way to have him actually walk over the hills rather than through them? Do I use collision spheres?
Sorry if this was covered in the docs, I searched but couldnt find anything.
Also thanks to Panda3D for actually compiling unlike pyogre and crystal space are you kidding me son

In the samples directory in your Panda3D installation folder, you find a Roaming Ralph example. That one is probably what you need.

This thread might be interesting for you too. Great work done by raytaller:
https://discourse.panda3d.org/viewtopic.php?t=2502

If you have large static environments then PandaNewton is an option too. The TreeCollision is easy to use and fast.

pyogre is dead AFAIK. But there are new, up-to-date bindings, called python-ogre.
http://www.python-ogre.org/

enn0x

Thanks for responding both of you, thats what I was looking for
And yes python-ogre is actually what I meant
The dependencies are ridiculous
But it isnt a big deal, Panda3d looks more than capable~