void RollPlayer(Vector2 inputDir) { if (inputDir != Vector2.zero) { float targetRotation = Mathf.Atan2(inputDir.x, inputDir.y) * Mathf.Rad2Deg + playerCameraManager.GetPlayerCameraEulerY(); transform.eulerAngles = Vector3.up * Mathf.SmoothDampAngle(transform.eulerAngles.y, targetRotation, ref turnSmoothVelocity, GetModifiedSmoothTime(turnSmoothTime)); } float targetSpeed = rollSpeed; // * inputDir.magnitude; currentSpeed = Mathf.SmoothDamp(currentSpeed, targetSpeed, ref speedSmoothVelocity, GetModifiedSmoothTime(speedSmoothTime)); velocityY += Time.deltaTime * gravity; Vector3 velocity = transform.forward * currentSpeed + Vector3.up * velocityY; characterController.Move(velocity * Time.deltaTime); currentSpeed = new Vector2(characterController.velocity.x, characterController.velocity.z).magnitude; if (characterController.isGrounded) { velocityY = 0; } }
void AdjustFacingWithCamera() { float targetRotation = playerCameraManager.GetPlayerCameraEulerY(); transform.eulerAngles = Vector3.up * Mathf.SmoothDampAngle(transform.eulerAngles.y, targetRotation, ref turnSmoothVelocity, turnSmoothTime); }