해결된 질문
작성
·
79
·
수정됨
1
아직 초반 강의 부분을 보고 있지만 일부 리소들에 대해서 리소스 폴더에서 로드하는 내용들이 제법 있는 것 같은데 제가 알기로는 리소스 폴더에서 로드하는 방식의 경우 빌드 시 전부 포함이 되기 때문에 무거워져 비선호한다로 알고 있습니다.
현업에서 정말로 이렇게 쓰이는지가 궁금합니다.
추가적인 질문으로는 요즘 결합도 관련해서 경험이 많이 부족했어서 이것저것 고민을 하고 있는 상황입니다. 챗지피티를 통해 인스턴스를 통한 다른 클래스에서의 사용이 결합도를 높이는 좋지 않은 것으로 챗지피티에서 알려주고 있는데 싱글톤을 통한 인스턴스들을 또 사용이 제법 나오는데 이또한 현업에서도 허용범위인가요??
답변 2
2
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.
현업에서는 보통 공통적으로 사용하는 최소한의 리소스를 Resources 폴더에 저장하여 빌드에 포함시키고, 나머지는 Unity Addressables를 사용하여 원격 서버에 업로드하고 CDN을 사용하여 게임 실행 시 다운 받을 수 있도록 합니다. Unity Addressables를 활용한 원격 리소스 다운로드 시스템은 유니티 시스템 프로그래밍 Pt.2에서 상세히 다루고 있습니다.
현재 개발 중이신 게임이 어느 정도의 규모인지에 따라 처음부터 원격 리소스 다운로드 시스템을 적용하실지 여부를 결정하는 것이 좋습니다. 만약 대규모 프로젝트를 진행하신다면 당연히 원격 리소스 다운로드 시스템을 구축하셔야 하고, 소규모로 출시하신 다음 시장의 반응을 보면서 콘텐츠를 점점 더 추가해 나가실 전략이라면 초반 출시 때는 Resources 폴더를 사용하시고, 추후에 원격 다운로드 시스템을 구축하시는 것이 좋을 것이라 판단됩니다. Addressables를 사용해도 빌드에 포함시킬 항목, 원격으로 다운 받을 항목을 구분할 수 있기 때문에 Addressables를 초반부터 사용하시되 원격 다운로드 시스템은 당장 구축하지 않는 방법도 있습니다.
결합도란 것은 특정 모듈이 다른 모듈에 의존하는 정도를 말하고, 특정 모듈 변경 시 그와 관련된 다른 모듈에 대한 변경이 많아질 때가 문제되는 것입니다. 싱글톤 인스턴스는 다른 모듈에 의존하지 않고 자신 스스로 생성 및 소멸되고, 다른 모듈에서 필요한 기능(함수)만 호출하는 것이므로 결합도를 높인다고 보긴 어렵습니다. 어떤 상황에서의 모듈(혹은 클래스) 간 결합도를 고민하시는 것인지 질문해 주시면 그에 대한 의견 및 아이디어를 드릴 수 있을 것 같습니다.
감사합니다.
싱글톤 패턴을 무분별하게 많이 사용하면 그럴 수 있지만 이 강의에서 사용하는 것은 아주 기본적인 수준이기 때문에 문제될 정도는 아니라고 생각합니다.
클래스 간의 결합도를 줄일 수 있는 방법을 고민 중이신 것 같은데, 이를 해결하는 좋은 방법이 PUB-SUB 디자인 패턴입니다. 39강~40강에서 다루고 있으니 이 강의를 참고하여 수강생 분의 다른 코드에도 한 번 적용해 보시길 바랍니다.
0
안녕하세요, 인프런 AI 인턴입니다. 허인호님.
Resources 폴더를 활용한 리소스 로딩에 대해 질문주셨네요. Resources 폴더는 Unity에서 간편하게 리소스를 로드할 수 있는 방법을 제공하지만, 질문하신 대로 모든 리소스가 빌드에 포함되어 최적화 측면에서 비효율적일 수 있습니다. 따라서 대규모 프로젝트에서는 사용을 피하고, Addressables나 Asset Bundles와 같은 대체 방법을 사용하는 것이 일반적입니다.
실무에서는 어떻게 사용될까요?
일부 간단한 프로토타입이나 소규모 프로젝트에서는 유용할 수 있지만, 정식 릴리즈나 대규모 프로젝트에서는 리소스를 동적으로 로드하고 관리하여 게임의 퍼포먼스를 최적화하기 위해 주소 시스템이나 에셋 번들을 주로 사용합니다.
관련된 자료로는:
- Unity의 Addressables 사용 방법: Addressables는 리소스를 동적으로 관리할 수 있는 강력한 도구로, 빌드의 크기를 줄이고 리소스 관리를 용이하게 합니다.
더욱 자세한 내용을 알고 싶으시다면, 아래의 기존 답변을 확인해 보세요:
- Resources 폴더 사용에 대한 고려사항
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
아하 Pt.2까지 언능 달려봐야겠네요ㅎㅎ
챗지피티에서는 결합도 관련해서 싱글톤에 대해 높다고 나오길래 추상화 함수만 의존하게끔 설계하고 있긴 했는데 싱글톤이 꼭 높지만은 않은가 보군요 감사합니다!