• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

메모리 관리 및 강의 외 질문 있습니다!

22.02.13 16:32 작성 조회수 150

0

안녕하세요! 어렵지만 강의 잘 듣구 있습니다!
 
이번 시간 Clear()메소드로 메모리 관리하는 것을 보고, 이해는 다 하였는데 C#은 가비지 컬렉터가 적용되는 스크립트 아닌가요..? 게임 특성상 메모리 관리가 바로바로 동기화가 되어야 프로세스가 원활하기 때문에 임의로 메모리 관리를 해주는 것인지가 궁금합니다!
 
또한, 유니티라서 그런지 아니면 이 정도의 규모로 들어가는 프로그래밍이 처음이라서 그런지 반정도는 이해하면서 코딩하고, 반정도는 그냥 따라치는 느낌이 조금씩 듭니다..(특히 UI 수업 때 유니티 엔진에서 제공하는 메소드들에 대해서 그런 느낌이 강하게 듭니다)
 
게임에 대해서 공부하는 것이 처음이라서 당연한 것이긴 하지만, 그래도 나름 따라가려고 코드 리뷰도 하고 반복하면서 보고 있는 중인데, 해당 챕터를 완벽하게 이해하지 못하면 앞으로 나오는 강의(네트워크나~데이터베이스)등에서도 지장이 있을까요?
 
게임 업계쪽으로 진로를 확정했다기 보다는, 다양한 프로그래밍 경험을 쌓는 것에 본 강의 수강의 목적인지라서 고민이 됩니다.
 
항상 좋은 강의 들려주셔서 감사합니다 :D

답변 1

답변을 작성해보세요.

0

Clear()를 통해 일부 메모리를 정리하는 이유는
씬에서 다른 씬으로 넘어갈 때 불필요한 리소스를 날릴 필요가 있다면 넣어주기 위함인데요.
RPG 게임을 예로 들면 로비에서 사용하는 리소스와, 
게임에 접속해서 사용하는 리소스가 다르겠죠?
DontDestroyOnLoad~ 를 호출하면 Scene 변환하더라도
자동으로 삭제되지 않기에 필요한 부분이 있다면 처리를 해주는 것입니다.

유니티는 '게임 엔진'이고 처음부터 만드는게 아니라
이미 만들어진 프레임워크 위에서 작업하는거라
이해한 느낌보다는 따라친 느낌이 드는게 당연합니다.
앞으로 어느 분야를 하실지 모르겠지만,
바닥부터 다 만드는 경우는 사실 요즘엔 드뭅니다.
웹 개발을 하더라도, 웹 프레임워크 (Java Spring, C# ASP.NET, JS NodeJS 등)를 사용해서
컨텐츠를 만드는 것이지 아랫단계에서 작업하진 않겠죠.

Part7 정도 되어서 컨텐츠를 작업할 때가 오면,
함수를 따라치기 보다는 진짜 생각대로 컨텐츠를 구현하는 분량이 더 많아
어느 정도 직관적일 것으로 보입니다.

 

임학수님의 프로필

임학수

질문자

2022.02.13

감사합니다 :)