/// <summary> Gets intended velocity. </summary> /// <returns> The intended velocity. </returns> private Vector3 GetIntendedVelocity() { if (Mover.IsGrounded) { Vector3 forwardMovement = Vector3.ProjectOnPlane( CameraRig.transform.forward * InputSource.GetMovementTwoAxis().y *forwardSpeed, Vector3.up); Vector3 sidewardsMovement = Vector3.ProjectOnPlane( CameraRig.transform.right * InputSource.GetMovementTwoAxis().x *sidewardSpeed, Vector3.up); Vector3 movementDirection = Vector3.Lerp(forwardMovement, sidewardsMovement, 0.5f); Debug.DrawRay(transform.position, movementDirection, Color.cyan); return(movementDirection); } return(Vector3.down * fallSpeed); }