3D이기 때문에 카메라를 정중앙 위로 고정시키고 그림자를 조절할 것이다.

 

 

 

R&D:

바구니 이동

아이템 생성

아이템 이동

충돌 판정

점수를 UI에 표시

---------------------------------

화면을 클릭해서 위치 알아내기

화면 클릭 : 스크린 좌표 -> 월드 좌표

아이템 생성 : 사과 , 폭탄 (ItemGenerator)

아이템 아래로 이동

바구니랑 아이템 충돌체크 (태그)

- 둘중 하나에 리지드바디, 둘다 콜라이더

- collision mode : OnCollisionEnter

- trigger mode : OnTriggerEnter

사과 먹으면 득점, 폭탄 먹으면 감점 UI표시

- 속성 : 점수

- XXXGameDirector


 

우선 월드좌표를 알아야 하는데 클릭을 해서 각각의 좌표를 알 수 있다.

클릭해서 Ray가 지면에 닿을 수 있을정도로 길이를 조절해야 한다.

 

여기서 제일 많은 실수가 일어나는 것

"왜 레이가 충돌이 안나죠?"

 

그 이유 :

 

1. 레이가 짧아서

2. 콜라이더가 없어서

 

그 후 반올림을 해서 클릭을 했을 시 저 좌표로 바구니를 이동하게 해준다.

우리는 빛의 강도를 조절할 수 있다.

Edit -> Project settings

 

또한 그림자의 길이도 조절할 수 있다

 

 

그리고 나서 ItemController.cs에 사과와 폭탄을 둘다 assign한 후 떨어지게 코딩

 

그 후 각각의 콜라이더를 조절하여 충돌범위를 잡아주는데

 

맨 아래에 깔린 stage의 콜라이드가 높을 경우 바구니에 들어가는 인식이 안되고 충돌만 날 수 있으니 주의!

 

충돌 범위를 잡고 나면 Generator 코드를 정해진 랜덤한 위치에서 사과와 폭탄이 떨어지게 설정해주고

 

GameDirector 스크립트에 점수 추가와 감점을 넣어준 후 바스켓 컨트롤러와 연결해주면 된다.

 

이 때 사용할 것 중에 "Tag"라는 것이 있다.

 

태그를 만들면 끝나는 것이 아닌

이렇게 할당해 주어야 한다.

 

바스켓 컴포넌트에 Audio Source 컴포넌트를 추가하여

각각 사과, 폭탄을 받을 때 다른 소리가 나오도록 할당하여 주었고,

마지막으로 -300 점일시 Retry 화면을 나오게 만들었으며

버튼을 누를 시 다시 게임을 시작하도록 추가하였다.

 

 

 

보완할 점 : 바구니 종류를 선택하는 창을 만들고 각 바구니별 옵션을 다르게 설정

                   + Dontdestroyonload를 사용하여 AppleCatch 오브젝트를 사라지지 않게 하여 재사용하기.

'산대특 > 게임 알고리즘' 카테고리의 다른 글

GameObject.onClick.AddListener()  (0) 2024.02.06
동기와 비동기  (1) 2024.02.05
직렬화와 역직렬화  (0) 2024.02.05
디자인 패턴과 싱글톤 패턴  (0) 2024.02.05
Process 와 Thread 그리고 Thread 와 Coroutine  (1) 2024.02.04

+ Recent posts