[내배캠] 유니티 숙련 팀프로젝트 마무리

Sungchan Ahn(안성찬)·2024년 11월 7일

내일배움캠프

목록 보기
57/104

발표 피드백

발표 자료에는 코드를 너무 많이 넣지 않고 핵심 로직만 간단히 넣는다.
개발한 결과물을 시연 영상 같이 시각적으로 보여줄 수 있는 것들을 발표하여 우리가 무엇을 만들었는지 확실히 보여주는 것이 좋다.

코드 피드백

다른 조의 발표 피드백에서 적-플레이어 사이의 거리를 측정하는 Vector3.Distance는 가볍지 않은 메서드라서 Update문 내에서 계속 호출하는 것은 성능상 좋지 않다고 했다.
다음에 적을 만들 때 플레이어와의 거리를 Update에서 매번 확인하지 않고, 적절한 조건이나 상황에 호출하거나, 코루틴을 사용하여 일정 주기마다 플레이어와의 거리를 확인하는 방식으로 진행하면 좋을 것 같다.

완전하게 해결하지 못한 버그

Animal들이 죽으면 캐릭터 오브젝트가 쓰러지는 death Animation이 실행되고 오브젝트풀로 Release되는데 이 캐릭터가 다시 스폰되면 death Animation으로 인해 쓰러진 상태로 리스폰 된다.
지금 해결한 방법은 death Animation을 animator의 Exit에 transition을 연결하여 death Animation이 끝나면 animator를 Exit하여 캐릭터 오브젝트가 원래의 상태로 돌아오게 하고, 오브젝트 풀로 Release하는 방식으로 해결했다.

지금 방법으로는 오브젝트가 쓰러진 상태로 리스폰하는 버그는 해결했지만, death animation이 실행된 이후 사라지기 전에 캐릭터가 초기화되는 모습이 화면에 잠깐 보인다는 것이다.
이를 해결하기 위해 death animation이 끝나면 Release되기 전까지 SkinnedMeshRenderer를 enable = false로 꺼줘서 캐릭터가 보이지 않게 하려했다. 이렇게 되면 문제는 animation이 바꾸는 Armature의 Root이 Skinned Mesh Renderer의 Root Bone에 연결되어 있기 때문에 이것을 꺼버리면 Animator가 완전히 Exit 되기 전에 Armature-Root의 하위 요소들의 Transform을 초기화 하지 못하게 된다.
그래서 좀 더 알아볼 예정이다.

profile
게임 개발 기록

0개의 댓글