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可以判斷是否着地