본문 바로가기

유니티 #unity #게임개발

(2)
[유니티] DontDestroyOnLoad 게임개발을 하다보면 분명 막히는 부분이 온다 (게임개발을 할때 특히 그랬던 것 같다.) 오류는 언제 발생했느냐, 체력이 닳아 0이되고 재시작을 할때였다. 재시작을 하니 잘 나가던 총알이 생성이 되지않는것. 분명 내가 알기로 씬을 불러오면 항상 완벽하게 똑같이 씬 초기상태로 시작되어야하는데 내 예상과 조금 달랐다.(이유는 모름) 그래서 bulletpool을 수정해보기도 하고 여러방법을 실행했지만 끝내 성공하지 못하였다. 그러다가 어느정도 방법을 찾았다. 바로 그것은 "DontDestroyOnLoad" 라는 함수. 이 함수는 새 장면이 로드될때 GameObject가 파괴되는 것을 방지한다. 여기서 새로 알게되었는데 새 장면을 로드하면 이전 장면의 모든 Gameobject가 삭제된다. 하지만, 특정 GameO..
[유니티] 부모,자식의 위치가 중요한 이유. 며칠동안 고민한 끝에 드디어 어느정도 이유를 알아차렸다. 현재 제작중인 게임이다. 목표)GameOverWindow 라는 게임종료창을 피가 0이하일경우 뜨도록했고, 아닐경우 숨기도록 하기. 하지만 게임종료창이 아예 안사라지는 경우도있었고, 사라졌어도 재시작을 눌러 게임을 불러올경우 다시 게임종료창이 숨겨지지 않는 경우도 있었다. 게임제작을 하다보면 사소한 것 하나하나가 버그로 이어질 수 있기 때문에 많이 원인을 찾았다.(내가 초보자이기 때문에 찾는데 오래걸린것도 맞다. 우성 결론부터 말하자면, GameOverWindow 창을 체력바의 스크립트가 있는 오브젝트아래에 추가하니 버그가 말끔히 해결되었다. DogPolyart 에 있는 체력관련 스크립트와 GameOverWindow 가 서로 연결이 안돼서 오류가 발..