유니티

패스트캠퍼스 환급챌린지 13일차 : 한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지 강의 후기

hokim 2025. 11. 24. 23:25

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://fastcampus.info/4oKQD6b

 

공부시작
공부종료
수강인증
학습 인증샷

오늘은 캐릭터 이동/오브젝트 풀 관리/공격 관리를 배웠다.

파일이 많아지니까 막 화면 왔다갔다 할 때 따라가는게 좀 힘들었다. 그리고 은근히 설명 안하고 넘어가시는 부분이 있어서 그건 따로 찾아봤다.

 

Quaternion.RotateTowards 란?

 

현재 상태에서 목표 각도까지 부드럽게 회전하는 함수이다.

public static Quaternion RotateTowards( Quaternion from, Quaternion to, float maxDegreesDelta );

  • from: 현재 회전
  • to: 목표 회전
  • maxDegreesDelta: 이번 프레임에서 회전할 최대 각도(도 단위)

프레임당 최대 각도를 설정할 수 있는게 신기했다.

강의에서는 400f * Time.deltaTime으로 설정하니까 부드럽게 잘 돌아갔다. 

 

PoolManager에서 GameObject가 아니라 스크립트로 관리하는 이유가 따로 있나?

풀링 매니저에서 이전에 배울때는 게임 오브젝트로 저장해서 사용했는데, 이번 강의에서는 스크립트 (ex. SkillBase) 로 저장해서 관리하는게 조금 의아했다. 이게 성능상 이점이 좀 더 있나 싶어서 조사해봤다.

게임오브젝트로 관리하면 구조가 단순하지만, 필요한 스크립트를 매번 GetComponent 해와야 한다. 이를 Update에서 실행해서 반복적으로 가져오게 되면 성능상 부담이 될 수 있다.

스크립트 기준으로 가져오게 되면 오브젝트가 해당 스크립트를 가지고 있는지 확인하지 않아도 된다. 해당 타입인 경우에만 추가되니까말이다. 게임오브젝트로 가져오게 되면 없는 컴포넌트를 가져오는 등의 실수가 일어날 수 있다.

그리고 실제 프로젝트에서는 스크립트 기준 풀링이 더 많이 쓰인다고 한다. 

 

화면이 너무 빠르게 넘어가서 다시 되돌아가서 코드를 보느라 시간이 좀 더 오래 걸린 것 같다ㅠ 내일은 캐릭터 스킬 강의를 들을 것 같다. 이번에 뭔가 빠르게 결과물을 보여주느라 깊게 들어가지 못했던 부분을 좀 더 파보게 될 것 같아서 기대된다.