[유니티기초] 비행기게임 만들기 08 - 운석 날아오게 하기
본 내용은,
Unity3D 적기 출현시키기,
유니티 게임 비행시뮬레이션 제작,
유니티 2D 비행기 슈팅게임 만들기,
와 관련이 있습니다.
이번 포스팅은 저번에 이어서, 마찬가지로 비행기슈팅게임을 쭉~ 이어 하는데요,
이번에는 운석이 생성되면서 날아오는 것을 연출해 보도록 하겠습니다.
자, 이제 스크립트 생성하는 것은 지겹도록(?) 해 왔기 때문에, 아실거라고 판단을 하구요,
새로운 스크립트 하나 생성후, 이름은 저렇게 지정해 주었습니다.
그리고 새로운 스크립트를 운석에 넣어주세요.
그러면, 이렇게 운석에 새로운 스크립트가 적용이 됩니다.
새로운 스크립트는 운석이 날아오게 할 거에요.
그러므로, 이렇게 스크립트를 작성합니다.
스피드 수치 조절을 퍼블릭으로 놓고, Transform.Translate 명령을 줘서 이동하게 만들어 줘야지요.
이렇게 구성이 됩니다. 일반적인 좌표를 기준으로 말씀을 드리면 말이지요^^
지금 저는 비행기랑 운석이 Z축을 기준으로 일직선에 놓여있기 때문에, 포워드를 입력했으며,
Z 축 반대로 움직여야 비행기를 향해서 날아오기 때문에, 벡터3 앞에 마이너스를 넣었어요.
그러면, 이렇게 운석이 움직이게 되지요^^
이제 운석이 수시로 나오게 해 보도록 합시다.
화면상에서 삭제를 해야 하기에, prefabs 로 등록을 해 주고,
이제 오브젝트 항목에서 지워줍니다.
그리고, 운석이 생성되야 할 빈 오브젝트를 만들어 줍니다.
이름은 Spawner 라고 지어줬어요^^
여기 빈 오브젝트에 넣을 새로운 스크립트를 하나 더 생성합니다.
그리고, 스크립트를 빈 오브젝트에 끌어다 넣어주세요.
그러면, 이렇게 빈 오브젝트에 스크립트가 구성이 됩니다.
이 새로운 스크립트는, 운석이 일정 시간마다 새로 생성이 되면서,
정해놓은 방향으로 날아가게끔 만들기 위한 스크립트 입니다.
퍼블릭으로 EnemyOBJ 라고 변수이름을 정해주고,
이것을 게임오브젝트로 등록해 줍니다.
아까 빈 오브젝트인, Spawner 를 클릭해 주세요.
그리고 아까 등록한 운석을 저 부분에 드래그 해서 등록합니다.
그리고, 다시 스크립트를 수정해 주는데, 요전에 미사일과 비슷합니다.
Coroutine 명령어가 무한반복 이였죠???
그 밑에 for문을 이용하여, 구간반복이 되게끔 설정해주고,
괄호 안의 3.0 은 뭔 뜻이냐면, 3초간격으로 계속 생성이 된다는 것 입니다.
네^^ 이렇게 나오게 되지요.
너무 빨리 생성되게 하면, 운석들이 지들끼리 부딪혀서 엄한 곳으로 튕겨 나가더군요;;;
자, 이번엔 3개씩 5초간격으로 끊어서 생성되게 해봅시다.
저 빨간박스가 아까 했던 3개씩 생성,
녹색박스가, 이러한 패턴을 5초간격으로 무한반복 이라는 뜻이에요.
Spawner 가 행성생성 오브젝트 잖아요?
이것을 prefabs 로 등록시켜주고,
생성지점을 임의로 정해서 드래그 해주세요.
저는 한 3개 정도 만들었어요.
그러면 한번에 3초에 걸쳐, 총 9개가 나오겠지요^^
이렇게 되는 것입니다^^
하하하~! 그리고 방금 복사해 둔 각 생성오브젝트마다 속도와 생성시간을 달리 해서
만들어 줘도 나쁘지 않겠지요^^
자, 오늘은 요기까지 했습니다.
다음 시간에 더 추가적인 기능을 추가해 보도록 하겠습니다.