Unity中的Character Controller
Unity中默认提供了一个Character Controller的组件用于实现角色控制,一个3D的游戏物体,可以直接添加。Character Controller会自动模拟出Capsule Collider,它的主要配置如下:
- Slope Limit:坡度限制,默认为度,限制物体只能上这个范围内的坡度;
- Step Offset:台阶高度的上限
- Skin Width:蒙皮厚度,与其他Collider碰撞时的渗入容许深度,过大角色会震动,过小被卡住,建议设为Raius的10%
- Min Move Distance:如果移动的距离<该值,角色不移动,可以避免一些小的移动所产生的震动,大部分情况设为0
- Center:Capsule Collider的偏移位置
- Radius:Capsule Collider的半径
- Height: Capsule Collider的高度
Character Controller的移动有两种方式
(1)Move,其时和translate很相似,唯一不同的是如果遇到台阶高度过大,这个物体无法上去,这个方法不直接受重力影响;
(2)SimpleMove可以计算重力
(3) 它有个属性.isGrouded可以判断是否着地