Smooth position:
Vector3 destination =
target.position + offset;
transform.position =
Vector3.Lerp(
transform.position,
destination,
smoothness * Time.deltaTime
);
Alternative:
transform.position =
Vector3.SmoothDamp(
transform.position,
destination,
ref currentVelocity,
smoothTime
);
Smooth rotation:
transform.rotation =
Quaternion.Slerp(
transform.rotation,
targetRotation,
rotationSpeed * Time.deltaTime
);