- Home /
Question by
elzbeb · Jul 31, 2021 at 02:33 PM ·
lerpsmoothdamp
Lerp slowing down at the end even when using the right method
Hey so i have a camera bob script where it bobs when i land to give it a dynamic feel, it works great but when i set my fps to 60 it sort of slows down near the end like shown in the video
Here is how i calculate the land offset
Vector3 offset = Vector3.zero;
timeElapsed += Time.deltaTime;
normalizedTime = timeElapsed / bobDuration;
if (camOffset == Vector3.zero) return offset;
if (normalizedTime >= 0.15f) timeElapsed = 0f;
if (timeElapsed < bobDuration)
{
camOffset = Vector3.Lerp(camOffset, endBobValue, timeElapsed / bobDuration);
}
else
{
camOffset = endBobValue;
}
offset = Vector3.SmoothDamp(transform.localPosition, camOffset, ref vel, bobSmoothTime);
return offset;
Its called in LateUpdate and i set my localPos to it, so like this
Vector3 newPos = CalculateLandOffset();
transform.localPosition = newPos;
and finally i call this function whenever i need to
public void CameraLand(float mag)
{
float magnitude = (mag * bobMultiplier);
magnitude = Mathf.Round(magnitude * 100f) * 0.01f;
magnitude = Mathf.Clamp(magnitude, 0f, maxOffset);
if (magnitude < 0.5f)
{
magnitude = 0f;
}
camOffset = camHolder.InverseTransformDirection(Vector3.down) * magnitude;
}
Hope someone can help me with this
Comment
Your answer
Follow this Question
Related Questions
Crouching script not working? 0 Answers
why target switching of smooth camera not very smooth ? 0 Answers
Mouse wheel zoom 1 Answer
SmoothDamp smoothTime ignored! 1 Answer
SmoothDamp or Lerp with Rootmotion to match a target position 0 Answers