인프런 커뮤니티 질문&답변

강감찬님의 프로필 이미지
강감찬

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Input Manager

inputManager 질문 있습니다

작성

·

214

0

  1. 강의 내용을 보면 PlayerController에서 update함수에 캐릭터가 움직이는 로직을 직접 넣는것은 규모가 큰 게임에서는 효율이 안좋다고 하셨는데 어떤부분이 직접적으로 안좋은것이고 매니저를 따로 만들어서 작동시키는것이 어떤점이 좋은건지 조금 구체적으로 알고싶습니다. 이후강의에 resource manager도 같은 맥락으로 궁금점이 생겼는데요. resource manager같은 경우에는 진짜 유니티에서 제공하는 함수를 한번 더 박싱을 해서 쓰는것 뿐인데 왜 따로 매니저를 만드는지 궁금합니다

 

  1. 지금은 Camera편 강의를 보고 있다가 질문거리가 생겨서 여기에 질문 같이 올립니다. inputmanager, resource manager의 상위에 Managers라는 또 다른 매니저를 만들어서 여러가지 매니저들을 관리하는데요. 여러가지 매니저들을 따로따로 써도 될것같은데 굳이 한번 더 복잡하게 상위 매니저를 만들어서 한번에 쓰는것인지 궁금해요.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 강감찬님의 질문에 대해 답변 드립니다.

  1. Update 함수와 매니저 사용의 효율성

    • 직접적으로 Update 함수 내에 로직을 많이 넣는 것이 왜 규모가 큰 게임에서 비효율적인가에 대하여, 실제로 이와 관련하여 지식 공유자분께서 해주신 답변이 Managers 질문에서 찾아볼 수 있습니다. 요약하자면, 컴포넌트와 관련된 클래스가 많아질 때 Update() 함수 호출 및 Input.GetKey 호출이 많아지면 성능 부하가 생길 수 있으며, 이를 관리하기 어려워지는 것입니다. 이러한 점을 해결하기 위해, 중앙에서 관리할 수 있는 매니저를 도입하여 이벤트 관리를 통한 효율성과 유지보수 측면의 향상을 기대할 수 있습니다.

    • 또한 계속 의문이 듭니다에서는 InputManager의 설계 구조와 역할 분리에 대한 이해를 돕는 설명이 있습니다. 일반적으로 입력 관리를 중앙에서 수행함으로써, 이벤트 기반으로 특정 입력에 대해 필요한 반응만을 처리하게 하여 코드의 관리 및 확장성을 개선할 수 있습니다.

  2. Managers 상위 매니저 생성의 이유

    • 여러 매니저들을 한 곳에서 관리하는 이유에 대해서는 유사한 질문에 대한 답변을 직접적으로 찾을 수 없었습니다. 하지만, 설계 측면에서 볼 때, 상위 매니저(Managers)를 만드는 것은 내부적으로 여러 하위 매니저(예: InputManager, ResourceManager 등)들을 효과적으로 조정하고 각 매니저 간의 의존성을 관리하기 위함일 수 있습니다. 이를 통해 코드의 모듈성을 증가시키고, 각 매니저가 제공하는 서비스를 보다 쉽게 접근할 수 있도록 만들며, 필요한 경우 한 곳에서 해당 서비스들의 초기화, 업데이트 및 종료를 관리할 수 있습니다.

위의 설명은 강의 내용과 유사한 질문에 대한 답변을 기반으로 제공된 정보입니다. 각 매니저 사용에 있어서의 구체적인 설계 방식이나 도입 배경은 프로젝트의 요구 사항이나 팀의 선호도에 따라 다를 수 있으멀로, 해당 강의의 다른 부분에서 더 상세한 설명을 제공할 수도 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

강감찬님의 프로필 이미지
강감찬

작성한 질문수

질문하기