Inflearn brand logo image

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

Choi1997님의 프로필 이미지
Choi1997

작성한 질문수

[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기

Object Pooling

10. Object Pooling 단계에서 스폰 포지션 이슈가 생겼습니다.

해결된 질문

작성

·

33

0

 

10강까지 강의를 따라오면서 강의를 누락한 부분이 있기 때문에 생기는 이슈인지 궁금합니다.

 

누락으로 생긴 이슈라면 드릴 말씀은 없지만, 다른 분들도 따라하시다가 당황하실 수 있는 이슈로 여겨져서 글을 남겨 봅니다.

 

몬스터를 풀링하면서 몬스터가 생성될 때 프리팹에 적혀있는 좌표로 우선 생성되니까 해당 좌표에서 충돌 처리가 생기는 것 같습니다.

25072501.PNG.webp
  1. 몬스터 생성

  2. 몬스터가 프리팹에 적혀 있는 0,0,0 위치에 생성

  3. 0,0,0 위치에서 콜라이더 충돌이 발생함

  4. value.transform.position = spawnPos; 작동

  5. 작동하면서 좌표 값 변경

이후 강의에서 해결됐을 가능성이 농후하지만, 10강까지 따라왔을 때 누구에게나 생길 수 있는 이슈라고 느껴져서 글을 남깁니다.

 

몬스터 프리팹의 포지션 값을 변경하면서 일단 해결하였는데 제가 놓친 부분이 있었다면 참고하겠습니다.

25072502.PNG.webp

답변 2

1

Pinous님의 프로필 이미지
Pinous
지식공유자

안녕하세요! 상세하게 상황을 설명해 주셔서 감사합니다.

말씀해주신 문제는 충분히 발생할 수 있는 이슈 일 것 같네요 🙂

이번 강의에서는 해당 부분이 플레이에 직접적인 영향을 주지 않아 별도로 처리하지 않고 넘어갔지만, 말씀처럼 실제 게임을 완성해 빌드하거나 다양한 상황에서 테스트할 경우 초기 위치(예: 0,0,0)에서의 충돌 문제는 버그로 이어질 수 있을 것 같습니다.

다른 수강생 분들께도 도움이 될 수 있는 좋은 피드백 감사드립니다. 해당 부분은 검토 후 영상 편집이 필요하다고 판단된다면 편집 후 재 업로드 진행하겠습니다 🙂

1

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

현재 공유해주신 문제는 몬스터 프리팹이 초기화될 때 기본적으로 0,0,0 좌표에 생성되면서 해당 위치에서 충돌이 발생하는 것으로 보입니다. 이는 게임 개발 초보자에게 흔히 발생할 수 있는 상황입니다.

문제점과 해결 방법을 요약하여 설명드리겠습니다:

문제점 분석

  1. 프리팹 초기 위치 문제: 프리팹이 생성되었을 때 기본 좌표인 (0,0,0)에 위치하면서 해당 위치에서 충돌이 발생할 수 있습니다.

  2. 즉각적인 포지션 업데이트: 해당 오브젝트의 위치를 풀링 후 바로 새로운 위치로 설정하기 전에 초기 위치에서 충돌이 발생할 가능성이 있습니다.

해결 방법

  1. 프리팹 초기화 개선: 프리팹의 초기 Transform 값을 다른 위치로 설정하거나, 스폰 시 초기 위치를 적절히 설정하여야 합니다.

  2. Object Pooling 및 Position 설정: 오브젝트 생성 후, value.transform.position = spawnPos; 와 같은 위치 설정 코드가 즉시 실행되도록 하여 0,0,0 위치에서 다른 위치로 빠르게 이동시키는 것이 중요합니다.

  3. Spawn 시 위치 조정: 몬스터가 풀링된 후 게임 시작 시점이나 스폰되는 시점에 위치 값을 필히 초기화 및 업데이트해야 합니다.

이미지를 통해 이해를 돕도록 아래와 같은 유사한 문제 해결 사례를 추천드립니다:

해당 링크들을 통하여 유사한 사례들을 참고하시고, 문제를 해결하시는 데에 도움이 되시길 바랍니다.

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

Choi1997님의 프로필 이미지
Choi1997

작성한 질문수

질문하기