게임개발/Unity

24-08-30 개인 프로젝트 : Geometry Survivor 01

몰록 2024. 8. 30. 18:03

이전에 짧게 기획해본 Geometry Survivor 를 구현하기 위해 필요한 기능들을 먼저 정리해보자

 

1. 캐릭터 움직이기

2. 총알 발사/조준선 움직이기

3. 적 도형의 추적 로직과 랜덤 생성

4. 시간 기능 - 30초별 레벨

 

이렇게 기능들을 모아보고 구상을 해보니 이전 강의에서 배운 문장 만으로는 구현하기 힘들것 같았다. 그래서 유튜브에서 관련 강의들을 찾아보기 시작했다 .

 

https://youtube.com/playlist?list=PLO-mt5Iu5TeZF8xMHqtT_DhAPKmjF6i3x&si=73a3JOABJ3eizNl2 

 

유니티 기초 뱀서라이크🧟언데드서바이버

요즘 인기많은 장르인 뱀서라이크를 직접 유니티로 개발해보아요!

www.youtube.com

 

이런 강의들에서 필요한 기능들을 모아보는게 좋을것같다

 

먼저 캐릭터 이동을 구현해봤다

 

플레이어 캐릭터인 Circle을 프리팹화 해주고 안에 스크립트를 적어줬다.

Circle Script

유튜브 강의를 들으면서 새로 배운 개념들이 많이 있었다. 바로 rigidbody 를 통해서 캐릭터 움직임을 구현하는것.

우선 Rigidbody2D rb; 라고 선언을 해주고, Start 또는 Awake 함수에서 Rigidbody2D 컴포넌트 기능을 가져온다.

 

그리고 프레임당 업데이트에서 인풋을 받아주고 ( GetAxisRaw 를 통해 쉽게 받아줄수 있었다. 이건 Project Setting 의 Input Manager 를 이용하는 방식이다)

Rigidbody 관련해선 FixedUpdate를 써야한다길래거기에 어떻게 움직일지를 적어줬다.

 

//이건 구형 방식이라는데, 유니티의 최신 패키지를 이용해서 더 좋은 방법으로 구현할수 있다고 한다. 하지만 일단은 넘어갔다.

 

 

다음은 적이 캐릭터를 추적하는 로직을 만들었다 

 

Enemy Script

 

적들이 이동하는것도 rigidbody2d를 통해 움직이는데, 주목할점은 

이 부분이 플레이어의 방향을 통해서움직이는 방향을잡는로직이다. 100퍼센트 이해하지는 않았으나 방법론적으로 짚고 넘어가고 잘 작동하는것도 확인했으니 일단은 넘어가기로 했다.

 

이제 이 적들을 스폰하고 관리할 메니저를 구축할 예정이다.

 

오늘은 집중력 유지를 제대로 못해서 진도를 많이 못뺐지만 앞으로 이 강의를 들으면서 더 진행할 계획에 있다.