# 탄알 제작
# 탄알 오브젝트 생성
탄알 게임 오브젝트를 만들고 필요한 컴포넌트를 추가할 거다. 탄알은 생성되고 난 후 앞쪽 방향으로 일정 속도로 날아간다. 또한 플레이어와 충돌하게 되면 플레이어를 파괴한다. 탄알은 Sphere을 이용해 만들 것이다.
위와 같이 빨간색 material을 생성하여 구에 입혀준 뒤 구의 설정의 위와 같이 해준다. 그리고 탄알이 속도를 가지도록 rigidbody 컴포넌트를 추가해준다. 그리고 탄알의 인스펙터 창에서 Is Trigger를 체크해준다. 실시간으로 탄알을 복제하기 위해 prefab을 만들어준다. prefab을 만드는 방법은 하이어 라키 창에 있는 탄알을 프로젝트 창으로 드래그&드롭하면 된다.
# 탄알 스크립트 작성
탄알의 코드는 올리지 않습니다. 궁금하다면 비댓을 남기면 도움을 주겠습니다. 스크립트에는 탄알의 속도를 설정해주고, 3초가 지나면 탄알이 사라지며, player가 탄알에 맞았을 경우 사라지도록 설정해줍니다.
위와 같이 탄알 게임 오브젝트에 Overrides를 클릭한 뒤 Apply All을 클릭하여 모든 프리팹에 적용시켜준다. 그런 다음 탄알 게임 오브젝트에 스크립트를 넣어준 뒤 탄알의 게임 오브젝트를 삭제해준다.
# 탄알 생성기 만들기
탄알 생성기 게임 오브젝트는 랜덤시간 간격으로 탄알을 생성하고 플레이어를 향해 발사한다. 이 탄알 생성기는 맵의 네 방향에 배치해준다. 탄알 생성기는 원기둥 게임 오브젝트를 활용해 준다. 아래와 같이 빨간색 원기둥을 만들고, 프리팹으로 만들어 두었던 bullet을 랜덤 시간 내에 생성하여 탄알이 날아갈 수 있게 스크립트를 작성하여 넣어주면 된다.
# 지금까지 만든거 실행결과
지금까지 만들어 본 것을 실행해보면 탄알까지 구현이 완료되었다. 탄알 생성기가 4개이다 보니 탄알을 피하는 것이 쉽지 않다. 아래 사진은 Player가 탄알을 피하지 못하고 맞게 되면 사라진 모습이다.
#프리팹
프리팹은 언제든지 재사용할 수 있는 미리 만들어진 게임 오브젝트 에셋(파일)이다. 비슷한 게임 오브젝트를 여러 개 만들 때 매번 다시 설정하는 번거로움을 줄이기 위해 프리팹을 사용한다. 게임 오브젝트를 프리팹으로 만들면 나중에 해당 게임 오브젝트와 똑같은 게임 오브젝트를 프리팹에서 복제 생성할 수 있다. 프리팹은 파일로 저장되기 때문에 현재 씬뿐만 아니라 다른 씬에서도 사용할 수 있다.
#OnTrigger 계열 메서드
OnTrigger 계열 메서드는 자신이 트리거 콜라이더가 아니어도 실행된다. 충돌한 두 콜라이더 중 하나 이상이 트리거 콜라이더일 때 양쪽 모두에서 OnTrigger 계열의 메서드가 실행된다. 따라서 자신의 콜라이더가 일반 콜라이더라고 해도 충돌한 상대방 게임 오브젝트의 콜라이더가 트리거 콜라이더이면 자신과 상대방 모두 OnTrigger 계열의 충돌 이벤트 메서드가 실행된다.