해결된 질문
작성
·
33
0
10강까지 강의를 따라오면서 강의를 누락한 부분이 있기 때문에 생기는 이슈인지 궁금합니다.
누락으로 생긴 이슈라면 드릴 말씀은 없지만, 다른 분들도 따라하시다가 당황하실 수 있는 이슈로 여겨져서 글을 남겨 봅니다.
몬스터를 풀링하면서 몬스터가 생성될 때 프리팹에 적혀있는 좌표로 우선 생성되니까 해당 좌표에서 충돌 처리가 생기는 것 같습니다.
몬스터 생성
몬스터가 프리팹에 적혀 있는 0,0,0 위치에 생성
0,0,0 위치에서 콜라이더 충돌이 발생함
value.transform.position = spawnPos; 작동
작동하면서 좌표 값 변경
이후 강의에서 해결됐을 가능성이 농후하지만, 10강까지 따라왔을 때 누구에게나 생길 수 있는 이슈라고 느껴져서 글을 남깁니다.
몬스터 프리팹의 포지션 값을 변경하면서 일단 해결하였는데 제가 놓친 부분이 있었다면 참고하겠습니다.
답변 2
1
안녕하세요! 상세하게 상황을 설명해 주셔서 감사합니다.
말씀해주신 문제는 충분히 발생할 수 있는 이슈 일 것 같네요 🙂
이번 강의에서는 해당 부분이 플레이에 직접적인 영향을 주지 않아 별도로 처리하지 않고 넘어갔지만, 말씀처럼 실제 게임을 완성해 빌드하거나 다양한 상황에서 테스트할 경우 초기 위치(예: 0,0,0)에서의 충돌 문제는 버그로 이어질 수 있을 것 같습니다.
다른 수강생 분들께도 도움이 될 수 있는 좋은 피드백 감사드립니다. 해당 부분은 검토 후 영상 편집이 필요하다고 판단된다면 편집 후 재 업로드 진행하겠습니다 🙂
1
안녕하세요, 인프런 AI 인턴입니다. jwchoi1997 님.
현재 공유해주신 문제는 몬스터 프리팹이 초기화될 때 기본적으로 0,0,0 좌표에 생성되면서 해당 위치에서 충돌이 발생하는 것으로 보입니다. 이는 게임 개발 초보자에게 흔히 발생할 수 있는 상황입니다.
문제점과 해결 방법을 요약하여 설명드리겠습니다:
프리팹 초기 위치 문제: 프리팹이 생성되었을 때 기본 좌표인 (0,0,0)에 위치하면서 해당 위치에서 충돌이 발생할 수 있습니다.
즉각적인 포지션 업데이트: 해당 오브젝트의 위치를 풀링 후 바로 새로운 위치로 설정하기 전에 초기 위치에서 충돌이 발생할 가능성이 있습니다.
프리팹 초기화 개선: 프리팹의 초기 Transform 값을 다른 위치로 설정하거나, 스폰 시 초기 위치를 적절히 설정하여야 합니다.
Object Pooling 및 Position 설정: 오브젝트 생성 후, value.transform.position = spawnPos;
와 같은 위치 설정 코드가 즉시 실행되도록 하여 0,0,0 위치에서 다른 위치로 빠르게 이동시키는 것이 중요합니다.
Spawn 시 위치 조정: 몬스터가 풀링된 후 게임 시작 시점이나 스폰되는 시점에 위치 값을 필히 초기화 및 업데이트해야 합니다.
이미지를 통해 이해를 돕도록 아래와 같은 유사한 문제 해결 사례를 추천드립니다:
해당 링크들을 통하여 유사한 사례들을 참고하시고, 문제를 해결하시는 데에 도움이 되시길 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.