2023. 9. 11. 21:23ㆍ내일배움캠프 Unity
오늘 학습한 것
- 게임개발 입문 개인과제 : 스파르타 서바이벌(뱀서라이크) + 언데드 서바이벌(GoldMetal)
1. 언데드 서바이벌
2. 스파르타 서바이벌
2-1. HUD 구현
1-1. 소환 레벨 적용하기
1-2. 회전하는 근접무기 구현
1-3. 자동 원거리 공격 구현
1-1. 소환 레벨 적용하기
게임 진행 시간에 따라 레벨이 올라가도록 하였으며 레벨에 따라 spqnData[] 배열에 들어있는
Enemy가 소환되도록 구현하였다.
1-2. 회전하는 근접무기 구현
BulletController : 무기 자체의 속성을 가지는 스크립트
WeaponController : 무기를 사용하는 스크립트(발사 or 휘두르기 등)
WeaponController.Batch() : 레벨 업 후 늘어난 Bullet 개수(count)때문에 기존 스크립트로는 무기가 균등하게
나눠지지 않음. 때문에 레벨업 하면 Batch()를 다시 실행해 각 무기의 위치를 다시 배치함
1-3. 자동 원거리 공격 구현
Physic2D.CircleCastAll(중심이 되는 위치, 원형으로 스캔할 범위, 방향, 거리, 타겟레이어)
위 코드를 작성해 원형 범위로 ray를 쏘아 맞은 것들을 targets에 모아두고 foreach문을 사용해 그 중 가장 가까운
target을 구한다.
WeaponController의 Fire()를 사용해 가장 가까운 적의 방향을 가져와 오브젝트 풀링을 이용해 bullet을 생성한다.
여기서 FromToRotation(x, y)은 x를 y 방향으로 회전시키는 함수이다. 여기에선 머리가(총탄) 적 방향을 보도록 했다.
2-1. HUD 구현
지금까지 공부한 내용을 바탕으로 PlayerInput을 구현하고 Slider를 이용한 상단 경험치 바, 좌상단의 레벨, 상단의
게임시간, 우상단의 점수와 옵션버튼과 캐릭터를 따라다니는 HP바를 열거형으로 작성하였다.
UI 배치를 하는 동안 RectTransform의 피벗을 활용했다. (shift : 기준점 변경 / alt : 스트레치 기능)
!최종 결과물!
'내일배움캠프 Unity' 카테고리의 다른 글
[내일배움캠프 TIL] 23. 스크립터블 오브젝트 (0) | 2023.09.15 |
---|---|
[내일배움캠프 TIL] 22. 코루틴(coroutine) 개념 익히기 (0) | 2023.09.13 |
내일배움캠프 (Unity_8기) TIL 20일차 (0) | 2023.09.08 |
내일배움캠프 (Unity_8기) TIL 18일차 (0) | 2023.09.05 |
내일배움캠프 (Unity_8기) TIL 17일차 (0) | 2023.09.04 |