오늘은 Unity를 설치하고 기본적인 씬 구성, 애니메이션 적용, 캐릭터 움직이기를 연습했다.
아직 완전 초보라서 새로운 툴에 적응하는 과정 자체가 신기하고 재미있다.
애니메이션 작업을 하던 중 이런 에러를 처음 만났다.
'Rtan' AnimationEvent has no function name specified!
처음에는 검색을 해봐도 잘 이해가 안 되었다. Animation function을 지우면 된다고 하는데, 그게 뭐지? 조금 더 찾아보고는 아래 글을 보고 해결했다.
AnimationEvent has no function name specified!

Animation 윈도우의 Event 추가 버튼을 실수로 눌러버려 정의되지 않은 function이 추가된 상태였고, 그게 곧 위의 에러였다. (하지만 실수로 누르기 너무 좋게 생겼다.)
Animation 창에서 잘못 추가된 이벤트 마커를 삭제하면 끝.
크게 복잡한 문제는 아니었지만, 새로운 툴을 쓰다 보면 이런 사소한 부분에서도 실수가 생길 수 있다는 점이 느껴졌다.
강의에 나오는 대로 따라 코드를 작성하면서도 흥미로운 고민이 생겼다.
캐릭터는 1) 벽에 부딪혔을 때, 2) 화면을 클릭했을 때의 2가지의 조건에 의해서 좌우반전이 일어난다.
강의에서는 클릭과 벽 충돌을 각각 if문으로 분리했는데, 나는 보고 '코드가 동일하네?' 하고선 if문을 합쳤다.
// 통합된 if문
if (Input.GetMouseButtonDown(0) || transform.position.x > 2.6f || transform.position.x < -2.6f)
{
renderer.flipX = !renderer.flipX;
direction *= -1;
}
그리고 나서 든 생각이 이걸 합쳐도 괜찮은 건가 싶었다.
각 상황을 생각해보면,
내가 개발자라면 클릭 또는 벽 충돌이 동시에 동작하더라도 방향 전환이 한 번만 일어나게 하는 의도를 가지고 개발할 것 같은데, 현업에서는 어떻게 코딩하는 것이 더 좋을지, 아니면 별 차이가 없을지, 또는 이런 코드 몇 줄 때문에 정말로 문제가 생길지 궁금해졌다.
아직은 답을 못 들었지만, 이런 작은 차이도 고민하게 되는 게 재미있었다.
Unity AnimationEvent 에러는 사소한 클릭 실수에서도 쉽게 발생한다.
에러 메시지가 난해해 보여도 원인은 단순할 수 있다.
코드 작성 방식(조건 분리 vs 통합) 하나에도 결과가 달라지고, 어떤 게 더 “좋은 코드”일지 고민해보는 게 중요하다.