공부/Game Bootcamp

[TIL] #12. 통합 후 카메라 흔들림 버그 수정 : 멋쟁이사자처럼부트캠프 Unity 게임 개발 3기

Ail_ 2025. 5. 9. 18:37

개요

피격 시 카메라가 흔들리는 연출이 통합을 거치면서 타 팀원이 작성한 CameraController와 충돌하며 정상적으로 작동하지 않는 문제가 발생했다. 따라서 이를 해결하기 위한 구조 개선 작업을 진행했다. 추가로 대시를 일상 씬일 때 막도록 return을 추가했다

 

내용

 

  • CameraShake.cs 구조 개선
    • 기존에는 transform.localPosition을 기준으로 흔들었지만, CameraController가 transform.position을 매 프레임 갱신하고 있어서 흔들림이 덮여버리는 문제 존재
    • LateUpdate에서 CameraController의 이동 이후 transform.position을 기준점으로 잡아 매 프레임 흔들림 적용
  • CameraShake 구조 변경
    • originalPosition → targetPosition으로 이름 변경 및 LateUpdate 내에서 실시간 갱신
    • 흔들림이 CameraController의 위치 적용 이후에 정확히 반영되도록 흐름 정비
private void LateUpdate()
{
    targetPosition = transform.position;
    if (shakeTimer > 0)
    {
        Vector3 offset = Random.insideUnitSphere * shakeMagnitude;
        transform.position = targetPosition + offset;
        shakeTimer -= Time.deltaTime;
    }
}

 

 

 

기존 이슈 : 카메라가 흔들리는 대신 줌아웃, 줌인이 되고 있음

 

해결 : 기존처럼 피격 시 카메라 흔들림이 잘 나타남

 

 

느낀 점

역시 통합하면 없던 버그도 생길 수밖에 없다. 계층 구조를 바꾸는 식으로 해결해보려했다가 그냥 코드를 바꾸는 식으로 진행했다.