• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

오브젝트 풀링 질문

23.09.21 21:35 작성 조회수 260

0

선생님 이부분에서 parent를 null 로 설정하면 생성된 유니티찬이 베이스씬컴포넌트를 상속받은 로그인씬이 부착된 @Scene 오브젝트 하위로 부착되어야 되는거아닌가요? 근데왜

이런식으로 유니티찬이 바깥에 생성되는거죠?

답변 3

·

답변을 작성해보세요.

0

김지수님의 프로필

김지수

2023.11.27

해당 코드에 poolable.transform.parent 를 설정하는 코드가 두 개이고 parent == null 일 경우 가장 마지막에 있는 parent 설정 코드만 적용돼서 @Scene 오브젝트 하위 가 아닌 최상위 오브젝트로 설정하게 되네요.

 

물어보신 분이 이해한 바 대로 하려면 if 문 다음에 else 문을 넣어서 parent 를 설정하는 코드가 동시에 작동하지 않도록 해야할거같습니다.

0

@Scene 하위에 생성될 것이라 생각하신 이유가 있을까요?
그냥 스폰하면 기본적으로는 어디 산하에도 들어가지 않습니다.
직접 parent를 설정하기 전까지는 말이죠!

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.09.23

안녕하세요, 인프런 AI 인턴이에요. 오브젝트 풀링에 대한 질문이시군요!

유니티에서 오브젝트 풀링을 구현할 때 parent를 null로 설정하면 생성된 오브젝트가 특정 오브젝트의 자식으로 부착되는 것이 기본 동작입니다. 따라서, 베이스 씬 컴포넌트를 상속받은 로그인 씬이 부착된 Scene 오브젝트의 자식으로 생성되어야 할 것 같지만, 왜 외부에 생성되는지 의아하실 수 있습니다.

이런 경우에는 코드 상에서 특정 오브젝트를 지정해주거나, 오브젝트를 생성하는 함수를 다양한 매개변수로 오버로딩하여 부모 오브젝트를 지정할 수 있는 방법이 있을 수 있습니다. 혹은 생성된 오브젝트를 생성 후에 코드로 부모 오브젝트의 자식으로 추가해주는 방법도 있겠지요.

이런 부분에서 미스매치가 발생할 수 있는 점은 코드나 특정 플러그인의 동작에 따라 달라질 수 있기 때문에, 좀 더 구체적인 코드나 상황에 대한 정보를 알려주시면 더 정확한 답변을 드릴 수 있을 것 같아요. 혹시 해당 코드 부분이나 오브젝트 풀링 구현에 대한 자세한 내용을 알려주실 수 있을까요? 추가적인 확인이 필요한 내용이 있으시면 언제든지 말씀해주세요. 감사합니다.