[유니티기초] 2D비행기게임 만들기 09 - 적 우주선까지 출현시키기
본 내용은,
유니티강좌, 유니티2D 로 비행기 슈팅게임 만들기,
운석 생성속도, 생성갯수, 생성되는 그룹 시간 간격조절하기,
유니티에서 적기 출현시키기,
Unity 안드로이드 비행기 게임 제작하기,
와 관련이 있습니다.
오랫만에 유니티 강좌 입니다^^
이번시간도 마찬가지로, 저번 시간에 이어서 이번엔 새로운 오브젝트를 등록시켜서 나타나게 해 볼 텐데요,
운석말고 이번에는 적기 출현을 시켜보도록 해 볼까요??
그리고, 저번시간에 운석 나타나는 것까지 했는데,
이번에는 직접 유니티 상에서 발사되는 갯수, 시간조절, 한 패턴 당 간격조정 등을 해 보도록 하겠습니다.
우선 시간조정부터 만들어 보도록 할께요.
저번시간에, 이거 기억나시나요???
지금 저 스크립트는 운석에 연결되어 있는 운석생성 스크립트 인데요,
총 3개의 운석이 3초간격으로 생성이 되고, 이게 한 사이클인데,
한 사이클 다 완료되면, 다시 5초뒤에 새롭게 시작한다~ 라는 스크립트죠?
항상 고정적인 생성을 막기위해서, 이제 직접 변수를 만들어서
유니티 상에서 조정해 보도록 하지요^^
그럼 원리는 의외로 간단합니다. public을 주시면, 유니티 화면에서 보이잖아요?
여기에 각 숫자가 들어가는 부분에 변수를 적용시켜 주면 되는 것입니다.
groupNum 이라고 저는 변수이름을 지어줬구요, 이건 한 사이클당 생성되는 운석갯수를 조정해 주는 변수 입니다.
저 부분에 넣어주시면 되는 거구요.
eachSleep 변수는, 운석이 생성되는 시간입니다.
저 부분에 넣어주시면 되구요^^
groupSleep은, 한 사이클당 간격 시간 입니다.
저기에 넣어주시면 됩니다.
그리고, 새롭게 하나 더 추가한것이 있는데, 스타트 시간도 조절해주면 좋겠군요^^
이렇게 startSleep 이라고 변수를 만들고,
yield WaitForSeconds (대소문자 주의!!!) 라고 명령어를 주면, 스타팅 시간을 조절할 수 있습니다.
자, 이렇게 해서 Spawner 에 대한 운석생성 조절이 이제 유니티에서 가능하게 셋팅 되었습니다.
지금 저 숫자의 의미를 다시 해석해 보자면,
3초후에, 3개씩, 1초간격으로 생성이 되는데, 3개가 모두 생성이 되면 다시 3초후에 새롭게 시작이 된다!
라는 뜻입니다^^ 이해되시죠????
이렇게 운석이 생성이 되는거죠^^
이러한 Spawner 오브젝트를 추가로 2개 더 등록시켜 볼께요.
그대로 화면에 드래그 하시구요.
그러면 이렇게 추가로 등록이 된 것을 확인하실 수 있습니다.
2D 이므로, 평면상에 나란히 놓여져야 하므로, 초록색 부분이 Y니까, Y를 모두 0으로 놓으면 평평~ 하게 있겠죠?
자~! 하나는, 5초후, 2개의 운석이 2초간격으로 생성되고, 다 생성되면 다시 2초후 재시작!
다른 하나는, 2초후, 5개의 운석이 1초간격으로 생성되고, 다 생성되면 다시 3초후 재시작!
이렇게 생성이 되는 것입니다^^ 이해하셨지요??
이제, 적을 만들어 봅시다. 우주선 비행체로 만들어 볼까요?
우선 FBX 파일을 다운을 받으셔야 합니다. 어셋스토어에 무료로 된 우주선들이 많이 있습니다.
아무거나 받으시고, 이렇게 드래그해서 넣어주세요. 텍스트 파일도 같이 넣어주셔야 합니다.
비행체를 드래그해서 화면어 넣구요, 텍스쳐를 적용해야 겠지요.
이렇게 들어가 주시구요~!
위에는 텍스쳐맵, 밑에는 노멀맵을 넣습니다.
요렇게 드래그하면 되죠^^
그리고 이름은 F2를 누르면 변경 가능하고, 저는 EnemyShip 이라고 적어줬습니다.
새로운 스크립트를 하나 생성합니다. 이 스크립트는 저 적기를 이동시킬 스크립트로 쓸꺼에요.
스크립트는 이렇게 내용이 들어갑니다.
tansform.Translate 는 많이 했으니...이제 어떤건지 아실겁니다^^
그리고 스크립트를 우주선에 드래그해서 넣어주고요!
속도는 대략...한 5정도 넣어줘 볼까요????
이제 다 되었습니다. 늘상 하듯, 적기는 항상 나타나야 되는 오브젝트가 아니므로,
prefabs 안에 넣어주세요.
그리고 여기선 지워야죠^^
이제 적기를 출현시키기 위해서, 운석때 썼던 Spawner를 드래그해서 넣습니다.
아마 저기 화살표 가리키는 부분에 운석이 등록되어 있을겁니다.
여기를 방금 등록한 EnemyShip을 끌어다 넣어주세요.
이제, 이 비행기에 형체를 만들어줘야겠죠?
Component > Physics > Rigidbody 로 들어가서 형체등록을 해주시고요,
우선, 운석과 마찬가지로 HP가 필요하겠죠???
Add Component 를 클릭해서, 스크립트로 가서 HP 선택하면 됩니다^^
그러면, 이렇게 Rigidbody 와 HP스크립트가 생성이 되었습니다.
별도로 수정할 것은 없구요^^;
이제, 우주선 생성후 오브젝트에서 없어져야 하므로, (리소스 절약차원에서~ 아시죠?)
마찬가지로 만들어 두었던 LifeTime 스크립트를 등록시킵니다. 숫자는 5000정도 줬어요. 5초후 없어진다는 이야기죠.
그리고, 다시 Add Component 를 클릭하여, 아까 형체를 만들어 줬으니, 형체범위를 지정해줘야 합니다.
보통, 박스형태, 구 형태, 캡슐형태 등등 다양하게 있지만, 저는 동그라미로 했습니다.
그리고, 저 Radius 부분을 조정하여 범위를 넓히고 줄일수 있어요.
자, 이제 운석이 나오는 부분 셋팅을 이렇게 다시 해주고,
새롭게 만든, 적기 우주선이 출현하는 셋팅을 이렇게 해줬습니다.
1초뒤, 5개의 우주선이 2초간격으로 출현하고, 다 되면, 4초뒤 다시 시작한다! 라는 거 아시죠?
네^^ 아주 잘 되옵니다^^ 하하하~!
오늘은 이렇게해서, 새로운 FBX 등록해서 적용하는방법,
그리고 유니티 화면에서 조절하는 방법을 알아보았습니다.
배우는 족족 포스팅을 꾸준히 하고 있으니, 오른쪽 카테고리에서 유니티부분을 처음부터 정독하시면
누구라도 이정도까지는 만드실 수 있습니다^^