碰撞系统,如何让英雄沿着物体走动?

RPG游戏, 里面有各种形状的障碍物, 如: 房子, 石头… 这些都是多边形碰撞体. 如何让英雄碰撞到障碍物, 沿着障碍物行走?