#4 개인프로젝트(탑다운) 트러블슈팅

김소연·2025년 2월 20일

1. GitHub 관련

1)

  • 배경 - Unity 2022.3 버전을 사용하며 프로젝트를 새롭게 만들고 git에 커밋하고 시작하려는 상황이었습니다.
  • 발단 - 아무것도 하지 않은 유니티 프로젝트를 만들어서 커밋하려고 하면 다음과 같은 경고창이 출력되었습니다. 100mb 이상을 초과해서 다른 방법으로 커밋하라는 경고창이었습니다.
  • 전개 - 유니티 프로젝트를 계속해서 재생성하고, 파일 경로를 확인했습니다.
    Unity Gitnore 양식을 찾아 gitnore파일에 덮어씌웠습니다. 이후 큰 파일 용량을 차지하는 Library를 제외했습니다.
  • 위기 - 이제 더이상 파일의 크기가 크다는 경고창은 뜨지 않았지만, 새로운 경고창이 뜨기 시작했습니다.
    #LF will be replaced by CRLF in Error

  • 절정 - 뜨는 원인을 추가적으로 검색하고, 이에 대해 어떠한 조치를 취해야할 지 고민하며 프로젝트를 계속해서 재생성했습니다.

  • 결말 - 어느 순간부터 경고창이 뜨지 않았고, 그 이후로 저는 성급하게 커밋을 하려고 하면 안 된다는 것을 깨달았습니다.
    Commit을 한다고 해도, History에는 반영되지 않는 버그가 있었고, 이를 확인하지 않은 채 무시하고 커밋을 올려버리면 이러한 버그가 발생하는 것을 알게 되었습니다.
    저는 이후로, 프로젝트 마감이 급급한 상황에서 이러한 Conflict를 해결하려고 시간이 손실되는 것을 막기 위해, Commit History를 꼼꼼이 확인하고 생각한 뒤에 올리는 습관을 가지게 되었습니다.

2. 개인 프로젝트 관련

1)

  • 배경 - 저는 기획 의도에 따라 '침대'에 가까이 가면 UI를 Trigger하는 기능을 구현하고 있었습니다. 따라서 BoxCollider2D로 충돌체를 감지했습니다.
  • 발단 - 그러나 UI를 Trigger 하는 시간이 길었습니다. 체감상 5초라는 시간이 걸릴 만큼, 침대에는 이미 가까이 갔는데도 UI가 늦게 활성화되었습니다.
  • 위기 - 계속해서 테스트해본 결과,'UI가 늦게 활성화된다'라는 것은 착각이었습니다. 침대의 왼쪽 방향에서만 충돌이 감지되기 때문에, 어쩌다 침대 왼쪽으로 가면 UI가 활성화가 되어서 늦게 UI가 켜진다고 생각한 것입니다.
    즉, 침대의 상/하/우 방향에서는 충돌이 감지되지 않았습니다.
    어떤 방향에서든 침대에 가까이 가면 Ontrigger 충돌이 감지되어야 했습니다. 침대 주위에 넓은 범위로 BoxCollider2D를 설정했기 때문입니다.
  • 절정 - 더 넓은 범위를 지정했지만, 여전히 같은 결과였습니다.
    따라서, 추가적인 검색을 통해 기존의 OntriggerEnter로 접촉을 감지했던 것에서, OnTriggerStay를 사용해 계속해서 프레임 당 한 번씩 호출하여, 충돌을 확실히 감지할 수 있도록 만들었습니다.

    Collider.OnTriggerEnter: 트리거 콜라이더가 다른 콜라이더와 처음 접촉하면 Unity가 이 함수를 호출합니다.
    Collider.OnTriggerStay: 트리거 콜라이더 내부에서 다른 콜라이더가 감지되면 Unity가 프레임당 한 번씩 트리거 콜라이더에서 이 함수를 호출합니다.
    출처 : 유니티 매뉴얼 https://docs.unity3d.com/kr/2023.2/Manual/collider-interactions-ontrigger.html

  • 결말 - 침대에 어떤 방향이로든 문제 없이, 충돌이 감지되었으며 그에 따라 UI 역시 즉각적으로 활성화되었습니다. 그러나 추가적인 보완이 필요함을 깨달았습니다. 이는 이어서 (2)로 이어집니다.

2)

  • 배경 - 앞서 OnTriggerStay를 통해 충돌을 원활하게 감지할 수 있었습니다.
  • 발단 - 하지만 침대 근처에 있으면 UI를 꺼도 계속해서 생성되는 문제가 있었고, 사용자는 UI를 종료해도 계속해서 반복적으로 뜨는 UI를 마주할 가능성이 나타났습니다.
    ...
    (이어서 작성)

0개의 댓글