public virtual void SetControllerMoveSpeed(vMovementSpeed speed) { if (speed.walkByDefault) { moveSpeed = Mathf.Lerp(moveSpeed, isSprinting ? speed.runningSpeed : speed.walkSpeed, speed.movementSmooth * Time.deltaTime); } else { moveSpeed = Mathf.Lerp(moveSpeed, isSprinting ? speed.sprintSpeed : speed.runningSpeed, speed.movementSmooth * Time.deltaTime); } }
public virtual void SetControllerMoveSpeed(vMovementSpeed speed) { if (isCrouching) { moveSpeed = Mathf.Lerp(moveSpeed, speed.crouchSpeed, speed.movementSmooth * Time.deltaTime); return; } if (speed.walkByDefault) moveSpeed = Mathf.Lerp(moveSpeed, isSprinting ? speed.runningSpeed : speed.walkSpeed, speed.movementSmooth * Time.deltaTime); else moveSpeed = Mathf.Lerp(moveSpeed, isSprinting ? speed.sprintSpeed : speed.runningSpeed, speed.movementSmooth * Time.deltaTime); }
public virtual void SetAnimatorMoveSpeed(vMovementSpeed speed) { Vector3 relativeInput = transform.InverseTransformDirection(moveDirection); verticalSpeed = relativeInput.z; horizontalSpeed = relativeInput.x; var newInput = new Vector2(verticalSpeed, horizontalSpeed); if (speed.walkByDefault) { inputMagnitude = Mathf.Clamp(newInput.magnitude, 0, isSprinting ? runningSpeed : walkSpeed); } else { inputMagnitude = Mathf.Clamp(isSprinting ? newInput.magnitude + 0.5f : newInput.magnitude, 0, isSprinting ? sprintSpeed : runningSpeed); } }