강의

멘토링

로드맵

Inflearn brand logo image

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

황보민님의 프로필 이미지
황보민

작성한 질문수

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

안녕하세요 scene전환 관련해서 질문드립니다.

작성

·

64

·

수정됨

0

scene을 전환하실 때 단순히 DontdestroyOnLoad를 활용해서 고정시켜둘 객체들을 고정시켜두고 scene을 전환하셔서 구현하셨는데요... additive를 활용해서 mainscene에 고정시켜둘 객체들을 두고 mapscene들을 비동기로 로딩하는 방식이 어떤차이가 있는지 궁금합니다...

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 황보민님.

Scene 전환 시 DontDestroyOnLoad와 Additive 로딩 방식에 대해 질문 주셨네요. 주로 철저한 scene 관리와 효과적인 메모리 사용이 관련된 주제입니다.

  1. DontDestroyOnLoad: 이 방법은 특정 객체를 Scene 전환 후에도 남겨두는 것이 가능합니다. 주로 게임 상태, UI 관리 등과 관련된 객체를 유지할 때 많이 사용됩니다. 이 방법의 장점은 구현이 간단하며, 고정된 데이터를 쉽게 유지할 수 있다는 점입니다. 단, 많은 객체를 남길수록 메모리를 지속적으로 사용하게 되어, 관리가 필요합니다.

  2. Additive Loading: Additive 방식을 사용하면 여러 Scene을 동시에 로딩할 수 있어, 메모리 관리와 성능 최적화 측면에서 유리할 수 있습니다. 예를 들어, 고정적인 메인 Scene에 다른 Map Scene을 추가적으로 로드하고 제거하는 방식으로 유동적으로 게임 환경을 관리할 수 있습니다. 이 방식은 특히 큰 오픈월드 게임에서 유용하며, 여러 Scene의 콘텐츠를 병렬 처리할 수 있게 만들어 줍니다.

이 두 가지 방법 중 어떤 것을 사용할지는 프로젝트의 요구사항과 성격에 따라 다를 수 있습니다. 만약 유지해야 할 데이터가 많고 지속적으로 변경되지 않는다면 DontDestroyOnLoad가 적합할 수 있으나, Scene 간의 독립성이 중요하다면 Additive 방식을 고려할 수 있습니다.

추가적으로 관련된 토론이나 설명을 확인할 수 있는 다른 링크들을 제공 드립니다:
- 맵 관련되서 궁금한 점이 있습니다.
- 맵 이동 시 궁금한 부분이 있습니다.

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

황보민님의 프로필 이미지
황보민

작성한 질문수

질문하기