Vector3 movedirection = Vector3.zero;
movedirection = Vector3 (Input.GetAxis ("Horizontal"), 0, Input.GetAxis ("Vertical"));
CharacterController controller = GetComponent<CharacterController> ();
//移动命令
var flags = controller.Move (movedirection * Time.deltaTime);
//CollisionFlags.CollidedBelow 监测底部放生碰撞 flags & CollisionFlags.CollidedBelow 返回1
//CollisionFlags.CollidedSides 监测顶部发生碰撞 flags & CollisionFlags.CollidedSides 返回1
//CollisionFlags.CollidedAbove 监测四周发生碰撞 flags & CollisionFlags.CollidedAbove 返回1
bool grounded = (flags & CollisionFlags.CollidedBelow) != 0;
Unity 角色控制器 移动监测碰撞
最新推荐文章于 2024-07-22 06:43:28 发布