角色控制器主要用于第三人称或第一人称游戏主角控制,并不使用刚体物理效果。(载自unity圣殿)
下面先说啥为啥要用角色控制器,和角色控制器的特性
角色跑到了90英里每小时,然后马上停下而且可以极快的转身。因为是这么地不真实,用刚体和物理效果来创建这种行为是不切实际的,感觉上也不对劲。解决办法就是专门的角色控制器。很简单,就是一个胶囊碰撞器附加了可以控制其移动的脚本。控制器会执行脚本传达的动作但被碰撞影响。它会沿着墙动,走上台阶(如果台阶高度低于Step Offset属性)以及走上坡度小于Slope Limit的斜坡。
控制器不会对加在它自身上的力做出反应,也不会自动推开其他刚体。
如果想让角色控制器推开其他刚体或者对象,你可以在对象附加的脚本中添加OnControllerColliderHit()函数,这样对它们施加力就能够产生碰撞。
OnControllerColliderHit()函数,在角色控制器,与物体接触时会自动调用