public override void Move(CharacterController controller) { switch (Axis) { case MoveAxis.X: PositionDirection.Set(speed, 0, 0); break; case MoveAxis.Y: PositionDirection.Set(0, speed, 0); break; case MoveAxis.Z: PositionDirection.Set(0, 0, speed); break; } controller.Move(PositionDirection * Time.deltaTime); }
public override void Move(CharacterController controller) { PositionDirection.Set(0, 0, speed * Input.GetAxis(vAxis)); rotateDirection.y = rotateSpeed * Input.GetAxis(hAxis); controller.transform.Rotate(rotateDirection); PositionDirection = controller.transform.TransformDirection(PositionDirection); if (controller.isGrounded) { PositionDirection.y = 0; jumpCount = 0; } if (jumpCount < jumpCountMax && Input.GetButtonDown("Jump")) { PositionDirection.y = jumpForce; jumpCount++; } PositionDirection.y -= gravity; controller.Move(PositionDirection * Time.deltaTime); }