친절한효자손 취미생활

[유니티 기초] 2D 슈팅게임 02 - 미사일 발사후 소행성(운석)과 부딫히기


본 내용은,

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

Unity 3D로 비행기게임 만들기,

유니티 스마트폰 게임 만들기,

와 연관성이 있습니다.




자, 지난시간까지 잘 되시나요???

어렵지 않죠?^^ 쉽습니다. 쉽고요~!


이번 시간에는 쭈욱~ 이어서, 미사일 발사 후, 운석과 부딫히기를 해볼께요.





지난시간까지는 미사일 발사성공까진 했는데,

문제는, 저렇게 쏘고나서 남은 미사일들이 사라지지 않고, 오브젝트로 평생 남게 되는데,

이러면 시스템의 리소스를 잡아먹고 버그를 출몰시키는 원인 중 하나로 남게 됩니다.


그래서, 이번엔, 미사일을 쏘고나서 없애주도록 하는 것을 배우고,

또한 운석을 하나 생성해서 부딫히면 없어지게끔 설정을 해 보도록 할께요.





일단, 스크립트를 하나 만듭니다.

스크립트 폴더안에, 빈 스크립트 파일을 생성후, 이름을 LifeTime 이라고 지었습니다.





기본적인 빈 스크립트에다가,

public var lifeTime = 1000; 이라고 써주고요~!

나중에 추가적으로 또 명령어가 들어갈거에요.





지난시간에 만들어 둔 미사일을 클릭합니다.





그럼, 오른쪽에 이렇게 미사일 오브젝트에 대한 속성들이 표시가 되는데,

맨 밑에 저 빨간박스 부분을 클릭합니다.





기존 방법은, 스크립트를 그대로 오브젝트에 끌어다 놓는 방법을 알려드렸으나,

이번에는 직접 추가를 하는 방법을 알려드릴께요.


클릭해서, 스크립트 클릭!





방금 만들어둔 스크립트를 지정해 주면 끝 입니다^^





자, 저 밑 부분의 스크립트를 잘 보시고,

저렇게 그대로 입력해 주세요.


말 그대로, lifeTime 이라는 변수를 만들고,

이 변수가 점점 시간이 줄어들면서 0 에 도달하게 되면,

미사일이 Destroy 즉! 파괴가 되서 없어지는 스크립트 입니다.


1000은 시간이고, delteTime 에 1000을 곱하여, 스타트 타임을 1000을 주면

정확히 1초후 사라지게 되지요.



0


이렇게 자동으로 사라지게 되며,

또한 시간을 조절하여 사라지는 시간 조정이 가능합니다.





이번엔 운석을 만들어 볼께요.

운석FBX 폴더를 만들고, 에셋스토어에서 받아둔 텍스쳐들을 그대로 넣어주세요.





음~! 이 운석이 좋아 보이는군요~!

그대로 빈공간에 끌어다 놓아주세요.





행성들 텍스쳐 입힐때, 방법 아시죠???

그 방법 그대로 사용해 주시구요~!

운석 크기를 우주선보다 좀 더 키워놔야 겠군요. ㅎㅎㅎ





운석 이름을 저렇게 바꿨습니다.





또한, 지난시간에 배웠던 미사일에 실체를 주는 방법 기억하시죠?

운석도 마찬가지로, 이렇게 들어가주셔서 지정해 줍니다.





운석은 동그랗게 충돌범위를 지정해 주는 것이 좋겠군요.

저 빨간 박스를 선택해 주시면,





이렇게 구 형태의 초록 영역이 설정이 됩니다.

그리고 중요한것은, Use Gravity 가 체크가 되어 있으면, 운석이 아래로 뚝~ 떨어지니까, 체크를 해제해 줍니다.




또한, 운석을 선택후에, 여러가지 조절도 가능한데,

아래를 보시면 좀 더 이해가 쉬우실 거에요.




0


이렇게 충돌범위를 세밀하게 조절을 할 수 있습니다.




이제 다되었습니다^^

플레이 모드에서 미사일을 발사해서 운석에 부딫혀 보도록 하지요~!




0



짜잔~! 이렇게 되는 것입니다^^

여기까지 따라하시느라 수고하셨어요!



유니티 어떠신가요? 나름 재밌죠? ㅎㅎㅎ

이제 다음시간에는, 미사일 발사 하고나서, 부딫힐때 화염이 방출되는 파티클 효과를 주는 시간을 가져 보도록 하겠습니다.

열심히 열공하여, 후회없는 시간을 보내도록 하자구요!



공유하기

facebook twitter kakaoTalk kakaostory naver band