TPS 카메라를 구현하면서 시네머신을 사용하지 않을 때 LateUpdate()
에 간단히 추가하여 작동하는 스프링암
카메라 컴포넌트에 붙여 피벗의 트랜스폼을 할당하여 사용한다.
RaycastHit hit;
float dist;
if (Physics.Raycast(pivot.position, -pivot.forward, out hit, camMaxDistOnThird))
{
dist = Vector3.Distance(hit.point, pivot.position) * 0.8f;
}
else
{
dist = camMaxDistOnThird;
}
Vector3 targetPos = new Vector3(0f, 0f, -dist);
transform.localPosition = Vector3.SmoothDamp(transform.localPosition, targetPos, ref _currentVelocity, 0.1f);
카메라 트랜스폼을 직접 변경하지 않고 SmoothDamp()
를 사용해 카메라의 흔들림을 방지한다.