친절한효자손 취미생활

[유니티기초] 2D비행기게임 만들기 09 - 적 우주선까지 출현시키기


본 내용은,

유니티강좌, 유니티2D 로 비행기 슈팅게임 만들기,

운석 생성속도, 생성갯수, 생성되는 그룹 시간 간격조절하기,

유니티에서 적기 출현시키기,

Unity 안드로이드 비행기 게임 제작하기,

와 관련이 있습니다.




오랫만에 유니티 강좌 입니다^^

이번시간도 마찬가지로, 저번 시간에 이어서 이번엔 새로운 오브젝트를 등록시켜서 나타나게 해 볼 텐데요,

운석말고 이번에는 적기 출현을 시켜보도록 해 볼까요??


그리고, 저번시간에 운석 나타나는 것까지 했는데,

이번에는 직접 유니티 상에서 발사되는 갯수, 시간조절, 한 패턴 당 간격조정 등을 해 보도록 하겠습니다.





우선 시간조정부터 만들어 보도록 할께요.

저번시간에, 이거 기억나시나요???


지금 저 스크립트는 운석에 연결되어 있는 운석생성 스크립트 인데요,

총 3개의 운석이 3초간격으로 생성이 되고, 이게 한 사이클인데,

한 사이클 다 완료되면, 다시 5초뒤에 새롭게 시작한다~ 라는 스크립트죠?


항상 고정적인 생성을 막기위해서, 이제 직접 변수를 만들어서

유니티 상에서 조정해 보도록 하지요^^





그럼 원리는 의외로 간단합니다. public을 주시면, 유니티 화면에서 보이잖아요?

여기에 각 숫자가 들어가는 부분에 변수를 적용시켜 주면 되는 것입니다.


groupNum 이라고 저는 변수이름을 지어줬구요, 이건 한 사이클당 생성되는 운석갯수를 조정해 주는 변수 입니다.

저 부분에 넣어주시면 되는 거구요.





eachSleep 변수는, 운석이 생성되는 시간입니다.

저 부분에 넣어주시면 되구요^^





groupSleep은, 한 사이클당 간격 시간 입니다.

저기에 넣어주시면 됩니다.





그리고, 새롭게 하나 더 추가한것이 있는데, 스타트 시간도 조절해주면 좋겠군요^^

이렇게 startSleep 이라고 변수를 만들고,

yield WaitForSeconds (대소문자 주의!!!) 라고 명령어를 주면, 스타팅 시간을 조절할 수 있습니다.





자, 이렇게 해서 Spawner 에 대한 운석생성 조절이 이제 유니티에서 가능하게 셋팅 되었습니다.

지금 저 숫자의 의미를 다시 해석해 보자면,


3초후에, 3개씩, 1초간격으로 생성이 되는데, 3개가 모두 생성이 되면 다시 3초후에 새롭게 시작이 된다!

라는 뜻입니다^^ 이해되시죠????



0


이렇게 운석이 생성이 되는거죠^^





이러한 Spawner 오브젝트를 추가로 2개 더 등록시켜 볼께요.

그대로 화면에 드래그 하시구요.





그러면 이렇게 추가로 등록이 된 것을 확인하실 수 있습니다.





2D 이므로, 평면상에 나란히 놓여져야 하므로, 초록색 부분이 Y니까, Y를 모두 0으로 놓으면 평평~ 하게 있겠죠?





자~! 하나는, 5초후, 2개의 운석이 2초간격으로 생성되고, 다 생성되면 다시 2초후 재시작!





다른 하나는, 2초후, 5개의 운석이 1초간격으로 생성되고, 다 생성되면 다시 3초후 재시작!




0



이렇게 생성이 되는 것입니다^^ 이해하셨지요??





이제, 적을 만들어 봅시다. 우주선 비행체로 만들어 볼까요?

우선 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초뒤 다시 시작한다! 라는 거 아시죠?



0


네^^ 아주 잘 되옵니다^^ 하하하~!



오늘은 이렇게해서, 새로운 FBX 등록해서 적용하는방법,

그리고 유니티 화면에서 조절하는 방법을 알아보았습니다.


배우는 족족 포스팅을 꾸준히 하고 있으니, 오른쪽 카테고리에서 유니티부분을 처음부터 정독하시면

누구라도 이정도까지는 만드실 수 있습니다^^



공유하기

facebook twitter kakaoTalk kakaostory naver band